blitz Version 1.0.2
Loading...
Searching...
No Matches
blitz::TinyVector< T, 0 > Class Template Reference

#include <tinyvec2.h>

Inheritance diagram for blitz::TinyVector< T, 0 >:
Inheritance graph
Collaboration diagram for blitz::TinyVector< T, 0 >:
Collaboration graph

Public Types

typedef T T_numtype
typedef TinyVector< T_numtype, N_length > T_vector
typedef FastTV2Iterator< T_numtype, N_length > T_iterator
typedef T_numtypeiterator
typedef const T_numtypeconst_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 ()
T_iterator beginFast () const
iterator begin ()
iterator end ()
T_numtype *restrict data ()
T_numtype *restrict dataFirst ()
const TinyVector< int, rank_shape () const
void _bz_assign (P_expr, P_updater)
T_numtype operator* () const
T_vectornoConst () const
const T_numtypeoperator() (unsigned i) const
const T_numtypeoperator[] (unsigned i) const
const T_numtypefastRead (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_vectorinitialize (T_numtype)
T_vectoroperator+= (const T &)
T_vectoroperator-= (const T &)
T_vectoroperator*= (const T &)
T_vectoroperator/= (const T &)
T_vectoroperator%= (const T &)
T_vectoroperator^= (const T &)
T_vectoroperator&= (const T &)
T_vectoroperator|= (const T &)
T_vectoroperator>>= (const T &)
T_vectoroperator<<= (const T &)
T_numtype *restrict getInitializationIterator ()
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 dimensions ()
static int lbound (int rank)
static int length (int rank)
static int extent (int rank)
static int ordering (int storageRankIndex)
static int rank ()
static sizeType numElements ()
static diffType stride ()
static int ubound (int rank)
static bool lengthCheck (unsigned i)

Static Public Attributes

static const int rank_

Member Typedef Documentation

◆ const_iterator

typedef const T_numtype* blitz::TinyVector< T, N_length >::const_iterator

◆ iterator

typedef T_numtype* blitz::TinyVector< T, N_length >::iterator

◆ T_iterator

typedef FastTV2Iterator<T_numtype,N_length> blitz::TinyVector< T, N_length >::T_iterator

◆ T_numtype

typedef T blitz::TinyVector< T, N_length >::T_numtype

◆ T_range_result

typedef FastTV2CopyIterator<T, N_length> blitz::TinyVector< T, N_length >::T_range_result

◆ T_vector

typedef TinyVector<T_numtype,N_length> blitz::TinyVector< T, N_length >::T_vector

Constructor & Destructor Documentation

◆ TinyVector()

blitz::TinyVector< T, N_length >::TinyVector ( )
inline

◆ ~TinyVector()

blitz::TinyVector< T, N_length >::~TinyVector ( )
inline

Member Function Documentation

◆ _bz_assign()

void blitz::TinyVector< T, N_length >::_bz_assign ( P_expr ,
P_updater  )

◆ _tv_evaluate()

_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.

◆ base()

int blitz::TinyVector< T, N_length >::base ( )
inlinestatic

◆ begin()

iterator blitz::TinyVector< T, N_length >::begin ( )
inline

◆ beginFast()

T_iterator blitz::TinyVector< T, N_length >::beginFast ( ) const
inline

◆ canCollapse()

bool blitz::TinyVector< T, N_length >::canCollapse ( int outerLoopRank,
int innerLoopRank ) const
inline

◆ data()

T_numtype *restrict blitz::TinyVector< T, N_length >::data ( )
inline

◆ dataFirst()

T_numtype *restrict blitz::TinyVector< T, N_length >::dataFirst ( )
inline

◆ dimensions()

int blitz::TinyVector< T, N_length >::dimensions ( )
inlinestatic

◆ end()

iterator blitz::TinyVector< T, N_length >::end ( )
inline

◆ extent()

int blitz::TinyVector< T, N_length >::extent ( int rank)
inlinestatic

◆ fastRead()

const T_numtype & blitz::TinyVector< T, N_length >::fastRead ( diffType i) const
inline

◆ getInitializationIterator()

T_numtype *restrict blitz::TinyVector< T, N_length >::getInitializationIterator ( )
inline

◆ initialize()

T_vector & blitz::TinyVector< T, N_length >::initialize ( T_numtype )

◆ isVectorAligned()

bool blitz::TinyVector< T, N_length >::isVectorAligned ( diffType offset) const
inline

Since data_ is simd aligned by construction, we just have to check the offest.

◆ lbound()

int blitz::TinyVector< T, N_length >::lbound ( int rank)
inlinestatic

◆ length()

int blitz::TinyVector< T, N_length >::length ( int rank)
inlinestatic

◆ lengthCheck()

bool blitz::TinyVector< T, N_length >::lengthCheck ( unsigned i)
inlinestatic

◆ noConst()

T_vector & blitz::TinyVector< T, N_length >::noConst ( ) const
inline

◆ numElements()

sizeType blitz::TinyVector< T, N_length >::numElements ( )
inlinestatic

◆ operator%=()

T_vector & blitz::TinyVector< T, N_length >::operator%= ( const T & )

◆ operator&=()

T_vector & blitz::TinyVector< T, N_length >::operator&= ( const T & )

◆ operator()()

const T_numtype & blitz::TinyVector< T, N_length >::operator() ( unsigned i) const
inline

◆ operator*()

T_numtype blitz::TinyVector< T, N_length >::operator* ( ) const
inline

◆ operator*=()

T_vector & blitz::TinyVector< T, N_length >::operator*= ( const T & )

◆ operator+=()

T_vector & blitz::TinyVector< T, N_length >::operator+= ( const T & )

◆ operator-=()

T_vector & blitz::TinyVector< T, N_length >::operator-= ( const T & )

◆ operator/=()

T_vector & blitz::TinyVector< T, N_length >::operator/= ( const T & )

◆ operator<<=()

T_vector & blitz::TinyVector< T, N_length >::operator<<= ( const T & )

◆ operator=()

ListInitializationSwitch< T_vector, T_numtype * > blitz::TinyVector< T, N_length >::operator= ( T_numtype x)
inline

◆ operator>>=()

T_vector & blitz::TinyVector< T, N_length >::operator>>= ( const T & )

◆ operator[]()

const T_numtype & blitz::TinyVector< T, N_length >::operator[] ( unsigned i) const
inline

◆ operator^=()

T_vector & blitz::TinyVector< T, N_length >::operator^= ( const T & )

◆ operator|=()

T_vector & blitz::TinyVector< T, N_length >::operator|= ( const T & )

◆ ordering()

int blitz::TinyVector< T, N_length >::ordering ( int storageRankIndex)
inlinestatic

◆ rank()

int blitz::TinyVector< T, N_length >::rank ( )
inlinestatic

◆ shape()

const TinyVector< int, rank_ > blitz::TinyVector< T, N_length >::shape ( ) const
inline

◆ stride()

diffType blitz::TinyVector< T, N_length >::stride ( )
inlinestatic

◆ ubound()

int blitz::TinyVector< T, N_length >::ubound ( int rank)
inlinestatic

Member Data Documentation

◆ rank_

const int blitz::TinyVector< T, N_length >::rank_
static

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