ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Tree-M/PMT.cpp
(Generate patch)

Comparing Tree-M/PMT.cpp (file contents):
Revision 1.2 by root, Sun May 6 01:35:15 2001 UTC vs.
Revision 1.3 by root, Sun May 6 17:28:24 2001 UTC

32 } 32 }
33 33
34 return dist; 34 return dist;
35} 35}
36 36
37
38Object::Object(double *pkey)
39{
40 k = pkey;
41
42 // discretize the vector
43 for (int i = NDIMS; i--; )
44 k[i] = int2double (double2int (k[i]));
45}
46
37Object::Object(char *key) 47Object::Object(char *key)
38{ 48{
39 unsigned char *c = (unsigned char *)key; 49 unsigned char *c = (unsigned char *)key;
40 50
41 k = new double [NDIMS]; 51 k = new double [NDIMS];
53 break; 63 break;
54 default: 64 default:
55 abort (); 65 abort ();
56 } 66 }
57 67
58 k[i] = ((double)elem) * ACC->max / ACC->steps + ACC->min; 68 k[i] = int2double(elem);
59 } 69 }
60} 70}
61 71
62void Object::Compress(char *key) 72void Object::Compress(char *key)
63{ 73{
64 unsigned char *c = (unsigned char *)key; 74 unsigned char *c = (unsigned char *)key;
65 75
66 for (int i = 0; i < NDIMS; i++) 76 for (int i = 0; i < NDIMS; i++)
67 { 77 {
68 unsigned long elem = (unsigned long)floor ((k[i] - ACC->min) * ACC->steps / ACC->max); 78 unsigned long elem = double2int (k[i]);
69 79
70 switch (ACC->elemsize) 80 switch (ACC->elemsize)
71 { 81 {
72 case 4: *c++ = (elem >> 24) & 0xff; 82 case 4: *c++ = (elem >> 24) & 0xff;
73 case 3: *c++ = (elem >> 16) & 0xff; 83 case 3: *c++ = (elem >> 16) & 0xff;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines