| parrotcode multiarray PMC | |
| Docs | FAQ | Download | Examples | Talks | Resources | Perl 6 | Languages | Who's Who | Donors | Cage Cleaners | Wiki | |
src/pmc/multiarray.pmc - Multi-dimensional Array
MultiArray extends Array to provide a multi-dimensional array.
This is one way for calculating offsets in 2 dimensional space.
MULTIDIM CALC OFFSET
Algorithm:
i + j*Ni + k*Ni*Nj + l*Ni*Nj*Nk ...
where i, j, k, l... are coordinates in a multidimensional space and Ni, Nj, Nk... are the lengths of the dimensions.
Limitations: the array can only expand in the last dimension The first (n-1) dimensions of a n-dimensional array are fixed and layed out at array creation.
static INTVAL calc_offset(PARROT_INTERP, List *list, PMC *key)Calculates the offset for *key.
void init()Overrides the default in Array. There is no initialization.
INTVAL get_integer_keyed(PMC *key)Returns the integer value for *key.
FLOATVAL get_number_keyed(PMC *key)Returns the floating-point number value for *key.
STRING *get_string_keyed(PMC *key)Returns the Parrot string value for *key.
PMC *get_pmc_keyed(PMC *key)Returns the PMC value for *key.
void set_integer_keyed(PMC *key, INTVAL value)Sets the integer value value at *key.
void set_number_keyed(PMC *key, FLOATVAL value)Sets the floating-point number value value at *key.
void set_string_keyed(PMC *key, STRING *value)Sets the Parrot string value value at *key.
void set_pmc_keyed(PMC *dest_key, PMC *src)Unimplemented.
Initial revision by Josef Hook <joh@stacken.kth.se>
1.6 Based on list.c by Leopold Toetsch <lt@toetsch.at>
|
Perl.org sites
: bugs
| dev
| history
| jobs
| learn
| lists
| use
Site Information and Contacts |
|