|
| MArray () |
| Construct an array without allocating memory. More...
|
|
| MArray (const MArray< T, N > &other) |
| Copy constructor. Only makes a reference !!! More...
|
|
template<int N2, typename R1 , typename R2 , typename R3 , typename R4 , typename R5 , typename R6 , typename R7 > |
| MArray (const MArray< T, N2 > &other, R1 r1, R2 r2, R3 r3, R4 r4, R5 r5, R6 r6, R7 r7) |
| Constructor for mixed slicing (int, rank reducing) and Range arguments. More...
|
|
| MArray (const Shape< N > *s, const bool map=false, const char *filename=NULL) |
| Construct from shape. More...
|
|
template<typename Expr > |
| MArray (const ExprNode< Expr, N > &e, const bool map=false, const char *filename=NULL) |
| Construct from an array-valued expression. More...
|
|
| ~MArray () |
| Decrement reference count of memory block. If 0 delete. More...
|
|
void | free () |
| Free associated memory. More...
|
|
bool | empty () const |
| true if MArray currenltly has have no memory allocated. More...
|
|
template<typename Expr > |
MArray< T, N > & | operator= (const ExprNode< Expr, N > &e) |
| Assignment of an expression to a MArray . More...
|
|
ListInitializationSwitch
< MArray< T, N > > | operator= (T x) |
| Assigns x to all elements. More...
|
|
MArray< T, 1 > | operator() (const IndexList< N > &l) const |
| Index with ltl::IndexList (rhs version). More...
|
|
IndexRef< T, N > | operator[] (const IndexList< N > &l) |
| Index with ltl::IndexList (lhs version). More...
|
|
void | makeReference (const MArray< T, N > &other) |
| Make this being a referece to other's data. More...
|
|
template<int N2> |
void | makeReferenceWithDims (const MArray< T, N2 > &other, const int *dims) |
| Make a reference as a different-dimensional view of another MArray's data. More...
|
|
void | realloc (const Shape< N > &s, const bool map=false, const char *filename=NULL) |
| Reallocate memory. Data are abolished. More...
|
|
T * | data () const |
| Pointer to first data element. More...
|
|
IndexIterator | indexBegin () const |
| An iterator-style thing providing indices when dereferenced. More...
|
|
MemoryBlock< T > * | memoryBlock () const |
| Return pointer to associated MemoryBlock . More...
|
|
bool | isAllocated () const |
| Return true, if MArray has associated MemoryBlock. More...
|
|
void | describeSelf () const |
| Debug output. Print geometry information. More...
|
|
MArray< T, N > & | derived () |
|
const MArray< T, N > & | derived () const |
|
|
| MArray (const Range &r1, const bool map=false) |
|
| MArray (const Range &r1, const Range &r2, const bool map=false) |
|
| MArray (const Range &r1, const Range &r2, const Range &r3, const bool map=false) |
|
| MArray (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const bool map=false) |
|
| MArray (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const bool map=false) |
|
| MArray (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const Range &r6, const bool map=false) |
|
| MArray (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const Range &r6, const Range &r7, const bool map=false) |
|
|
Index ranges {1..ni, i=1..N} , int arguments, base defaults to 1.
|
| MArray (const int r1, const bool map=false) |
|
| MArray (const int r1, const int r2, const bool map=false) |
|
| MArray (const int r1, const int r2, const int r3, const bool map=false) |
|
| MArray (const int r1, const int r2, const int r3, const int r4, const bool map=false) |
|
| MArray (const int r1, const int r2, const int r3, const int r4, const int r5, const bool map=false) |
|
| MArray (const int r1, const int r2, const int r3, const int r4, const int r5, const int r6, const bool map=false) |
|
| MArray (const int r1, const int r2, const int r3, const int r4, const int r5, const int r6, const int r7, const bool map=false) |
|
|
Other array's data is referenced, NOT copied ( use operator=() for copy)! Missing arguments are treated as Range::all() !
|
| MArray (const MArray< T, N > &other, const Range &r0) |
|
| MArray (const MArray< T, N > &other, const Range &r1, const Range &r2) |
|
| MArray (const MArray< T, N > &other, const Range &r1, const Range &r2, const Range &r3) |
|
| MArray (const MArray< T, N > &other, const Range &r1, const Range &r2, const Range &r3, const Range &r4) |
|
| MArray (const MArray< T, N > &other, const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5) |
|
| MArray (const MArray< T, N > &other, const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const Range &r6) |
|
| MArray (const MArray< T, N > &other, const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const Range &r6, const Range &r7) |
|
|
The array dims [] holds the lengths of each dimension (The number of dimensions, and hence the length of dims [] is known from the template parameter N .) No checking is performed. The index ranges are {1 ..dims[i]} along each dimension i .
|
| MArray (T *data, const int *dims) |
| Construct from allocated memory. Note that this memory will be freed when the MArray is destructed. More...
|
|
| MArray (const std::string filename, const int *dims) |
| Construct from map file. More...
|
|
|
MArray< T, N > & | operator= (const MArray< T, N > &other) |
| This. More...
|
|
template<typename T2 > |
MArray< T, N > & | operator= (const MArray< T2, N > &other) |
| This. More...
|
|
|
rhs, an expression rhs, and a literal rhs for each operator. To have a single implementation of mathematical operations for scalar and vectorized code (where the C language extensions do not define X= ), we transform the
assignment into
and call
.
|
template<typename T2 > |
MArray< T, N > & | operator+= (const MArray< T2, N > &a) |
| operator+= More...
|
|
template<typename T2 > |
MArray< T, N > & | operator-= (const MArray< T2, N > &a) |
| operator-= More...
|
|
template<typename T2 > |
MArray< T, N > & | operator*= (const MArray< T2, N > &a) |
| operator*= More...
|
|
template<typename T2 > |
MArray< T, N > & | operator/= (const MArray< T2, N > &a) |
| operator/= More...
|
|
template<typename T2 > |
MArray< T, N > & | operator&= (const MArray< T2, N > &a) |
| operator&= More...
|
|
template<typename T2 > |
MArray< T, N > & | operator|= (const MArray< T2, N > &a) |
| operator|= More...
|
|
template<typename T2 > |
MArray< T, N > & | operator^= (const MArray< T2, N > &a) |
| operator^= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator+= (const ExprNode< Expr, N > &e) |
| operator+= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator-= (const ExprNode< Expr, N > &e) |
| operator-= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator*= (const ExprNode< Expr, N > &e) |
| operator*= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator/= (const ExprNode< Expr, N > &e) |
| operator/= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator&= (const ExprNode< Expr, N > &e) |
| operator&= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator|= (const ExprNode< Expr, N > &e) |
| operator|= More...
|
|
template<typename Expr > |
MArray< T, N > & | operator^= (const ExprNode< Expr, N > &e) |
| operator^= More...
|
|
MArray< T, N > & | operator+= (const T a) |
| operator+= More...
|
|
MArray< T, N > & | operator-= (const T a) |
| operator-= More...
|
|
MArray< T, N > & | operator*= (const T a) |
| operator*= More...
|
|
MArray< T, N > & | operator/= (const T a) |
| operator/= More...
|
|
MArray< T, N > & | operator&= (const T a) |
| operator&= More...
|
|
MArray< T, N > & | operator|= (const T a) |
| operator|= More...
|
|
MArray< T, N > & | operator^= (const T a) |
| operator^= More...
|
|
|
int / ltl::FixedVector arguments, return (reference to) element.
|
T | operator() (const int i1) const |
|
T & | operator() (const int i1) |
|
T | operator() (const int i1, const int i2) const |
|
T & | operator() (const int i1, const int i2) |
|
T | operator() (const int i1, const int i2, const int i3) const |
|
T & | operator() (const int i1, const int i2, const int i3) |
|
T | operator() (const int i1, const int i2, const int i3, const int i4) const |
|
T & | operator() (const int i1, const int i2, const int i3, const int i4) |
|
T | operator() (const int i1, const int i2, const int i3, const int i4, const int i5) const |
|
T & | operator() (const int i1, const int i2, const int i3, const int i4, const int i5) |
|
T | operator() (const int i1, const int i2, const int i3, const int i4, const int i5, const int i6) const |
|
T & | operator() (const int i1, const int i2, const int i3, const int i4, const int i5, const int i6) |
|
T | operator() (const int i1, const int i2, const int i3, const int i4, const int i5, const int i6, const int i7) const |
|
T & | operator() (const int i1, const int i2, const int i3, const int i4, const int i5, const int i6, const int i7) |
|
T | operator() (const FixedVector< int, 1 > &i) const |
|
T & | operator() (const FixedVector< int, 1 > &i) |
|
T | operator() (const FixedVector< int, 2 > &i) const |
|
T & | operator() (const FixedVector< int, 2 > &i) |
|
T | operator() (const FixedVector< int, 3 > &i) const |
|
T & | operator() (const FixedVector< int, 3 > &i) |
|
T | operator() (const FixedVector< int, 4 > &i) const |
|
T & | operator() (const FixedVector< int, 4 > &i) |
|
T | operator() (const FixedVector< int, 5 > &i) const |
|
T & | operator() (const FixedVector< int, 5 > &i) |
|
T | operator() (const FixedVector< int, 6 > &i) const |
|
T & | operator() (const FixedVector< int, 6 > &i) |
|
T | operator() (const FixedVector< int, 7 > &i) const |
|
T & | operator() (const FixedVector< int, 7 > &i) |
|
|
ltl::Range arguments, return (reference to) element.
|
MArray< T, N > | operator() (const Range &r1) const |
|
MArray< T, N > | operator() (const Range &r1, const Range &r2) const |
|
MArray< T, N > | operator() (const Range &r1, const Range &r2, const Range &r3) const |
|
MArray< T, N > | operator() (const Range &r1, const Range &r2, const Range &r3, const Range &r4) const |
|
MArray< T, N > | operator() (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5) const |
|
MArray< T, N > | operator() (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const Range &r6) const |
|
MArray< T, N > | operator() (const Range &r1, const Range &r2, const Range &r3, const Range &r4, const Range &r5, const Range &r6, const Range &r7) const |
|
template<typename T1 , typename T2 > |
SliceCounter< T, T1, T2 >
::MArraySlice | operator() (T1 r1, T2 r2) const |
|
template<typename T1 , typename T2 , typename T3 > |
SliceCounter< T, T1, T2, T3 >
::MArraySlice | operator() (T1 r1, T2 r2, T3 r3) const |
|
template<typename T1 , typename T2 , typename T3 , typename T4 > |
SliceCounter< T, T1, T2, T3,
T4 >::MArraySlice | operator() (T1 r1, T2 r2, T3 r3, T4 r4) const |
|
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > |
SliceCounter< T, T1, T2, T3,
T4, T5 >::MArraySlice | operator() (T1 r1, T2 r2, T3 r3, T4 r4, T5 r5) const |
|
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > |
SliceCounter< T, T1, T2, T3,
T4, T5, T6 >::MArraySlice | operator() (T1 r1, T2 r2, T3 r3, T4 r4, T5 r5, T6 r6) const |
|
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > |
SliceCounter< T, T1, T2, T3,
T4, T5, T6, T7 >::MArraySlice | operator() (T1 r1, T2 r2, T3 r3, T4 r4, T5 r5, T6 r6, T7 r7) const |
|
|
Change the bases of the array (the bases are the first indices of each dimension)
|
void | setBase (const int b1) |
|
void | setBase (const int b1, const int b2) |
|
void | setBase (const int b1, const int b2, const int b3) |
|
void | setBase (const int b1, const int b2, const int b3, const int b4) |
|
void | setBase (const int b1, const int b2, const int b3, const int b4, const int b5) |
|
void | setBase (const int b1, const int b2, const int b3, const int b4, const int b5, const int b6) |
|
void | setBase (const int b1, const int b2, const int b3, const int b4, const int b5, const int b6, const int b7) |
|
|
iterator | iter () |
|
iterator | begin () |
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
T * | beginRA () |
|
const T * | beginRA () const |
|
T * | endRA () |
|
const T * | endRA () const |
|
|
|
size_type | nelements () const |
| Number of elements . More...
|
|
size_type | size () const |
| Number of elements . More...
|
|
int | minIndex (const int dim) const |
| First index along dimension dim (starting to count at 1) More...
|
|
int | maxIndex (const int dim) const |
| Last index along dimension dim (starting to count at 1) More...
|
|
int | length (const int dim) const |
| Length of dimension dim. More...
|
|
int | stride (const int dim) const |
| Stride of dimension dim. More...
|
|
bool | isStride1 () const |
|
int | zeroOffset () const |
|
bool | isStorageContiguous () const |
|
bool | isConformable (const Shape< N > &other) const |
| Check conformability with other ltl::Shape. More...
|
|
template<typename T2 > |
bool | isConformable (const MArray< T2, N > &other) const |
| Check conformability with other array. More...
|
|
const Shape< N > * | shape () const |
| Return the ltl::Shape . More...
|
|
|
Reorder array (without copy). Very fast!
|
void | reverseSelf (const int dim=1) |
| Reverse this MArray. More...
|
|
MArray< T, N > | reverse (const int dim=1) const |
| Return reversed MArray. More...
|
|
void | transposeSelf (const int dim1=1, const int dim2=2) |
| Transpose this MArray. More...
|
|
MArray< T, N > | transpose (const int dim1=1, const int dim2=2) const |
| Return transposed MArray. More...
|
|