34 #define AFF_FORTRANSHAPE_CC_VERSION \ 35 "AFF_FORTRANSHAPE_CC V1.0 " 59 "ERROR (FortranShape): no Fortran layout!");
65 "ERROR (FortranShape): No native Fortran array layout!");
73 "ERROR (FortranShape): Stride is no integer multiple!");
85 "ERROR (FortranShape): illegal index range in shape!");
Tsubscript Moffset
offset of first element in representation
Root namespace of library.
Shape for a rectangular array layout.
TIndexVec Mfirst
first index
TIndexVec Mdimlast
last index as dimensioned in memory
Strided & setfirst(const Tdim &i, const Tsubscript &index)
setfirst
Tshape::TIndexVec TIndexVec
Vector of index values.
const Tsubscript & first(const Tsubscript &i) const
first index of dimension
const Tsize & stride(const Tsubscript &i) const
stride of dimension
exceptions and error handling macros (prototypes)
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
Tsubscript first_offset() const
first mapped position
unsigned short int Tdim
Type to hold an array dimensionality.
FortranShape(const Tshape &shape, const bool &BaseOne=true)
construct from shape
const Tsubscript & last(const Tsubscript &i) const
last index of dimension
size_t Tsize
Type to hold the size of an array dimension.
prepare information to pass to Fortran subroutines (prototypes)