true
if MArray currenltly has have no memory allocated. MArray
. MArray
has associated MemoryBlock. {1..ni, i=1..N}
, int
arguments, base defaults to 1. 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
A x= E
A = A x E
operator=
int
/ ltl::FixedVector arguments, return (reference to) element.
MArrays
feature subarrays (sometimes called views), slices, expression templated evaluation, and other features described below. The memory holding the actual data is reference counted, such that it is not freed until the last reference to the data by views or slices has been removed.
typedef MArrayIter<T,N> ltl::MArray< T, N >::Iterator |
typedef MArrayIterConst<T,N> ltl::MArray< T, N >::ConstIterator |
typedef IndexIter<T,N> ltl::MArray< T, N >::IndexIterator |
Index iterator for ltl::where() (indexing arbitrary subsets).
typedef FixedVector<int,N> ltl::MArray< T, N >::IndexV |
typedef IndexList<N> ltl::MArray< T, N >::IndexSet |
typedef T ltl::MArray< T, N >::value_type |
typedef T& ltl::MArray< T, N >::reference |
typedef const T& ltl::MArray< T, N >::const_reference |
typedef T* ltl::MArray< T, N >::pointer |
typedef const T* ltl::MArray< T, N >::const_pointer |
typedef size_t ltl::MArray< T, N >::size_type |
typedef MArrayIter<T,N> ltl::MArray< T, N >::iterator |
typedef MArrayIterConst<T,N> ltl::MArray< T, N >::const_iterator |
ltl::MArray< T, N >::MArray | ( | ) | [inline] |
Construct an array without allocating memory.
This is useful for constructing MArrays
whose values are to be read from a file, and thus the dimensions are not known yet.
MArray
only after being sure that ltl::MArray::realloc()
or
ltl::MArray::makeReference() has been called. ltl::MArray< T, N >::MArray | ( | const Range & | r1, | |
const bool | map = false | |||
) | [inline] |
ltl::MArray< T, N >::MArray | ( | const Range & | r1, | |
const Range & | r2, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5, | |||
const Range & | r6, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::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 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const int | r1, | |
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const int | r1, | |
const int | r2, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const int | r1, | |
const int | r2, | |||
const int | r3, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const int | r1, | |
const int | r2, | |||
const int | r3, | |||
const int | r4, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const int | r1, | |
const int | r2, | |||
const int | r3, | |||
const int | r4, | |||
const int | r5, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const int | r1, | |
const int | r2, | |||
const int | r3, | |||
const int | r4, | |||
const int | r5, | |||
const int | r6, | |||
const bool | map = false | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::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 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other | ) | [inline] |
Copy constructor. Only makes a reference !!!.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other, | |
const Range & | r0 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5, | |||
const Range & | r6 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::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 | |||
) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ltl::MArray< T, N >::MArray | ( | const MArray< T, N2 > & | other, | |
R1 | r1, | |||
R2 | r2, | |||
R3 | r3, | |||
R4 | r4, | |||
R5 | r5, | |||
R6 | r6, | |||
R7 | r7 | |||
) | [inline] |
Constructor for mixed slicing (int, rank reducing) and Range arguments.
Other array's data is referenced, NOT copied ( use operator=() for copy)!
ltl::MArray< T, N >::MArray | ( | T * | data, | |
const int * | dims | |||
) |
Construct from allocated memory.
ltl::MArray< T, N >::MArray | ( | const string | filename, | |
const int * | dims | |||
) |
Construct from map file.
ltl::MArray< T, N >::MArray | ( | const Shape< N > * | s, | |
const bool | map = false , |
|||
const char * | filename = NULL | |||
) |
Construct from shape.
Useful to construct an array having the same geometry as another array. If you have map == true and give a filename the memory map will be saved.
ltl::MArray< T, N >::MArray | ( | const ExprNode< Expr, N > & | e, | |
const bool | map = false , |
|||
const char * | filename = NULL | |||
) | [inline] |
Construct from an array-valued expression.
The new array is allocated with the shape of the expression and its elements are filled with the evaluated expression. If you have map == true and give a filename the memory map will be saved.
ltl::MArray< T, N >::~MArray | ( | ) | [inline] |
Decrement reference count of memory block. If 0 delete.
void ltl::MArray< T, N >::free | ( | ) | [inline] |
bool ltl::MArray< T, N >::empty | ( | ) | const [inline] |
true
if MArray currenltly has have no memory allocated.
MArray<T,N>& ltl::MArray< T, N >::operator= | ( | const MArray< T, N > & | other | ) | [inline] |
This.
Arrays have to have conformable shapes, no automatic resize takes place. Use realloc() instead! If the lhs ltl::MArray is empty()
, i.e. no memory has been allocated then memory conforming to other's
shape will be allocated.
MArray<T,N>& ltl::MArray< T, N >::operator= | ( | const MArray< T2, N > & | other | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
Assignment of an expression to a MArray
.
The MArray
and the expression have to have conformable shapes, no automatic resize takes place. Use realloc() instead! If the lhs ltl::MArray is empty()
, i.e. no memory has been allocated then memory conforming to the expression's shape will be allocated.
ListInitializationSwitch< MArray<T,N> > ltl::MArray< T, N >::operator= | ( | T | x | ) | [inline] |
Assigns x
to all elements.
A bit more comlicated since we have to discriminate between
A = 3; and A = 1, 2, 3, 4;
MArray<T,N>& ltl::MArray< T, N >::operator+= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator-= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator *= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator/= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator &= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator|= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator^= | ( | const MArray< T2, N > & | a | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator+= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator-= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator *= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator/= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator &= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator|= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator^= | ( | const ExprNode< Expr, N > & | e | ) | [inline] |
MArray<T,N>& ltl::MArray< T, N >::operator+= | ( | const T | a | ) |
MArray<T,N>& ltl::MArray< T, N >::operator-= | ( | const T | a | ) |
MArray<T,N>& ltl::MArray< T, N >::operator *= | ( | const T | a | ) |
MArray<T,N>& ltl::MArray< T, N >::operator/= | ( | const T | a | ) |
MArray<T,N>& ltl::MArray< T, N >::operator &= | ( | const T | a | ) |
MArray<T,N>& ltl::MArray< T, N >::operator|= | ( | const T | a | ) |
MArray<T,N>& ltl::MArray< T, N >::operator^= | ( | const T | a | ) |
T ltl::MArray< T, N >::operator() | ( | const int | i1 | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1 | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2 | |||
) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2 | |||
) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3 | |||
) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3 | |||
) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4 | |||
) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4 | |||
) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4, | |||
const int | i5 | |||
) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4, | |||
const int | i5 | |||
) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4, | |||
const int | i5, | |||
const int | i6 | |||
) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4, | |||
const int | i5, | |||
const int | i6 | |||
) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4, | |||
const int | i5, | |||
const int | i6, | |||
const int | i7 | |||
) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const int | i1, | |
const int | i2, | |||
const int | i3, | |||
const int | i4, | |||
const int | i5, | |||
const int | i6, | |||
const int | i7 | |||
) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 1 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 1 > & | i | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 2 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 2 > & | i | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 3 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 3 > & | i | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 4 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 4 > & | i | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 5 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 5 > & | i | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 6 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 6 > & | i | ) | [inline] |
T ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 7 > & | i | ) | const [inline] |
T& ltl::MArray< T, N >::operator() | ( | const FixedVector< int, 7 > & | i | ) | [inline] |
MArray<T,N> ltl::MArray< T, N >::operator() | ( | const Range & | r1 | ) | const [inline] |
MArray<T,N> ltl::MArray< T, N >::operator() | ( | const Range & | r1, | |
const Range & | r2 | |||
) | const [inline] |
MArray<T,N> ltl::MArray< T, N >::operator() | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3 | |||
) | const [inline] |
MArray<T,N> ltl::MArray< T, N >::operator() | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4 | |||
) | const [inline] |
MArray<T,N> ltl::MArray< T, N >::operator() | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5 | |||
) | const [inline] |
MArray<T,N> ltl::MArray< T, N >::operator() | ( | const Range & | r1, | |
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5, | |||
const Range & | r6 | |||
) | const [inline] |
MArray<T,N> ltl::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 [inline] |
SliceCounter<T,T1,T2>::MArraySlice ltl::MArray< T, N >::operator() | ( | T1 | r1, | |
T2 | r2 | |||
) | const [inline] |
SliceCounter<T,T1,T2,T3>::MArraySlice ltl::MArray< T, N >::operator() | ( | T1 | r1, | |
T2 | r2, | |||
T3 | r3 | |||
) | const [inline] |
SliceCounter<T,T1,T2,T3,T4>::MArraySlice ltl::MArray< T, N >::operator() | ( | T1 | r1, | |
T2 | r2, | |||
T3 | r3, | |||
T4 | r4 | |||
) | const [inline] |
SliceCounter<T,T1,T2,T3,T4,T5>::MArraySlice ltl::MArray< T, N >::operator() | ( | T1 | r1, | |
T2 | r2, | |||
T3 | r3, | |||
T4 | r4, | |||
T5 | r5 | |||
) | const [inline] |
SliceCounter<T,T1,T2,T3,T4,T5,T6>::MArraySlice ltl::MArray< T, N >::operator() | ( | T1 | r1, | |
T2 | r2, | |||
T3 | r3, | |||
T4 | r4, | |||
T5 | r5, | |||
T6 | r6 | |||
) | const [inline] |
SliceCounter<T,T1,T2,T3,T4,T5,T6,T7>::MArraySlice ltl::MArray< T, N >::operator() | ( | T1 | r1, | |
T2 | r2, | |||
T3 | r3, | |||
T4 | r4, | |||
T5 | r5, | |||
T6 | r6, | |||
T7 | r7 | |||
) | const [inline] |
MArray<T,1> ltl::MArray< T, N >::operator() | ( | const IndexList< N > & | l | ) | const [inline] |
Index with ltl::IndexList (rhs version).
Return ltl::MArray<T,1> object.
IndexRef<T,N> ltl::MArray< T, N >::operator[] | ( | const IndexList< N > & | l | ) | [inline] |
Index with ltl::IndexList (lhs version).
Assignment to self indexed with IndexList A[l] = Expr<T,1> IndexRef object is needed to carry the operator=( Expr ) method.
void ltl::MArray< T, N >::setBase | ( | const int | b1 | ) |
void ltl::MArray< T, N >::setBase | ( | const int | b1, | |
const int | b2 | |||
) |
void ltl::MArray< T, N >::setBase | ( | const int | b1, | |
const int | b2, | |||
const int | b3 | |||
) |
void ltl::MArray< T, N >::setBase | ( | const int | b1, | |
const int | b2, | |||
const int | b3, | |||
const int | b4 | |||
) |
void ltl::MArray< T, N >::setBase | ( | const int | b1, | |
const int | b2, | |||
const int | b3, | |||
const int | b4, | |||
const int | b5 | |||
) |
void ltl::MArray< T, N >::setBase | ( | const int | b1, | |
const int | b2, | |||
const int | b3, | |||
const int | b4, | |||
const int | b5, | |||
const int | b6 | |||
) |
void ltl::MArray< T, N >::setBase | ( | const int | b1, | |
const int | b2, | |||
const int | b3, | |||
const int | b4, | |||
const int | b5, | |||
const int | b6, | |||
const int | b7 | |||
) |
void ltl::MArray< T, N >::makeReference | ( | const MArray< T, N > & | other | ) |
Make this being a referece to other's data.
void ltl::MArray< T, N >::realloc | ( | const Shape< N > & | s, | |
const bool | map = false , |
|||
const char * | filename = NULL | |||
) |
Reallocate memory. Data are abolished.
If you have map == true and give a filename the new memory map will be saved.
iterator ltl::MArray< T, N >::iter | ( | ) | [inline] |
iterator ltl::MArray< T, N >::begin | ( | ) | [inline] |
const_iterator ltl::MArray< T, N >::begin | ( | ) | const [inline] |
iterator ltl::MArray< T, N >::end | ( | ) | [inline] |
const_iterator ltl::MArray< T, N >::end | ( | ) | const [inline] |
T* ltl::MArray< T, N >::beginRA | ( | ) | [inline] |
In case our memory layout is contiguous, we can offer an easy solution to provide random access iterators.
T* ltl::MArray< T, N >::endRA | ( | ) | [inline] |
T* ltl::MArray< T, N >::data | ( | ) | const [inline] |
Pointer to first data element.
IndexIterator ltl::MArray< T, N >::indexBegin | ( | ) | const [inline] |
An iterator-style thing providing indices when dereferenced.
I.e. *i or i() gives a FixedVector holding the indices and and i(int) gives the index in the i-th dimension
size_type ltl::MArray< T, N >::nelements | ( | ) | const [inline] |
Number of elements .
size_type ltl::MArray< T, N >::size | ( | ) | const [inline] |
Number of elements .
int ltl::MArray< T, N >::minIndex | ( | const int | dim | ) | const [inline] |
First index along dimension dim (starting to count at 1).
int ltl::MArray< T, N >::maxIndex | ( | const int | dim | ) | const [inline] |
Last index along dimension dim (starting to count at 1).
int ltl::MArray< T, N >::length | ( | const int | dim | ) | const [inline] |
Length of dimension dim.
int ltl::MArray< T, N >::stride | ( | const int | dim | ) | const [inline] |
Stride of dimension dim.
bool ltl::MArray< T, N >::isStride1 | ( | ) | const [inline] |
int ltl::MArray< T, N >::zeroOffset | ( | ) | const [inline] |
bool ltl::MArray< T, N >::isStorageContiguous | ( | ) | const [inline] |
bool ltl::MArray< T, N >::isConformable | ( | const Shape< N > & | other | ) | const [inline] |
Check conformability with other ltl::Shape.
bool ltl::MArray< T, N >::isConformable | ( | const MArray< T2, N > & | other | ) | const [inline] |
Check conformability with other array.
const Shape<N>* ltl::MArray< T, N >::shape | ( | ) | const [inline] |
Return the ltl::Shape
.
MemoryBlock<T>* ltl::MArray< T, N >::memoryBlock | ( | ) | const [inline] |
Return pointer to associated MemoryBlock .
bool ltl::MArray< T, N >::isAllocated | ( | ) | const [inline] |
Return true, if MArray
has associated MemoryBlock.
void ltl::MArray< T, N >::reverseSelf | ( | const int | dim = 1 |
) |
Reverse this MArray.
MArray<T, N> ltl::MArray< T, N >::reverse | ( | const int | dim = 1 |
) | const |
Return reversed MArray.
void ltl::MArray< T, N >::transposeSelf | ( | const int | dim1 = 1 , |
|
const int | dim2 = 2 | |||
) |
Transpose this MArray.
MArray<T, N> ltl::MArray< T, N >::transpose | ( | const int | dim1 = 1 , |
|
const int | dim2 = 2 | |||
) | const |
Return transposed MArray.
void ltl::MArray< T, N >::describeSelf | ( | ) | const |
Debug output. Print geometry information.
void ltl::MArray< T, N >::copy | ( | const MArray< T2, N > & | other | ) | [inline, protected] |
Copy from other.
void ltl::MArray< T, N >::fill | ( | const T | t | ) | [protected] |
Fill with t.
void ltl::MArray< T, N >::subarray | ( | const MArray< T, N > & | other, | |
const Range & | r1 | |||
) | [protected] |
Constructs a pure subarray of other, i.e. rank is preserved.
void ltl::MArray< T, N >::subarray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2 | |||
) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void ltl::MArray< T, N >::subarray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3 | |||
) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void ltl::MArray< T, N >::subarray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4 | |||
) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void ltl::MArray< T, N >::subarray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5 | |||
) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void ltl::MArray< T, N >::subarray | ( | const MArray< T, N > & | other, | |
const Range & | r1, | |||
const Range & | r2, | |||
const Range & | r3, | |||
const Range & | r4, | |||
const Range & | r5, | |||
const Range & | r6 | |||
) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void ltl::MArray< T, N >::subarray | ( | 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 | |||
) | [protected] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void ltl::MArray< T, N >::slicearray | ( | const MArray< T, N2 > & | other, | |
R1 | r1, | |||
R2 | r2, | |||
R3 | r3, | |||
R4 | r4, | |||
R5 | r5, | |||
R6 | r6, | |||
R7 | r7 | |||
) | [inline, protected] |
void ltl::MArray< T, N >::slice | ( | int & | setRank, | |
Range | r, | |||
const MArray< T, N2 > & | other, | |||
int | sourceRank | |||
) | [inline, protected] |
void ltl::MArray< T, N >::slice | ( | int & | setRank, | |
int | r, | |||
const MArray< T, N2 > & | other, | |||
int | sourceRank | |||
) | [inline, protected] |
void ltl::MArray< T, N >::slice | ( | int & | setRank, | |
NoArgument | , | |||
const MArray< T, N2 > & | other, | |||
int | sourceRank | |||
) | [inline, protected] |
void ltl::MArray< T, N >::setupMemory | ( | const bool | map = false , |
|
const char * | filename = NULL | |||
) | [protected] |
void ltl::MArray< T, N >::setupShape | ( | const int * | dims | ) | [protected] |
void ltl::MArray< T, N >::setrange | ( | const int | dim, | |
const Range & | r | |||
) | [protected] |
friend class MArrayIter< T, N > [friend] |
friend class MArrayIterConst< T, N > [friend] |
friend class ListInitializationSwitch< MArray< T, N > > [friend] |
MemoryBlock<T>* ltl::MArray< T, N >::memBlock_ [protected] |
Our MemoryBlock.
Shape<N> ltl::MArray< T, N >::shape_ [protected] |
T* __restrict__ ltl::MArray< T, N >::data_ |
Pointer to element ( 0, 0, ..., 0 ).