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


Classes | |
| class | SliceInfo |
| struct | tvresult |
| For an iterator, the vectorized result for width N is always a TinyVector<T_numtype, N>. More... | |
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. More... | |
| typedef unwrapET< T_tvtypeprop >::T_unwrapped | T_tvresult |
| typedef TinyVector< T_numtype, N_length > | T_vector |
| typedef FastTV2IteratorBase< P_numtype, N_length, P_arraytype > | T_iterator |
| typedef const T_vector & | T_ctorArg1 |
| typedef int | T_ctorArg2 |
| typedef FastTV2CopyIterator< P_numtype, N_length > | T_range_result |
Public Member Functions | |
| FastTV2IteratorBase (const T_iterator &x) | |
| void | operator= (const T_iterator &x) |
| FastTV2IteratorBase (const T_vector &array) | |
| ~FastTV2IteratorBase () | |
| T_numtype | operator() (int i) const |
| T_result | operator() (TinyVector< int, 1 > i) const |
| int | ascending (const int r) const |
| int | ordering (const int r) const |
| int | lbound (const int r) const |
| int | ubound (const int r) 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. More... | |
| int | suggestStride (int r) const |
| bool | isStride (int r, diffType stride) const |
| void | push (int position) |
| void | pop (int position) |
| void | advance () |
| void | advance (int n) |
| void | loadStride (int r) |
| const T_numtype *restrict | data () const |
| const T_vector & | 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 (int r) 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 Attributes | |
| static const int | numArrayOperands = 0 |
| static const int | numTVOperands = 1 |
| static const int | numTMOperands = 0 |
| 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_ = 1 |
Protected Attributes | |
| const T_numtype *restrict | data_ |
| P_arraytype | array_ |
| ConstPointerStack< T_numtype, rank_ > | stack_ |
Static Protected Attributes | |
| static const diffType | stride_ =1 |
| typedef const T_vector& blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_ctorArg1 |
| typedef int blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_ctorArg2 |
| typedef FastTV2IteratorBase<P_numtype, N_length, P_arraytype> blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_iterator |
| typedef P_numtype blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_numtype |
| typedef opType<T_numtype>::T_optype blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_optype |
| typedef FastTV2CopyIterator<P_numtype, N_length> blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_range_result |
| typedef unwrapET<T_typeprop>::T_unwrapped blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_result |
| typedef unwrapET<T_tvtypeprop>::T_unwrapped blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_tvresult |
| typedef ETBase<FastTV2Iterator<T_numtype, simdTypes<T_numtype>::vecWidth> > blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_tvtypeprop |
Result type for fastRead_tv is a FastTVIterator.
This is only used for mixed TV/Array expressions.
| typedef asET<T_numtype>::T_wrapped blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_typeprop |
| typedef TinyVector<T_numtype, N_length> blitz::FastTV2IteratorBase< P_numtype, N_length, P_arraytype >::T_vector |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Since data_ is simd aligned by construction, we just have to check the offest.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
Referenced by blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::array(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::fastRead(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::FastTV2IteratorBase(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator()(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator=(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::prettyPrint(), and blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::shift().
|
protected |
Referenced by blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::advance(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::advanceUnitStride(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::data(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::fastRead_tv(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::FastTV2IteratorBase(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::first_value(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator*(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator=(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator[](), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::pop(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::push(), and blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::shift().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
Referenced by blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator=(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::pop(), and blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::push().
|
staticprotected |
Referenced by blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::advance(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::isStride(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::isUnitStride(), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::operator[](), blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::stride(), and blitz::FastTV2IteratorBase< P_numtype, N_length, const TinyVector< P_numtype, N_length > >::suggestStride().