… | |
… | |
10 | inline int sizeofObject() { return ACC->ndims * ACC->elemsize; } |
10 | inline int sizeofObject() { return ACC->ndims * ACC->elemsize; } |
11 | |
11 | |
12 | class Object : public GiSTobject // the DB object class |
12 | class Object : public GiSTobject // the DB object class |
13 | { |
13 | { |
14 | double *k; |
14 | double *k; |
|
|
15 | |
|
|
16 | static double int2double(unsigned long i) { |
|
|
17 | return i * ACC->max / ACC->steps + ACC->min; |
|
|
18 | } |
|
|
19 | static unsigned long double2int(double d) { |
|
|
20 | return (unsigned long)floor ((d - ACC->min) * ACC->steps / ACC->max); |
|
|
21 | } |
|
|
22 | |
15 | public: |
23 | public: |
16 | Object() { |
24 | Object() { |
17 | k = new double [NDIMS]; |
25 | k = new double [NDIMS]; |
18 | for (int i = NDIMS; i--; ) |
26 | for (int i = NDIMS; i--; ) |
19 | k[i] = 0.; |
27 | k[i] = 0.; |
20 | } |
28 | } |
21 | |
29 | |
22 | Object(double *pkey) |
30 | Object(double *pkey); |
23 | { |
|
|
24 | k = pkey; |
|
|
25 | } |
|
|
26 | |
31 | |
27 | Object(const Object& obj) { |
32 | Object(const Object& obj) { |
28 | k = new double [NDIMS]; |
33 | k = new double [NDIMS]; |
29 | memcpy (k, obj.k, NDIMS * sizeof (double)); |
34 | memcpy (k, obj.k, NDIMS * sizeof (double)); |
30 | } |
35 | } |