blitz Version 1.0.2
|
#include <tinymat2.h>
Public Types | |
typedef P_numtype | T_numtype |
typedef TinyVector< int, 2 > | T_index |
typedef TinyMatrix< T_numtype, N_rows, N_columns > | T_matrix |
typedef FastTM2Iterator< T_numtype, N_rows, N_columns > | T_iterator |
typedef T_numtype * | iterator |
typedef const T_numtype * | const_iterator |
typedef FastTM2CopyIterator< P_numtype, N_rows, N_columns > | T_range_result |
![]() | |
typedef TinyMatrix< P_numtype, N_rows, N_columns > | T_unwrapped |
Public Member Functions | |
TinyMatrix () | |
TinyMatrix (const T_matrix &) | |
template<typename T_numtype2 > | |
TinyMatrix (const TinyMatrix< T_numtype2, N_rows, N_columns > &x) | |
TinyMatrix (T_numtype initValue) | |
iterator | begin () |
const_iterator | begin () const |
T_iterator | beginFast () const |
const T_numtype *restrict | data () const |
T_numtype *restrict | data () |
const T_numtype *restrict | dataFirst () const |
T_numtype *restrict | dataFirst () |
iterator | end () |
const_iterator | end () const |
bool | isInRange (const T_index &index) const |
bool | isInRange (int i0, int i1) const |
bool | assertInRange (const T_index &BZ_DEBUG_PARAM(index)) const |
bool | assertInRange (int BZ_DEBUG_PARAM(i0), int BZ_DEBUG_PARAM(i1)) const |
T_matrix & | noConst () const |
const T_numtype &restrict | operator() (unsigned i, unsigned j) const |
T_numtype &restrict | operator() (unsigned i, unsigned j) |
const T_numtype &restrict | operator() (T_index i) const |
T_numtype &restrict | operator() (T_index i) |
template<int N0, int N1> | |
_bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_matrix >::T_expr, N0, N1 > > | operator() (IndexPlaceholder< N0 >, IndexPlaceholder< N1 >) const |
const T_numtype & | fastRead (diffType i) const |
Fastread must return reference so the iterator can turn it into an iterator for the contained in case we have a multicomponent. | |
bool | isVectorAligned (diffType offset) const |
Since data_ is simd aligned by construction, we just have to check the offest. | |
ListInitializationSwitch< T_matrix, T_numtype * > | operator= (T_numtype x) |
T_matrix & | initialize (T_numtype x) |
T_numtype *restrict | getInitializationIterator () |
template<typename T_expr > | |
T_matrix & | operator= (const ETBase< T_expr > &) |
template<typename T > | |
T_matrix & | operator+= (const T &) |
template<typename T > | |
T_matrix & | operator-= (const T &) |
template<typename T > | |
T_matrix & | operator*= (const T &) |
template<typename T > | |
T_matrix & | operator/= (const T &) |
template<typename T > | |
T_matrix & | operator%= (const T &) |
template<typename T > | |
T_matrix & | operator^= (const T &) |
template<typename T > | |
T_matrix & | operator&= (const T &) |
template<typename T > | |
T_matrix & | operator|= (const T &) |
template<typename T > | |
T_matrix & | operator>>= (const T &) |
template<typename T > | |
T_matrix & | operator<<= (const T &) |
template<typename T_expr , typename T_update > | |
_bz_forceinline void | _tm_evaluate (const T_expr &expr, T_update) |
This function selects evaluation path by calling select_evaluation with a bool argument which is false if the expression only contains TinyMatrix operands. | |
![]() | |
ETBase () | |
ETBase (const ETBase< TinyMatrix< P_numtype, N_rows, N_columns > > &) | |
TinyMatrix< P_numtype, N_rows, N_columns > & | unwrap () |
const TinyMatrix< P_numtype, N_rows, N_columns > & | unwrap () const |
ETBase< TinyMatrix< P_numtype, N_rows, N_columns > > & | wrap () |
const ETBase< TinyMatrix< P_numtype, N_rows, N_columns > > & | wrap () const |
Static Public Member Functions | |
static TinyVector< int, 2 > | base () |
static int | base (int rank) |
static int | cols () |
static int | columns () |
static int | dimensions () |
static RectDomain< 2 > | domain () |
static int | extent (int rank) |
static const TinyVector< int, 2 > | extent () |
static bool | isMajorRank (int rank) |
static bool | isMinorRank (int rank) |
static bool | isRankStoredAscending (int rank) |
static int | lbound (int rank) |
static TinyVector< int, 2 > | lbound () |
static int | length (int rank) |
static TinyVector< int, 2 > | length () |
static sizeType | numElements () |
static int | ordering (int rank) |
static TinyVector< int, 2 > | ordering () |
static int | rank () |
static int | rows () |
static TinyVector< int, 2 > | shape () |
static sizeType | size () |
static TinyVector< diffType, 2 > | stride () |
static diffType | stride (int rank) |
static int | ubound (int rank) |
static TinyVector< int, 2 > | ubound () |
static int | zeroOffset () |
static bool | canCollapse (int outerRank, int innerRank) |
Static Public Attributes | |
static const int | rank_ = 2 |
Private Member Functions | |
template<typename T_expr , typename T_update > | |
void | _tm_evaluate (const T_expr &expr, T_update) |
const T_numtype* blitz::TinyMatrix< P_numtype, N_rows, N_columns >::const_iterator |
T_numtype* blitz::TinyMatrix< P_numtype, N_rows, N_columns >::iterator |
TinyVector<int, 2> blitz::TinyMatrix< P_numtype, N_rows, N_columns >::T_index |
FastTM2Iterator<T_numtype,N_rows, N_columns> blitz::TinyMatrix< P_numtype, N_rows, N_columns >::T_iterator |
TinyMatrix<T_numtype, N_rows, N_columns> blitz::TinyMatrix< P_numtype, N_rows, N_columns >::T_matrix |
P_numtype blitz::TinyMatrix< P_numtype, N_rows, N_columns >::T_numtype |
FastTM2CopyIterator<P_numtype, N_rows, N_columns> blitz::TinyMatrix< P_numtype, N_rows, N_columns >::T_range_result |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
_bz_forceinline void blitz::TinyMatrix< P_numtype, N_rows, N_columns >::_tm_evaluate | ( | const T_expr & | expr, |
T_update | ) |
This function selects evaluation path by calling select_evaluation with a bool argument which is false if the expression only contains TinyMatrix operands.
References blitz::_tm_evaluator< unroll, N_rows, N_columns >::select_evaluation().
|
inline |
References blitz::TinyMatrix< P_numtype, N_rows, N_columns >::base(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::isInRange(), and blitz::TinyMatrix< P_numtype, N_rows, N_columns >::length().
Referenced by blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator()(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator()(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator()(), and blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator()().
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
static |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
Fastread must return reference so the iterator can turn it into an iterator for the contained in case we have a multicomponent.
|
inline |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::initialize | ( | T_numtype | x | ) |
|
inline |
References blitz::TinyMatrix< P_numtype, N_rows, N_columns >::base(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::length(), and blitz::TinyMatrix< P_numtype, N_rows, N_columns >::rank_.
Referenced by blitz::TinyMatrix< P_numtype, N_rows, N_columns >::assertInRange(), and blitz::TinyMatrix< P_numtype, N_rows, N_columns >::assertInRange().
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
Since data_ is simd aligned by construction, we just have to check the offest.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by blitz::TinyMatrix< P_numtype, N_rows, N_columns >::assertInRange(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::assertInRange(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::isInRange(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::isInRange(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::shape(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::shapeCheck(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::ubound(), and blitz::TinyMatrix< P_numtype, N_rows, N_columns >::ubound().
|
inlinestatic |
|
inline |
|
inlinestatic |
Referenced by blitz::TinyMatrix< P_numtype, N_rows, N_columns >::size().
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator%= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator&= | ( | const T & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator*= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator+= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator-= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator/= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator<<= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator= | ( | const ETBase< T_expr > & | ) |
|
inline |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator>>= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator^= | ( | const T & | ) |
T_matrix & blitz::TinyMatrix< P_numtype, N_rows, N_columns >::operator|= | ( | const T & | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
References blitz::TinyMatrix< P_numtype, N_rows, N_columns >::rank_.
Referenced by blitz::TinyMatrix< P_numtype, N_rows, N_columns >::extent(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::isMajorRank(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::isMinorRank(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::isRankStoredAscending(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::lbound(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::length(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::ordering(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::stride(), and blitz::TinyMatrix< P_numtype, N_rows, N_columns >::ubound().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::_bz_offsetData(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::_bz_offsetData(), blitz::TinyMatrix< P_numtype, N_rows, N_columns >::canCollapse(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::isStride(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::isUnitStride(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::loadStride(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::shift(), blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::shift(), and blitz::FastTM2IteratorBase< P_numtype, N_rows, N_columns, P_arraytype >::suggestStride().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |