develooper Front page | perl.perl6.internals | Postings from June 2002

multidimensional array

Thread Next
Josef Höök
June 27, 2002 08:47
multidimensional array
Message ID:
I've been thinking abit on howto implement multidimensional arrays and          
i found that its quite tricky :). I'm currently thinking of having              
a structure that contains a data pointer and its location in every              
dimension something like this:                                                                
typedef struct CELL {
  int dim[100];
  int *data;
} cell;

cell *a = (cell *)malloc((unsigned) (2)*sizeof(cell *));

// A cell with location in a 3 dim space a(2;4;6)
 a->dim[0] = 2;
 a->dim[1] = 4;
 a->dim[2] = 6;
 a->data = data1; 
This way it dosent matter how the structure is in the memory 
we could actually do some coloring "similar to linux kernels page
coloring" to optimise memory alignement. One major things is
howto access the data..Heh
I've been thinking of having a key to find the correct element in memory.

     addr_of_cell = baseaddr_of_malloced_data * (some wonderfull magic)

I dont know if its doable but at a glanse i think it could work.
We could maybe even change "( some wonderfull magic )" part in runtime 
to rearange the data.

Maybe im really wrong in my thinking if so maybe this mail leads to better


Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About