|
blitz Version 1.0.2
|
#include <tm2fastiter.h>


Classes | |
| struct | tvresult |
| For an iterator, the vectorized result for width N is always a TinyVector<T_numtype, N>. More... | |
| class | SliceInfo |
Public Types | |
| typedef P_numtype | T_numtype |
| typedef opType< T_numtype >::T_optype | T_optype |
| typedef asET< T_numtype >::T_wrapped | T_typeprop |
| typedef unwrapET< T_typeprop >::T_unwrapped | T_result |
| typedef ETBase< FastTV2Iterator< T_numtype, simdTypes< T_numtype >::vecWidth > > | T_tvtypeprop |
| Result type for fastRead_tv is a FastTVIterator. | |
| typedef unwrapET< T_tvtypeprop >::T_unwrapped | T_tvresult |
| typedef TinyMatrix< T_numtype, N_rows, N_columns > | T_matrix |
| typedef FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype > | T_iterator |
| typedef const T_matrix & | T_ctorArg1 |
| typedef int | T_ctorArg2 |
| typedef FastTM2CopyIterator< P_numtype, N_rows, N_columns > | T_range_result |
Public Member Functions | |
| FastTM2IteratorBase (const T_iterator &x) | |
| void | operator= (const T_iterator &x) |
| FastTM2IteratorBase (const T_matrix &array) | |
| ~FastTM2IteratorBase () | |
| T_result | operator() (TinyVector< int, 2 > i) const |
| T_result | first_value () const |
| T_result | operator* () const |
| T_result | operator[] (int i) const |
| T_result | fastRead (diffType i) const |
| template<int N> | |
| tvresult< N >::Type | fastRead_tv (diffType i) const |
| bool | isVectorAligned (diffType offset) const |
| Since data_ is simd aligned by construction, we just have to check the offest. | |
| void | push (int position) |
| void | pop (int position) |
| void | advance () |
| void | advance (int n) |
| void | loadStride (int rank) |
| const T_numtype *restrict | data () const |
| const T_matrix & | array () const |
| void | _bz_setData (const T_numtype *ptr) |
| void | _bz_offsetData (sizeType i) |
| void | _bz_offsetData (sizeType offset, int dim) |
| void | _bz_offsetData (sizeType offset1, int dim1, sizeType offset2, int dim2) |
| int | stride () const |
| bool | isUnitStride () const |
| void | advanceUnitStride () |
| bool | canCollapse (int outerLoopRank, int innerLoopRank) const |
| template<typename T_shape> | |
| bool | shapeCheck (const T_shape &s) const |
| T_result | shift (int offset, int dim) const |
| T_result | shift (int offset1, int dim1, int offset2, int dim2) const |
| void | prettyPrint (std::string &str, prettyPrintFormat &format) const |
Static Public Member Functions | |
| static int | ascending (const int r) |
| static int | ordering (const int r) |
| static int | lbound (const int r) |
| static int | ubound (const int r) |
| static int | suggestStride (int r) |
| static bool | isStride (int r, diffType stride) |
| static bool | isUnitStride (int r) |
Static Public Attributes | |
| static const int | numArrayOperands = 0 |
| static const int | numTVOperands = 0 |
| static const int | numTMOperands = 1 |
| static const int | numIndexPlaceholders = 0 |
| static const int | minWidth = simdTypes<T_numtype>::vecWidth |
| static const int | maxWidth = simdTypes<T_numtype>::vecWidth |
| static const int | rank_ = 2 |
Protected Attributes | |
| const T_numtype *restrict | data_ |
| P_arraytype | array_ |
| ConstPointerStack< T_numtype, rank_ > | stack_ |
| diffType | stride_ |
| typedef const T_matrix& blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_ctorArg1 |
| typedef int blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_ctorArg2 |
| typedef FastTM2IteratorBase<P_numtype, N_rows, N_columns, P_arraytype> blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_iterator |
| typedef TinyMatrix<T_numtype, N_rows, N_columns> blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_matrix |
| typedef P_numtype blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_numtype |
| typedef opType<T_numtype>::T_optype blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_optype |
| typedef FastTM2CopyIterator<P_numtype, N_rows, N_columns> blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_range_result |
| typedef unwrapET<T_typeprop>::T_unwrapped blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_result |
| typedef unwrapET<T_tvtypeprop>::T_unwrapped blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_tvresult |
| typedef ETBase<FastTV2Iterator<T_numtype, simdTypes<T_numtype>::vecWidth> > blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_tvtypeprop |
Result type for fastRead_tv is a FastTVIterator.
This should only be used for mixed TM/Array expressions.
| typedef asET<T_numtype>::T_wrapped blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::T_typeprop |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inline |
Since data_ is simd aligned by construction, we just have to check the offest.
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
protected |
|
protected |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
|
protected |