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


Public Types | |
| typedef T | T_numtype |
| typedef TinyVector< T_numtype, N_length > | T_vector |
| typedef FastTV2Iterator< T_numtype, N_length > | T_iterator |
| typedef T_numtype * | iterator |
| typedef const T_numtype * | const_iterator |
| typedef FastTV2CopyIterator< T, N_length > | T_range_result |
Public Types inherited from blitz::ETBase< T > | |
| typedef T | T_unwrapped |
Public Member Functions | |
| _bz_forceinline void | _tv_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 TinyVector operands. | |
| TinyVector () | |
| TinyVector (const TinyVector< T_numtype, N_length > &x) | |
| TinyVector (const TinyVector< T_numtype2, N_length > &x) | |
| TinyVector (const ETBase< T_expr > &expr) | |
| This constructor creates a TinyVector from another ETBase object. | |
| TinyVector (const _bz_ArrayExpr< T_expr > &expr) | |
| This constructor creates a TinyVector specifically from an expression. | |
| TinyVector (const T_numtype initValue) | |
| TinyVector (const T_numtype x[]) | |
| TinyVector (T_numtype x0, T_numtype x1) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4, T_numtype x5) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4, T_numtype x5, T_numtype x6) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4, T_numtype x5, T_numtype x6, T_numtype x7) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4, T_numtype x5, T_numtype x6, T_numtype x7, T_numtype x8) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4, T_numtype x5, T_numtype x6, T_numtype x7, T_numtype x8, T_numtype x9) | |
| TinyVector (T_numtype x0, T_numtype x1, T_numtype x2, T_numtype x3, T_numtype x4, T_numtype x5, T_numtype x6, T_numtype x7, T_numtype x8, T_numtype x9, T_numtype x10) | |
| ~TinyVector () | |
| T_iterator | beginFast () const |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| T_numtype *restrict | data () |
| const T_numtype *restrict | data () const |
| T_numtype *restrict | dataFirst () |
| const T_numtype *restrict | dataFirst () const |
| const TinyVector< int, rank_ > | shape () const |
| void | _bz_assign (P_expr, P_updater) |
| T_numtype | operator* () const |
| T_vector & | noConst () const |
| const T_numtype & | operator() (unsigned i) const |
| T_numtype &restrict | operator() (unsigned i) |
| T_numtype | operator() (TinyVector< int, 1 > i) const |
| _bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_vector >::T_expr, N0 > > | operator() (IndexPlaceholder< N0 >) const |
| const T_numtype & | operator[] (unsigned i) const |
| T_numtype &restrict | operator[] (unsigned i) |
| const T_numtype & | fastRead (diffType i) const |
| bool | isVectorAligned (diffType offset) const |
| Since data_ is simd aligned by construction, we just have to check the offest. | |
| bool | canCollapse (int outerLoopRank, int innerLoopRank) const |
| ListInitializationSwitch< T_vector, T_numtype * > | operator= (T_numtype x) |
| T_vector & | operator= (const ETBase< T_expr > &) |
| T_vector & | initialize (T_numtype) |
| T_vector & | operator+= (const T &) |
| T_vector & | operator-= (const T &) |
| T_vector & | operator*= (const T &) |
| T_vector & | operator/= (const T &) |
| T_vector & | operator%= (const T &) |
| T_vector & | operator^= (const T &) |
| T_vector & | operator&= (const T &) |
| T_vector & | operator|= (const T &) |
| T_vector & | operator>>= (const T &) |
| T_vector & | operator<<= (const T &) |
| T_numtype *restrict | getInitializationIterator () |
| _bz_forceinline void | _tv_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 TinyVector operands. | |
Public Member Functions inherited from blitz::ETBase< T > | |
| ETBase () | |
| ETBase (const ETBase< T > &) | |
| T & | unwrap () |
| const T & | unwrap () const |
| ETBase< T > & | wrap () |
| const ETBase< T > & | wrap () const |
Static Public Member Functions | |
| static int | base () |
| static int | base (int rank) |
| static int | dimensions () |
| static int | lbound (int rank) |
| static int | lbound () |
| static int | length (int rank) |
| static int | length () |
| static int | extent (int rank) |
| static int | ordering (int storageRankIndex) |
| static int | ordering () |
| static int | rank () |
| static sizeType | numElements () |
| static diffType | stride () |
| static diffType | stride (int rank) |
| static int | ubound (int rank) |
| static int | ubound () |
| static bool | lengthCheck (unsigned i) |
Static Public Attributes | |
| static const int | rank_ |
Private Member Functions | |
| void | _tv_evaluate (const T_expr &expr, T_update) |
| typedef const T_numtype* blitz::TinyVector< T, N_length >::const_iterator |
| typedef T_numtype* blitz::TinyVector< T, N_length >::iterator |
| typedef FastTV2Iterator<T_numtype,N_length> blitz::TinyVector< T, N_length >::T_iterator |
| typedef T blitz::TinyVector< T, N_length >::T_numtype |
| typedef FastTV2CopyIterator<T, N_length> blitz::TinyVector< T, N_length >::T_range_result |
| typedef TinyVector<T_numtype,N_length> blitz::TinyVector< T, N_length >::T_vector |
|
inline |
| blitz::TinyVector< T, N_length >::TinyVector | ( | const TinyVector< T_numtype, N_length > & | x | ) |
| blitz::TinyVector< T, N_length >::TinyVector | ( | const TinyVector< T_numtype2, N_length > & | x | ) |
|
inlineexplicit |
This constructor creates a TinyVector from another ETBase object.
It needs to be explicit to avoid all kinds of ambiguities.
|
inline |
This constructor creates a TinyVector specifically from an expression.
This one we do NOT want to be explicit because that breaks simple construction assignments like "TinyVector<double, 1> v = a+b;", forcing the user to explicitly write it like a construction.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void blitz::TinyVector< T, N_length >::_bz_assign | ( | P_expr | , |
| P_updater | ) |
|
private |
| _bz_forceinline void blitz::TinyVector< T, N_length >::_tv_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 TinyVector operands.
| _bz_forceinline void blitz::TinyVector< T, N_length >::_tv_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 TinyVector operands.
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
| T_vector & blitz::TinyVector< T, N_length >::initialize | ( | T_numtype | ) |
|
inline |
Since data_ is simd aligned by construction, we just have to check the offest.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inlinestatic |
| T_vector & blitz::TinyVector< T, N_length >::operator%= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator&= | ( | const T & | ) |
| _bz_ArrayExpr< ArrayIndexMapping< typename asExpr< T_vector >::T_expr, N0 > > blitz::TinyVector< T, N_length >::operator() | ( | IndexPlaceholder< N0 > | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
| T_vector & blitz::TinyVector< T, N_length >::operator*= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator+= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator-= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator/= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator<<= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator= | ( | const ETBase< T_expr > & | ) |
|
inline |
| T_vector & blitz::TinyVector< T, N_length >::operator>>= | ( | const T & | ) |
|
inline |
|
inline |
| T_vector & blitz::TinyVector< T, N_length >::operator^= | ( | const T & | ) |
| T_vector & blitz::TinyVector< T, N_length >::operator|= | ( | const T & | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |