TBCI::FS_Vector< dims, T > Class Template Reference

Implementation of fixed sized Vectors (template argument) which is favorable for small Vectors, where the overhead of dynamically allocating and freeing memory and it's management is too expensive. More...

#include <fs_vector.h>

Inheritance diagram for TBCI::FS_Vector< dims, T >:

Inheritance graph
[legend]
Collaboration diagram for TBCI::FS_Vector< dims, T >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef T value_type
typedef T element_type
typedef T aligned_value_type

Public Member Functions

 FS_Vector ()
 FS_Vector (const T v)
 FS_Vector (const FS_Vector< dims, T > &pc)
 FS_Vector (const BVector< T > &bv)
 FS_Vector (const vararg,...)
 operator BVector< T > () const
T & operator[] (const unsigned long i)
const T & operator[] (const unsigned long i) const
T & operator() (const unsigned long i)
const T & operator() (const unsigned long i) const
T & operator* ()
const T & operator* () const
template<typename U>
 FS_Vector (const FS_Vector< dims, U > &fsv)
FS_Vector< dims, T > & init_0 ()
FS_Vector< dims, T > & fill (const T &)
FS_Vector< dims, T > & clear ()
unsigned long size () const
FS_Vector< dims, T > & operator= (const T &a)
FS_Vector< dims, T > & operator= (const FS_Vector< dims, T > &fv)
bool operator== (const FS_Vector< dims, T > &) const
bool operator!= (const FS_Vector< dims, T > &fv) const
FS_Vector< dims, T > & operator+= (const FS_Vector< dims, T > &)
FS_Vector< dims, T > & operator-= (const FS_Vector< dims, T > &)
FS_Vector< dims, T > & operator+= (const T &)
FS_Vector< dims, T > & operator-= (const T &)
FS_Vector< dims, T > & operator*= (const T &)
FS_Vector< dims, T > & operator/= (const T &)
FS_Vector< dims, T > operator+ (const FS_Vector< dims, T > &) const
FS_Vector< dims, T > operator- (const FS_Vector< dims, T > &) const
FS_Vector< dims, T > operator+ (const T &) const
FS_Vector< dims, T > operator- (const T &) const
FS_Vector< dims, T > operator* (const T &) const
FS_Vector< dims, T > operator/ (const T &) const
FS_Vector< dims, T > operator- () const
FS_Vector< dims, T > incr (const unsigned long, const T=(T) 1) const
FS_Vector< dims, T > mult (const T &) const
FS_Vector< dims, T > plus (const T &) const
FS_Vector< dims, T > minus (const T &) const
bool contains (const T &, unsigned long *=0) const
min () const
max () const
sum () const
double fabssqr () const
double fabs () const
abs () const
bool operator<= (const FS_Vector< dims, T > &fv) const
bool operator>= (const FS_Vector< dims, T > &fv) const
bool operator< (const FS_Vector< dims, T > &fv) const
bool operator> (const FS_Vector< dims, T > &fv) const
T * vecptr () const
T * get_fortran_vector () const

Protected Attributes

x [dims]

Friends

class FS_Vector
std::ostream & operator<< (std::ostream &, const FS_Vector< dims, T > &)
std::istream & operator>> (std::istream &, FS_Vector< dims, T > &)
dot (const FS_Vector< dims, T > &, const FS_Vector< dims, T > &)


Detailed Description

template<unsigned dims, typename T>
class TBCI::FS_Vector< dims, T >

Implementation of fixed sized Vectors (template argument) which is favorable for small Vectors, where the overhead of dynamically allocating and freeing memory and it's management is too expensive.

As the compiler knows the dimension of the FS_Vector at compile time, do advanced optimizations such as loop unrolling. Interface resembles the one of Vector.

Definition at line 62 of file fs_vector.h.


Member Typedef Documentation

template<unsigned dims, typename T>
typedef T TBCI::FS_Vector< dims, T >::value_type

Definition at line 68 of file fs_vector.h.

template<unsigned dims, typename T>
typedef T TBCI::FS_Vector< dims, T >::element_type

Definition at line 69 of file fs_vector.h.

template<unsigned dims, typename T>
typedef T TBCI::FS_Vector< dims, T >::aligned_value_type

Definition at line 70 of file fs_vector.h.


Constructor & Destructor Documentation

template<unsigned dims, typename T>
TBCI::FS_Vector< dims, T >::FS_Vector (  )  [inline]

Definition at line 72 of file fs_vector.h.

template<unsigned dims, typename T>
TBCI::FS_Vector< dims, T >::FS_Vector ( const T  v  )  [inline]

Definition at line 73 of file fs_vector.h.

template<unsigned dims, typename T>
TBCI::FS_Vector< dims, T >::FS_Vector ( const FS_Vector< dims, T > &  pc  )  [inline]

Definition at line 74 of file fs_vector.h.

References CSTD__, dims, T, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
TBCI::FS_Vector< dims, T >::FS_Vector ( const BVector< T > &  bv  )  [inline]

template<unsigned dims, typename T>
TBCI::FS_Vector< dims, T >::FS_Vector ( const vararg  va,
  ... 
) [inline]

template<unsigned dims, typename T>
template<typename U>
TBCI::FS_Vector< dims, T >::FS_Vector ( const FS_Vector< dims, U > &  fsv  )  [inline, explicit]

Definition at line 96 of file fs_vector.h.

References dims.


Member Function Documentation

template<unsigned dims, typename T>
TBCI::FS_Vector< dims, T >::operator BVector< T > (  )  const [inline]

Definition at line 217 of file fs_vector.h.

References CSTD__, dims, T, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
T & TBCI::FS_Vector< dims, T >::operator[] ( const unsigned long  i  )  [inline]

Definition at line 231 of file fs_vector.h.

References BCHK, dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
const T & TBCI::FS_Vector< dims, T >::operator[] ( const unsigned long  i  )  const [inline]

Definition at line 225 of file fs_vector.h.

References BCHK, dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
T & TBCI::FS_Vector< dims, T >::operator() ( const unsigned long  i  )  [inline]

Reimplemented from TBCI::BVector_Sig< T >.

Definition at line 243 of file fs_vector.h.

References BCHK, dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
const T & TBCI::FS_Vector< dims, T >::operator() ( const unsigned long  i  )  const [inline]

Reimplemented from TBCI::BVector_Sig< T >.

Definition at line 237 of file fs_vector.h.

References BCHK, dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
T& TBCI::FS_Vector< dims, T >::operator* (  )  [inline]

Definition at line 88 of file fs_vector.h.

template<unsigned dims, typename T>
const T& TBCI::FS_Vector< dims, T >::operator* (  )  const [inline]

Definition at line 89 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector<dims,T>& TBCI::FS_Vector< dims, T >::init_0 (  )  [inline]

Definition at line 100 of file fs_vector.h.

References CSTD__, dims, and T.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::fill ( const T &  v  )  [inline]

Reimplemented from TBCI::BVector_Sig< T >.

Definition at line 250 of file fs_vector.h.

References dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
FS_Vector<dims,T>& TBCI::FS_Vector< dims, T >::clear (  )  [inline]

Reimplemented from TBCI::BVector_Sig< T >.

Definition at line 104 of file fs_vector.h.

Referenced by TBCI::FS_Vector< dims, T >::FS_Vector(), and TBCI::slice().

template<unsigned dims, typename T>
unsigned long TBCI::FS_Vector< dims, T >::size (  )  const [inline]

Reimplemented from TBCI::BVector_Sig< T >.

Definition at line 106 of file fs_vector.h.

References dims.

template<unsigned dims, typename T>
FS_Vector<dims,T>& TBCI::FS_Vector< dims, T >::operator= ( const T &  a  )  [inline]

Definition at line 109 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator= ( const FS_Vector< dims, T > &  fv  )  [inline]

Definition at line 258 of file fs_vector.h.

References CSTD__, dims, T, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::operator== ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 265 of file fs_vector.h.

References CSTD__, dims, T, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::operator!= ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 115 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator+= ( const FS_Vector< dims, T > &  fv  )  [inline]

Definition at line 293 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator-= ( const FS_Vector< dims, T > &  fv  )  [inline]

Definition at line 294 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator+= ( const T &  v  )  [inline]

Definition at line 318 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator-= ( const T &  v  )  [inline]

Definition at line 319 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator*= ( const T &  v  )  [inline]

Reimplemented from TBCI::Vector_Sig< T >.

Definition at line 320 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > & TBCI::FS_Vector< dims, T >::operator/= ( const T &  v  )  [inline]

Reimplemented from TBCI::Vector_Sig< T >.

Definition at line 339 of file fs_vector.h.

References BCHK, T, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator+ ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 306 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator- ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 307 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator+ ( const T &  v  )  const [inline]

Definition at line 333 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator- ( const T &  v  )  const [inline]

Definition at line 334 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator* ( const T &  v  )  const [inline]

Reimplemented from TBCI::Vector_Sig< T >.

Definition at line 335 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator/ ( const T &  v  )  const [inline]

Reimplemented from TBCI::Vector_Sig< T >.

Definition at line 349 of file fs_vector.h.

References BCHK, dims, T, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::operator- (  )  const [inline]

Definition at line 360 of file fs_vector.h.

References dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::incr ( const unsigned long  wh,
const T  i = (T)1 
) const [inline]

Definition at line 370 of file fs_vector.h.

References BCHK, dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::mult ( const T &  v  )  const [inline]

Definition at line 557 of file fs_vector.h.

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::plus ( const T &  v  )  const [inline]

Definition at line 558 of file fs_vector.h.

Referenced by TBCI::operator+().

template<unsigned dims, typename T>
FS_Vector< dims, T > TBCI::FS_Vector< dims, T >::minus ( const T &  v  )  const [inline]

Definition at line 559 of file fs_vector.h.

Referenced by TBCI::operator-().

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::contains ( const T &  val,
unsigned long *  ind = 0 
) const [inline]

Definition at line 423 of file fs_vector.h.

References dims, and TBCI::FS_Vector< dims, T >::x.

template<unsigned dims, typename T>
T TBCI::FS_Vector< dims, T >::min (  )  const [inline]

Definition at line 434 of file fs_vector.h.

References ALIGN, dims, MIN_ALIGN, T, and TBCI::FS_Vector< dims, T >::x.

Referenced by TBCI::min().

template<unsigned dims, typename T>
T TBCI::FS_Vector< dims, T >::max (  )  const [inline]

Definition at line 445 of file fs_vector.h.

References ALIGN, dims, MIN_ALIGN, T, and TBCI::FS_Vector< dims, T >::x.

Referenced by TBCI::max().

template<unsigned dims, typename T>
T TBCI::FS_Vector< dims, T >::sum (  )  const [inline]

Definition at line 456 of file fs_vector.h.

References ALIGN, dims, MIN_ALIGN, T, and TBCI::FS_Vector< dims, T >::x.

Referenced by TBCI::sum().

template<unsigned dims, typename T>
double TBCI::FS_Vector< dims, T >::fabssqr (  )  const [inline]

template<unsigned dims, typename T>
double TBCI::FS_Vector< dims, T >::fabs (  )  const [inline]

Definition at line 482 of file fs_vector.h.

References TBCI::FS_Vector< dims, T >::fabssqr(), MATH__, and sqrt().

template<unsigned dims, typename T>
T TBCI::FS_Vector< dims, T >::abs (  )  const [inline]

Definition at line 488 of file fs_vector.h.

References TBCI::FS_Vector< dims, T >::fabssqr(), MATH__, sqrt(), and T.

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::operator<= ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 160 of file fs_vector.h.

References TBCI::fabssqr().

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::operator>= ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 162 of file fs_vector.h.

References TBCI::FS_Vector< dims, T >::fabssqr(), and TBCI::fabssqr().

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::operator< ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 164 of file fs_vector.h.

template<unsigned dims, typename T>
bool TBCI::FS_Vector< dims, T >::operator> ( const FS_Vector< dims, T > &  fv  )  const [inline]

Definition at line 166 of file fs_vector.h.

template<unsigned dims, typename T>
T* TBCI::FS_Vector< dims, T >::vecptr (  )  const [inline]

Definition at line 190 of file fs_vector.h.

References T.

Referenced by TBCI::slice().

template<unsigned dims, typename T>
T* TBCI::FS_Vector< dims, T >::get_fortran_vector (  )  const [inline]

Definition at line 191 of file fs_vector.h.


Friends And Related Function Documentation

template<unsigned dims, typename T>
friend class FS_Vector [friend]

Definition at line 94 of file fs_vector.h.

template<unsigned dims, typename T>
std:: ostream& operator<< ( std::ostream &  os,
const FS_Vector< dims, T > &  fv 
) [friend]

Definition at line 380 of file fs_vector.h.

template<unsigned dims, typename T>
std:: istream& operator>> ( std::istream &  in,
FS_Vector< dims, T > &  v 
) [friend]

Definition at line 391 of file fs_vector.h.

template<unsigned dims, typename T>
T dot ( const FS_Vector< dims, T > &  fv1,
const FS_Vector< dims, T > &  fv2 
) [friend]

Definition at line 466 of file fs_vector.h.

Referenced by TBCI::FS_Vector< dims, T >::fabssqr().


Member Data Documentation

template<unsigned dims, typename T>
T TBCI::FS_Vector< dims, T >::x[dims] [protected]


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

Generated on Wed Nov 20 09:29:30 2013 for TBCI Numerical high perf. C++ Library by  doxygen 1.5.6