Boost logo

Boost :

From: Larry Evans (jcampbell3_at_[hidden])
Date: 2002-01-04 20:22:52

Larry Evans wrote:



> Could someone compare this method for accessing subarrays with the one in:
> _An APL Compiler_
> Timothy Budd
> Springer-Verlag(1988)
> Budd did a lot of analysis of the speed and memory requirements and
> his methods included very simple ways to do transposes and slices and
> rotations and other transforms. Using some of his ideas might improve
> multi_array and enable it to be better optimized by some compilers.

A brief look at the multi_array_impl_base::access_element suggests that
the multi_array "strides" are Budd's "expansion vector" (BTW, I
think "strides" is better). The "Changing An Array's Shape" topic in
doc/index.html corresponds to the general transpose in Budd's book.
I think Budd did this by simply permuting the strides. He did this with something
like an index vector into the stride array. This index vector was simply a
permutation of 0...nDim-1. The normal transpose just reverses the strides.
I think this would be a useful and easy to implement addition to multi_array.

Boost list run by bdawes at, gregod at, cpdaniel at, john at