ckarrayindex: Return combined count only for dense (upto 3D) arrays
authorRamprasad Venkataraman <ramv@illinois.edu>
Wed, 1 Jun 2011 17:58:30 +0000 (12:58 -0500)
committerRamprasad Venkataraman <ramv@illinois.edu>
Wed, 8 Jun 2011 15:37:40 +0000 (10:37 -0500)
Code for the creation of dense multi-dimensional chare arrays uses an array
index object to store the dimensions of the array.

The index object sports a funny method introduced to support such use. Ensure
that it returns a count on the number of array elements only for arrays upto 3D
(which are created dense by default).

src/ck-core/charm++.h

index c1f7d3f235879231e4e1afa8ddb0c0504fc8ebe1..294580fb1db3bfee52623a8e76b7f9153c7d1acb 100644 (file)
@@ -237,9 +237,9 @@ public:
        const int *data(void) const {return index; }
 
         int getCombinedCount(void) const {
-          if (nInts == 1) return data()[0];
-          else if (nInts == 2) return data()[0] * data()[1];
-          else if (nInts == 3) return data()[0] * data()[1] * data()[2];
+          if (dimension == 1) return data()[0];
+          else if (dimension == 2) return data()[0] * data()[1];
+          else if (dimension == 3) return data()[0] * data()[1] * data()[2];
           else return 0;
         }