49 if (BaseOne) shape.setfirst(
TIndexVec(1));
58 AFF_assert((shape.stride(i-1)<=shape.stride(i)),
59 "ERROR (FortranShape): no Fortran layout!");
65 "ERROR (FortranShape): No native Fortran array layout!");
71 Tsize mult=shape.stride(i)/shape.stride(i-1);
72 AFF_assert((shape.stride(i)==(mult*shape.stride(i-1))),
73 "ERROR (FortranShape): Stride is no integer multiple!");
85 "ERROR (FortranShape): illegal index range in shape!");
Tsubscript Moffset
offset of first element in representation
TIndexVec Mfirst
first index
TIndexVec Mdimlast
last index as dimensioned in memory
Tshape::TIndexVec TIndexVec
Vector of index values.
static const Tdim Mmax_dimen
instantiate static member (otherwise the linker won't find it)
#define AFF_assert(C, M)
Check an assertion and report by throwing an exception.
TIndexVec Mlast
last index
unsigned short int Tdim
Type to hold an array dimensionality.
aff::Strided Tshape
This is coded for Strided shapes.
size_t Tsize
Type to hold the size of an array dimension.