TBCI Numerical high perf. C++ Library 2.8.0
TSVector< T > Class Template Reference

#include <vector.h>

Inheritance diagram for TSVector< T >:
Collaboration diagram for TSVector< T >:

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)
 TSVector (const TVector< T > &tv, const T &f=(T) 1)
 TSVector (const Vector< T > &v, const T &f=(T) 1)
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.
TVector< Toperator+ (TVector< T >) const HOT
 TV = TSV + TV Transformed to TV += TSV.
TVector< Toperator+ (const TSVector< T > &) const HOT
 TV = TSV + TSV.
TVector< Toperator+ (const T &) const
 TV = TSV + V.
TVector< Toperator- (const Vector< T > &) const HOT
 TV = TSV - V.
TVector< Toperator- (TVector< T >) const HOT
 TV = TSV - TV Transformed to -TV -= TSV.
TVector< Toperator- (const TSVector< T > &) const HOT
 TV = TSV - TSV.
TVector< Toperator- (const T &) const
 TV = TSV - V.
TVector< Tadd_t_tsv (const T &) const
 Helper member fn to prevent friendship TV = T + TSV.
TVector< Tsub_t_tsv (const T &) const
 TV = T - TSV.
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

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 1026 of file vector.h.

Member Typedef Documentation

◆ element_type

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

Definition at line 1048 of file vector.h.

◆ TALIGN

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

Definition at line 1049 of file vector.h.

◆ value_type

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

Definition at line 1047 of file vector.h.

Constructor & Destructor Documentation

◆ TSVector() [1/5]

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

◆ ~TSVector()

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

mut;

Definition at line 1054 of file vector.h.

◆ TSVector() [2/5]

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

Definition at line 1055 of file vector.h.

References dim, fac, mut, T, true, and vec.

◆ TSVector() [3/5]

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

Definition at line 1057 of file vector.h.

References dim, fac, mut, ts, TSVector(), and vec.

◆ TSVector() [4/5]

template<typename T>
TSVector< T >::TSVector ( const TVector< T > & tv,
const T & f = (T)1 )
inline

Definition at line 1060 of file vector.h.

References dim, fac, mut, T, true, and vec.

◆ TSVector() [5/5]

template<typename T>
TSVector< T >::TSVector ( const Vector< T > & v,
const T & f = (T)1 )
inline

Definition at line 1062 of file vector.h.

References dim, fac, false, mut, T, and vec.

Member Function Documentation

◆ abs()

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

Definition at line 1124 of file vector.h.

References abs(), CSTD__, fac, GLBL__, and T.

Referenced by abs(), and FGDT.

◆ add_t_tsv()

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, dim, fac, LIKELY, mut, BVector< T >::resize(), CRMatrix< T >::size(), STD_SMP_TEMPLATE4C, T, BVector< T >::vec, and vec.

Referenced by operator+().

◆ ALIGN()

template<typename T>
T fac TSVector< T >::ALIGN ( MIN_ALIGN2 )
mutableprotected

References fac, MIN_ALIGN2, and T.

◆ clone()

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(), dim, fac, LIKELY, mut, REGISTER, STD_SMP_TEMPLATE3VC, T, TBCICOPY, TBCIDELETE, UNLIKELY, and vec.

Referenced by eval().

◆ destroy()

template<typename T>
void TSVector< T >::destroy ( ) const
inline

◆ detach()

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

Definition at line 1179 of file vector.h.

References dim, LIKELY, mut, NEW, T, UNLIKELY, and vec.

Referenced by ediv().

◆ eval()

template<typename T>
const TSVector< T > & TSVector< T >::eval ( const T * vv = 0) const

Definition at line 1221 of file vector.h.

References clone(), dim, fac, mut, REGISTER, STD_SMP_TEMPLATE2C, T, TSVector(), and vec.

Referenced by TVector< T >::operator=().

◆ fabs()

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

Definition at line 1126 of file vector.h.

References fabs(), fac, GLBL__, and MATH__.

Referenced by fabs(), and FGDT.

◆ fabssqr()

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

Definition at line 1128 of file vector.h.

References fabssqr(), fac, GLBL2__, and TBCI__.

Referenced by fabssqr(), and FGDT.

◆ get()

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

Definition at line 1072 of file vector.h.

References fac, HOT, i, T, and vec.

Referenced by cediv(), cemul(), ediv(), emul(), CRMatrix< T >::operator*(), and CSCMatrix< T >::operator*().

◆ getcref()

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

Definition at line 1075 of file vector.h.

References HOT, i, T, and vec.

◆ getfac()

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

Definition at line 1073 of file vector.h.

References fac, and T.

◆ getfacref()

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

Definition at line 1074 of file vector.h.

References fac, and T.

Referenced by ediv().

◆ incr()

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, dim, i, T, and BVector< T >::vec.

◆ max()

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

Definition at line 1123 of file vector.h.

References Vector< T >::max(), and T.

◆ min()

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

Definition at line 1122 of file vector.h.

References Vector< T >::min(), and T.

◆ operator!=() [1/3]

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

Definition at line 1158 of file vector.h.

References ts, and TSVector().

◆ operator!=() [2/3]

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

Definition at line 1160 of file vector.h.

◆ operator!=() [3/3]

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

Definition at line 1156 of file vector.h.

◆ operator()()

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

Definition at line 1066 of file vector.h.

References destroy(), fac, i, T, and vec.

Referenced by operator[]().

◆ operator*()

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

Definition at line 1093 of file vector.h.

References fac, T, and TSVector().

◆ operator*=()

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

Definition at line 1091 of file vector.h.

References fac, T, and TSVector().

◆ operator+() [1/4]

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, dim, fac, LIKELY, mut, BVector< T >::resize(), STD_SMP_TEMPLATE4C, T, BVector< T >::vec, and vec.

◆ operator+() [2/4]

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

◆ operator+() [3/4]

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, dim, dims, fac, LIKELY, mut, BVector< T >::resize(), STD_SMP_TEMPLATE4V, BVector< T >::vec, and vec.

◆ operator+() [4/4]

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, dim, dims, fac, STD_SMP_TEMPLATE3VC, BVector< T >::vec, and vec.

◆ operator-() [1/5]

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

Definition at line 1096 of file vector.h.

References fac, and TSVector().

◆ operator-() [2/5]

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, dim, fac, LIKELY, mut, BVector< T >::resize(), STD_SMP_TEMPLATE4C, T, BVector< T >::vec, and vec.

◆ operator-() [3/5]

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

◆ operator-() [4/5]

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, dim, dims, fac, LIKELY, mut, BVector< T >::resize(), STD_SMP_TEMPLATE4V, BVector< T >::vec, and vec.

◆ operator-() [5/5]

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, dim, dims, fac, STD_SMP_TEMPLATE3VC, BVector< T >::vec, and vec.

◆ operator/()

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

Definition at line 1094 of file vector.h.

References fac, T, and TSVector().

◆ operator/=()

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

Definition at line 1092 of file vector.h.

References fac, T, and TSVector().

◆ operator=() [1/2]

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

Definition at line 1078 of file vector.h.

References destroy(), dim, fac, mut, ts, TSVector(), and vec.

◆ operator=() [2/2]

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

Definition at line 1081 of file vector.h.

References destroy(), BVector< T >::dim, dim, fac, mut, T, TSVector(), BVector< T >::vec, and vec.

◆ operator==() [1/3]

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

Definition at line 1268 of file vector.h.

References CRMatrix< T >::destroy(), dim, fac, i, LIKELY, REGISTER, T, TBCICOMP, ts, TSVector(), UNLIKELY, and vec.

◆ operator==() [2/3]

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

Definition at line 1159 of file vector.h.

◆ operator==() [3/3]

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

◆ operator[]()

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

Definition at line 1069 of file vector.h.

References i, operator()(), and T.

◆ size()

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

◆ sub_t_tsv()

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, dim, fac, LIKELY, mut, BVector< T >::resize(), CRMatrix< T >::size(), STD_SMP_TEMPLATE4C, T, BVector< T >::vec, and vec.

Referenced by operator-().

◆ sum()

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

Definition at line 1131 of file vector.h.

References destroy(), fac, sum(), and T.

Referenced by sum().

◆ vec_info()

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

Definition at line 1165 of file vector.h.

◆ vecptr()

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

Definition at line 1163 of file vector.h.

References T, and vec.

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

◆ CRMatrix< T >

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

Definition at line 1038 of file vector.h.

References T.

◆ FGD

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

◆ FGDT

template<typename T>
NOINST double FRIEND_TBCI__ fabssqr FGDT ( const TSVector< T > & )
friend

◆ operator<<FGD

template<typename T>
STD__ ostream & operator<<FGD ( STD__ ostream & ,
const TSVector< T > &  )
friend

References STD__, and TSVector().

◆ TVector< T >

template<typename T>
friend class TVector< T >
friend

Definition at line 1038 of file vector.h.

◆ Vector< T >

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

Definition at line 1038 of file vector.h.

Member Data Documentation

◆ dim

◆ mut

◆ vec


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