TBCI Numerical high perf. C++ Library  2.8.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
TSVector< T > Class Template Reference

#include <bvector.h>

Inheritance diagram for TSVector< T >:
Inheritance graph
[legend]
Collaboration diagram for TSVector< T >:
Collaboration graph
[legend]

Public Types

typedef T value_type
 
typedef T element_type
 
typedef T aligned_value_type TALIGN (MIN_ALIGN2)
 

Public Member Functions

void detach (const T *=0) const
 
void destroy () const
 
const TSVector< T > & eval (const T *vv=0) const
 
 TSVector ()
 
 ~TSVector ()
 
 TSVector (const unsigned long d)
 
 TSVector (const TSVector< T > &ts)
 
 dim (tv.dim)
 
 fac (f)
 
 mut (true)
 
 dim (v.dim)
 
 fac (f)
 
 mut (false)
 
T operator() (const unsigned long i) const
 
T operator[] (const unsigned long i) const
 
T get (const unsigned long i) const HOT
 
const Tgetfac () const
 
Tgetfacref () const
 
const Tgetcref (const unsigned long i) const HOT
 
TSVector< T > & operator= (const TSVector< T > &ts)
 
TSVector< T > & operator= (const TVector< T > &tv)
 
TSVector< T > & operator*= (const T &f)
 
TSVector< T > & operator/= (const T &f)
 
const TSVector< T > & operator* (const T &f) const
 
const TSVector< T > & operator/ (const T &f) const
 
const TSVector< T > & operator- () const
 
TVector< Toperator+ (const Vector< T > &) const HOT
 TV = TSV + V. More...
 
TVector< Toperator+ (TVector< T >) const HOT
 TV = TSV + TV Transformed to TV += TSV. More...
 
TVector< Toperator+ (const TSVector< T > &) const HOT
 TV = TSV + TSV. More...
 
TVector< Toperator+ (const T &) const
 TV = TSV + V. More...
 
TVector< Toperator- (const Vector< T > &) const HOT
 TV = TSV - V. More...
 
TVector< Toperator- (TVector< T >) const HOT
 TV = TSV - TV Transformed to -TV -= TSV. More...
 
TVector< Toperator- (const TSVector< T > &) const HOT
 TV = TSV - TSV. More...
 
TVector< Toperator- (const T &) const
 TV = TSV - V. More...
 
TVector< Tadd_t_tsv (const T &) const
 Helper member fn to prevent friendship TV = T + TSV. More...
 
TVector< Tsub_t_tsv (const T &) const
 TV = T - TSV. More...
 
TVector< Tincr (const unsigned long, const T=(T) 1) const
 
unsigned long size () const
 
T min ()
 
T max ()
 
T abs () const
 
double fabs () const
 
double fabssqr () const
 
T sum ()
 
bool operator== (const Vector< T > &) const
 
bool operator!= (const Vector< T > &v) const
 
bool operator== (const TSVector< T > &) const
 
bool operator!= (const TSVector< T > &ts) const
 
bool operator== (const TVector< T > &tv) const
 
bool operator!= (const TVector< T > &tv) const
 
T *const & vecptr () const
 
- Public Member Functions inherited from Vector_Sig< T >
 Vector_Sig ()
 
 Vector_Sig (const unsigned)
 
 ~Vector_Sig ()
 
Vector_Sig< Toperator+ (const Vector_Sig< T > &) const
 
Vector_Sig< Toperator- (const Vector_Sig< T > &) const
 
Vector_Sig< Toperator* (const T &) const
 
Vector_Sig< Toperator/ (const T &) const
 
Vector_Sig< T > & operator+= (const Vector_Sig< T > &)
 
Vector_Sig< T > & operator-= (const Vector_Sig< T > &)
 
Vector_Sig< T > & operator*= (const T &)
 
Vector_Sig< T > & operator/= (const T &)
 
bool operator<= (const Vector_Sig< T > &) const
 
bool operator>= (const Vector_Sig< T > &) const
 
bool operator< (const Vector_Sig< T > &) const
 
bool operator> (const Vector_Sig< T > &) const
 
- Public Member Functions inherited from BVector_Sig< T >
 BVector_Sig ()
 
 BVector_Sig (const unsigned long)
 
 ~BVector_Sig ()
 
Toperator() (const unsigned long)
 
tbci_traits< T >::const_refval_type operator() (const unsigned long) const
 
unsigned long size () const
 
BVector_Sig< T > & fill (const T &)
 
BVector_Sig< T > & clear ()
 
bool operator== (const BVector_Sig< T > &) const
 
bool operator!= (const BVector_Sig< T > &) const
 

Static Public Member Functions

static const char * vec_info ()
 
- Static Public Member Functions inherited from BVector_Sig< T >
static const char * vec_info ()
 

Public Attributes

bool mut
 
 __pad0__: vec(tv.vec)
 
 __pad1__: vec(v.vec)
 

Protected Member Functions

T fac ALIGN (MIN_ALIGN2)
 
void clone (const bool=false, const T *=0) const
 

Protected Attributes

Tvec
 
unsigned long dim
 

Friends

class Vector< T >
 
class TVector< T >
 
class CRMatrix< T >
 
NOINST void FRIEND_TBCI2__
do_mat_tsv_mult 
FGD (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const TSVector< T > *rsv)
 
NOINST double FRIEND_TBCI__ fabssqr FGDT (const TSVector< T > &)
 
STD__ ostream & operator<< FGD (STD__ ostream &, const TSVector< T > &)
 

Detailed Description

template<typename T>
class TSVector< T >

Scaled temporary Vectors. Optimize operations by deferring the scaling of a Vector. Don't use them explicitly!

Definition at line 53 of file bvector.h.

Member Typedef Documentation

template<typename T>
typedef T TSVector< T >::element_type

Definition at line 1048 of file vector.h.

template<typename T>
typedef T aligned_value_type TSVector< T >::TALIGN(MIN_ALIGN2)

Definition at line 1049 of file vector.h.

template<typename T>
typedef T TSVector< T >::value_type

Definition at line 1047 of file vector.h.

Constructor & Destructor Documentation

template<typename T>
TSVector< T >::TSVector ( )
inline

Definition at line 1053 of file vector.h.

template<typename T>
TSVector< T >::~TSVector ( )
inline

mut;

Definition at line 1054 of file vector.h.

template<typename T>
TSVector< T >::TSVector ( const unsigned long  d)
inlineexplicit

Definition at line 1055 of file vector.h.

template<typename T>
TSVector< T >::TSVector ( const TSVector< T > &  ts)
inline

Definition at line 1057 of file vector.h.

Member Function Documentation

template<typename T>
T TSVector< T >::abs ( ) const
inline

Definition at line 1124 of file vector.h.

References CSTD__, TSVector< T >::fac(), and GLBL__.

template<typename T >
TVector< T > TSVector< T >::add_t_tsv ( const T v) const
inline

Helper member fn to prevent friendship TV = T + TSV.

Definition at line 1420 of file vector.h.

References BVector< T >::dim, fac, LIKELY, BVector< T >::resize(), CRMatrix< T >::size(), STD_SMP_TEMPLATE4C, and BVector< T >::vec.

Referenced by operator+().

template<typename T>
T fac TSVector< T >::ALIGN ( MIN_ALIGN2  )
mutableprotected
template<typename T >
void TSVector< T >::clone ( const bool  evl = false,
const T vv = 0 
) const
inlineprotected

Definition at line 1200 of file vector.h.

References detach(), fac, LIKELY, REGISTER, STD_SMP_TEMPLATE3VC, T, TBCICOPY, TBCIDELETE, and UNLIKELY.

template<typename T >
void TSVector< T >::destroy ( ) const
inline
template<typename T >
void TSVector< T >::detach ( const T vv = 0) const
inline

Definition at line 1179 of file vector.h.

References LIKELY, NEW, T, and UNLIKELY.

Referenced by ediv().

template<typename T>
TSVector< T >::dim ( tv.  dim)
template<typename T>
TSVector< T >::dim ( v.  dim)
template<typename T >
const TSVector< T > & TSVector< T >::eval ( const T vv = 0) const
template<typename T>
double TSVector< T >::fabs ( ) const
inline

Definition at line 1126 of file vector.h.

References TSVector< T >::fac(), GLBL__, and MATH__.

template<typename T>
double TSVector< T >::fabssqr ( ) const
inline

Definition at line 1128 of file vector.h.

References TSVector< T >::fac(), GLBL2__, and TBCI__.

Referenced by fabssqr().

template<typename T>
TSVector< T >::fac ( )
template<typename T>
TSVector< T >::fac ( )
template<typename T>
T TSVector< T >::get ( const unsigned long  i) const
inline
template<typename T>
const T& TSVector< T >::getcref ( const unsigned long  i) const
inline

Definition at line 1075 of file vector.h.

References i, and TSVector< T >::vec.

Referenced by ediv().

template<typename T>
const T& TSVector< T >::getfac ( ) const
inline

Definition at line 1073 of file vector.h.

References TSVector< T >::fac().

Referenced by ediv(), and operator*().

template<typename T>
T& TSVector< T >::getfacref ( ) const
inline

Definition at line 1074 of file vector.h.

References TSVector< T >::fac().

Referenced by ediv(), and operator*().

template<typename T >
TVector< T > TSVector< T >::incr ( const unsigned long  wh,
const T  i = (T)1 
) const
inline

Definition at line 1468 of file vector.h.

References BCHK, i, and BVector< T >::vec.

template<typename T>
T TSVector< T >::max ( )
inline

Definition at line 1123 of file vector.h.

References Vector< T >::max().

template<typename T>
T TSVector< T >::min ( )
inline

Definition at line 1122 of file vector.h.

References Vector< T >::min().

template<typename T>
TSVector< T >::mut ( true  )
inline

Definition at line 1061 of file vector.h.

template<typename T>
TSVector< T >::mut ( false  )
inline

Definition at line 1063 of file vector.h.

template<typename T>
bool TSVector< T >::operator!= ( const Vector< T > &  v) const
inline

Definition at line 1156 of file vector.h.

References v.

template<typename T>
bool TSVector< T >::operator!= ( const TSVector< T > &  ts) const
inline

Definition at line 1158 of file vector.h.

References ts.

template<typename T>
bool TSVector< T >::operator!= ( const TVector< T > &  tv) const
inline

Definition at line 1160 of file vector.h.

template<typename T>
T TSVector< T >::operator() ( const unsigned long  i) const
inline

Definition at line 1066 of file vector.h.

References TSVector< T >::destroy(), TSVector< T >::fac(), i, T, and TSVector< T >::vec.

Referenced by TSVector< T >::operator[]().

template<typename T>
const TSVector<T>& TSVector< T >::operator* ( const T f) const
inline

Definition at line 1093 of file vector.h.

References TSVector< T >::fac().

template<typename T>
TSVector<T>& TSVector< T >::operator*= ( const T f)
inline

Definition at line 1091 of file vector.h.

References TSVector< T >::fac().

template<typename T >
TVector< T > TSVector< T >::operator+ ( const Vector< T > &  v) const
inline

TV = TSV + V.

Definition at line 1320 of file vector.h.

References BCHK, BVector< T >::dim, dims, fac, LIKELY, BVector< T >::resize(), STD_SMP_TEMPLATE4V, and BVector< T >::vec.

template<typename T >
TVector< T > TSVector< T >::operator+ ( TVector< T tv) const
inline

TV = TSV + TV Transformed to TV += TSV.

Definition at line 1298 of file vector.h.

References BCHK, CRMatrix< T >::destroy(), BVector< T >::dim, dims, fac, STD_SMP_TEMPLATE3VC, and BVector< T >::vec.

template<typename T >
TVector< T > TSVector< T >::operator+ ( const TSVector< T > &  tsv) const
inline
template<typename T >
TVector< T > TSVector< T >::operator+ ( const T v) const
inline

TV = TSV + V.

Definition at line 1390 of file vector.h.

References BVector< T >::dim, fac, LIKELY, BVector< T >::resize(), STD_SMP_TEMPLATE4C, and BVector< T >::vec.

template<typename T>
const TSVector<T>& TSVector< T >::operator- ( ) const
inline

Definition at line 1096 of file vector.h.

References TSVector< T >::fac().

template<typename T >
TVector< T > TSVector< T >::operator- ( const Vector< T > &  v) const
inline

TV = TSV - V.

Definition at line 1335 of file vector.h.

References BCHK, BVector< T >::dim, dims, fac, LIKELY, BVector< T >::resize(), STD_SMP_TEMPLATE4V, and BVector< T >::vec.

template<typename T >
TVector< T > TSVector< T >::operator- ( TVector< T tv) const
inline

TV = TSV - TV Transformed to -TV -= TSV.

Definition at line 1309 of file vector.h.

References BCHK, CRMatrix< T >::destroy(), BVector< T >::dim, dims, fac, STD_SMP_TEMPLATE3VC, and BVector< T >::vec.

template<typename T >
TVector< T > TSVector< T >::operator- ( const TSVector< T > &  tsv) const
inline
template<typename T >
TVector< T > TSVector< T >::operator- ( const T v) const
inline

TV = TSV - V.

Definition at line 1404 of file vector.h.

References BVector< T >::dim, fac, LIKELY, BVector< T >::resize(), STD_SMP_TEMPLATE4C, and BVector< T >::vec.

template<typename T>
const TSVector<T>& TSVector< T >::operator/ ( const T f) const
inline

Definition at line 1094 of file vector.h.

References TSVector< T >::fac().

template<typename T>
TSVector<T>& TSVector< T >::operator/= ( const T f)
inline

Definition at line 1092 of file vector.h.

References TSVector< T >::fac().

template<typename T>
TSVector<T>& TSVector< T >::operator= ( const TSVector< T > &  ts)
inline
template<typename T>
TSVector<T>& TSVector< T >::operator= ( const TVector< T > &  tv)
inline
template<typename T >
bool TSVector< T >::operator== ( const Vector< T > &  v) const
template<typename T >
bool TSVector< T >::operator== ( const TSVector< T > &  ts) const
template<typename T>
bool TSVector< T >::operator== ( const TVector< T > &  tv) const
inline

Definition at line 1159 of file vector.h.

References v.

template<typename T>
T TSVector< T >::operator[] ( const unsigned long  i) const
inline

Definition at line 1069 of file vector.h.

References TSVector< T >::operator()().

template<typename T>
unsigned long TSVector< T >::size ( ) const
inline
template<typename T >
TVector< T > TSVector< T >::sub_t_tsv ( const T v) const
inline

TV = T - TSV.

Definition at line 1440 of file vector.h.

References BVector< T >::dim, fac, LIKELY, BVector< T >::resize(), CRMatrix< T >::size(), STD_SMP_TEMPLATE4C, and BVector< T >::vec.

Referenced by operator-().

template<typename T>
T TSVector< T >::sum ( )
inline

Definition at line 1131 of file vector.h.

References TSVector< T >::destroy(), TSVector< T >::fac(), and T.

template<typename T>
static const char* TSVector< T >::vec_info ( )
inlinestatic

Definition at line 1165 of file vector.h.

template<typename T>
T* const& TSVector< T >::vecptr ( ) const
inline

Definition at line 1163 of file vector.h.

References TSVector< T >::vec.

Referenced by cediv(), cemul(), ediv(), and emul().

Friends And Related Function Documentation

template<typename T>
friend class CRMatrix< T >
friend

Definition at line 1043 of file vector.h.

template<typename T>
NOINST void FRIEND_TBCI2__ do_mat_tsv_mult FGD ( const unsigned  start,
const unsigned  end,
TVector< T > *  res,
const Matrix< T > *  mat,
const TSVector< T > *  rsv 
)
friend
template<typename T>
NOINST double FRIEND_TBCI__ fabssqr FGDT ( const TSVector< T > &  )
friend
template<typename T>
STD__ ostream& operator<< FGD ( STD__ ostream &  ,
const TSVector< T > &   
)
friend
template<typename T>
friend class TVector< T >
friend

Definition at line 1042 of file vector.h.

template<typename T>
friend class Vector< T >
friend

Definition at line 1041 of file vector.h.

Member Data Documentation

template<typename T>
TSVector< T >::__pad0__

Definition at line 1061 of file vector.h.

template<typename T>
TSVector< T >::__pad1__

Definition at line 1063 of file vector.h.

template<typename T>
unsigned long TSVector< T >::dim
mutableprotected
template<typename T>
bool TSVector< T >::mut
mutable
template<typename T>
T* TSVector< T >::vec
mutableprotected

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