next up previous contents
Next: Support for loops over Up: Other features of the Previous: Support for block cyclic   Contents

Support for ghost extensions and other memory layouts

Adlib supports ghost extensions on suitable ranges. However the local subscript field computed by block() or location() does not incorporate the associated shifts in base address. Also Adlib supports a packed layout for arrays with strided alignment, but again the local subscript field is not divided by the packing factor. Instead local subscripts or Location objects must be converted by methods called disp(), offset() to allow for these layout options. Steps in local subscripts must be converted by a step() method. The need for the extra calls is slightly unfortunate, but the advantages of having a universal definition of the local subscript that is independent of these details of the memory layout seem to warrant them.

Bryan Carpenter 2002-07-12