blitz Version 1.0.2
Loading...
Searching...
No Matches
blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns > Class Template Reference

#include <tm2fastiter.h>

Inheritance diagram for blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >:
Inheritance graph
Collaboration diagram for blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >:
Collaboration graph

Public Types

typedef FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > > T_base
typedef T_base::T_numtype T_numtype
typedef T_base::T_matrix T_matrix
typedef T_base::T_iterator T_iterator
typedef T_base::T_ctorArg1 T_ctorArg1
typedef T_base::T_ctorArg2 T_ctorArg2
typedef T_base::T_range_result T_range_result
Public Types inherited from blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >
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, const TinyMatrix< P_numtype, N_rows, N_columns > > T_iterator
typedef const T_matrixT_ctorArg1
typedef int T_ctorArg2
typedef FastTM2CopyIterator< P_numtype, N_rows, N_columns > T_range_result

Public Member Functions

 FastTM2CopyIterator (const FastTM2CopyIterator &x)
 FastTM2CopyIterator (const T_matrix &array)
void operator= (const FastTM2CopyIterator &x)
void operator= (const T_iterator &x)
T_result operator() (TinyVector< int, 2 > i) const
Public Member Functions inherited from blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >
 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
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_matrixarray () 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
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 rank_
static const int numArrayOperands
static const int numTVOperands
static const int numTMOperands
static const int numIndexPlaceholders
Static Public Attributes inherited from blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >
static const int numArrayOperands
static const int numTVOperands
static const int numTMOperands
static const int numIndexPlaceholders
static const int minWidth
static const int maxWidth
static const int rank_

Additional Inherited Members

Static Public Member Functions inherited from blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >
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)
Protected Attributes inherited from blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >
const T_numtype *restrict data_
const TinyMatrix< P_numtype, N_rows, N_columns > array_
ConstPointerStack< T_numtype, rank_stack_
diffType stride_

Member Typedef Documentation

◆ T_base

template<typename P_numtype, int N_rows, int N_columns>
typedef FastTM2IteratorBase<P_numtype, N_rows, N_columns, const TinyMatrix<P_numtype, N_rows, N_columns> > blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_base

◆ T_ctorArg1

template<typename P_numtype, int N_rows, int N_columns>
typedef T_base::T_ctorArg1 blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_ctorArg1

◆ T_ctorArg2

template<typename P_numtype, int N_rows, int N_columns>
typedef T_base::T_ctorArg2 blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_ctorArg2

◆ T_iterator

template<typename P_numtype, int N_rows, int N_columns>
typedef T_base::T_iterator blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_iterator

◆ T_matrix

template<typename P_numtype, int N_rows, int N_columns>
typedef T_base::T_matrix blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_matrix

◆ T_numtype

template<typename P_numtype, int N_rows, int N_columns>
typedef T_base::T_numtype blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_numtype

◆ T_range_result

template<typename P_numtype, int N_rows, int N_columns>
typedef T_base::T_range_result blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::T_range_result

Constructor & Destructor Documentation

◆ FastTM2CopyIterator() [1/2]

template<typename P_numtype, int N_rows, int N_columns>
blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::FastTM2CopyIterator ( const FastTM2CopyIterator< P_numtype, N_rows, N_columns > & x)
inline

References FastTM2CopyIterator().

Referenced by FastTM2CopyIterator(), and operator=().

◆ FastTM2CopyIterator() [2/2]

template<typename P_numtype, int N_rows, int N_columns>
blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::FastTM2CopyIterator ( const T_matrix & array)
inline

Member Function Documentation

◆ operator()()

template<typename P_numtype, int N_rows, int N_columns>
T_result blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::operator() ( TinyVector< int, 2 > i) const
inline

◆ operator=() [1/2]

template<typename P_numtype, int N_rows, int N_columns>
void blitz::FastTM2CopyIterator< P_numtype, N_rows, N_columns >::operator= ( const FastTM2CopyIterator< P_numtype, N_rows, N_columns > & x)
inline

◆ operator=() [2/2]

template<typename P_numtype, int N_rows, int N_columns>
void blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::operator= ( const T_iterator & x)
inline

Member Data Documentation

◆ numArrayOperands

template<typename P_numtype, int N_rows, int N_columns>
const int blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::numArrayOperands
static

◆ numIndexPlaceholders

template<typename P_numtype, int N_rows, int N_columns>
const int blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::numIndexPlaceholders
static

◆ numTMOperands

template<typename P_numtype, int N_rows, int N_columns>
const int blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::numTMOperands
static

◆ numTVOperands

template<typename P_numtype, int N_rows, int N_columns>
const int blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::numTVOperands
static

◆ rank_

template<typename P_numtype, int N_rows, int N_columns>
const int blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, const TinyMatrix< P_numtype, N_rows, N_columns > >::rank_
static

The documentation for this class was generated from the following files: