|
TBCI Numerical high perf. C++ Library
2.8.0
|
provides basic Vector functionality but arithmetic operators (+=, - , *, /...). More...
#include <bvector.h>


Public Types | |
| typedef T * | iterator |
| STL-like iterator support. More... | |
| typedef const T * | const_iterator |
Public Member Functions | |
| BVector (const unsigned long=0) | |
| BVector (const T &, const unsigned long) | |
| BVector (const BVector< T > &) HOT | |
| copy constructor More... | |
| BVector (const vararg va,...) | |
| void | destroy () |
| ~BVector () | |
| BVector< T > & | init_0 () |
| BVector< T > & | fill (const T &) HOT |
| BVector< T > & | resize (const BVector< T > &) |
| Actually it's a resize and copy (some people would expect the assignment op to do this) More... | |
| BVector< T > & | resize (const unsigned long) |
| BVector< T > & | resize (const T &, const unsigned long) |
| BVector< T > & | cheapdownsize (const unsigned long) |
| BVector< T > & | clear () |
| BVector< T > & | append (const T &) |
| performs poorly More... | |
| BVector< T > & | push_back (const T &value) |
| performs poorly More... | |
| BVector< T > & | append (const BVector< T > &) |
| BVector< T > & | remove (const unsigned long) |
| BVector< T > & | revert () |
| BVector< T > & | bubble_sort () |
| BVector< T > & | swap (BVector< T > &v) |
| T & | operator() (const unsigned long) HOT |
| tbci_traits< T >::const_refval_type | operator() (const unsigned long) const HOT |
| const T & | getcref (const unsigned long idx) const |
| tbci_traits< T >::const_refval_type | get (const unsigned long idx) const HOT |
| T & | set (const unsigned long idx) HOT |
| T & | set (const T &val, unsigned long idx) |
| T & | operator[] (const unsigned long i) |
| tbci_traits< T >::const_refval_type | operator[] (const unsigned long i) const |
| unsigned long | size () const HOT |
| T *const & | vecptr () const |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| BVector< T > & | setptr (T *pointer) |
| BVector< T > & | setsize (const unsigned long size) |
| T *const & | get_fortran_vector () const |
| void | set_fortran_vector (T *pointer) |
| BVector< T > & | operator= (const T &a) |
| BVector< T > & | operator= (const BVector< T > &) HOT |
| Note that the assignment op does NEVER resize the target BVector. More... | |
| BVector< T > & | alias (const BVector< T > &bv) |
| BVector< T > & | copy (const BVector< T > &bv) |
| copy does a resize, if necessary More... | |
| bool | operator== (const BVector< T > &) const HOT |
| KG, 2001-06-29: Strange: If we don't inline this, we seems to get better performance in our solver benchmark (iPIII) More... | |
| bool | operator!= (const BVector< T > &bv) const |
| bool | operator<= (const BVector< T > &bv) const |
| bool | operator>= (const BVector< T > &bv) const |
| bool | operator< (const BVector< T > &bv) const |
| bool | operator> (const BVector< T > &bv) const |
| bool | contains (const T &, unsigned long *=0) const |
| BVector< T > | concat (const BVector< T > &) const |
| template<typename U > | |
| BVector (const BVector< U > &bv) | |
Public Member Functions inherited from BVector_Sig< T > | |
| BVector_Sig () | |
| BVector_Sig (const unsigned long) | |
| ~BVector_Sig () | |
| T & | operator() (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 () |
Protected Types | |
| typedef T | value_type |
| typedef T | element_type |
| typedef T aligned_value_type | TALIGN (MIN_ALIGN2) |
Protected Attributes | |
| T * | vec |
| unsigned long | dim |
| bool | keep |
Friends | |
| class | TMatrix< T > |
| class | F_TMatrix< T > |
| class | F_Matrix< T > |
| template<typename U > | |
| class | BVector |
| NOINST BVector< T > &FRIEND_TBCI2__ bvfillm | FGD (BVector< T > &, const Matrix< T > &m) |
| STD__ ostream & | operator<< FGD (STD__ ostream &, const BVector< T > &) |
| STD__ istream & | operator>> FGD (STD__ istream &, BVector< T > &) |
provides basic Vector functionality but arithmetic operators (+=, - , *, /...).
Mainly useful for storage.
| typedef const T* BVector< T >::const_iterator |
|
protected |
|
protected |
|
protected |
Definition at line 235 of file bvector.h.
References BVector< T >::dim, NEW, T, UNLIKELY, and BVector< T >::vec.
Definition at line 296 of file bvector.h.
References BVector< T >::dim, LIKELY, NEW, T, TBCIFILL, and BVector< T >::vec.
copy constructor
Definition at line 282 of file bvector.h.
References BVector< T >::dim, LIKELY, NEW, T, TBCICOPY, and BVector< T >::vec.
Definition at line 247 of file bvector.h.
References BVector< T >::dim, i, LIKELY, NEW, T, UNLIKELY, and BVector< T >::vec.
Definition at line 275 of file bvector.h.
References BVector< T >::destroy(), BVector< T >::keep, and UNLIKELY.
performs poorly
Definition at line 412 of file bvector.h.
References BCHK, BVector< T >::dim, REALLOC, T, and BVector< T >::vec.
Referenced by BdMatrix< T >::adddiag(), BVector< T >::append(), dctmul(), Tensor< T >::drctmul(), and BVector< unsigned >::push_back().
Definition at line 423 of file bvector.h.
References BVector< T >::append(), BCHK, BVector< T >::dim, REALLOC, T, TBCICOPY, and BVector< T >::vec.
|
inline |
Definition at line 394 of file bvector.h.
References BVector< T >::dim, i, REGISTER, T, and BVector< T >::vec.
Definition at line 308 of file bvector.h.
References BCHK, BVector< T >::dim, BVector< T >::resize(), and UNLIKELY.
Definition at line 593 of file bvector.h.
References c, BVector< T >::dim, T, TBCICOPY, and BVector< T >::vec.
Referenced by concat().
|
inline |
Definition at line 580 of file bvector.h.
References BVector< T >::dim, i, REGISTER, UNLIKELY, and BVector< T >::vec.
Referenced by BdMatrix< T >::adddiag(), Vector< unsigned >::contains(), BdMatrix< T >::operator==(), operator>>(), and BdMatrix< T >::removediag().
copy does a resize, if necessary
Definition at line 484 of file bvector.h.
References BVector< T >::resize().
Referenced by lu_solve(), and BdMatrix< T >::resize().
Definition at line 268 of file bvector.h.
References BVector< T >::dim, LIKELY, T, TBCIDELETE, and BVector< T >::vec.
Referenced by BVector< unsigned >::alias(), cediv(), cemul(), ediv(), emul(), TVector< T >::operator()(), TSMatrix< T >::operator*(), BVector< T >::~BVector(), and Vector< unsigned >::~Vector().
|
inline |
Definition at line 378 of file bvector.h.
References BVector< T >::dim, T, TBCIFILL, and BVector< T >::vec.
Referenced by BVector< unsigned >::clear(), Vector< unsigned >::fill(), BVector< unsigned >::operator=(), and BVector< T >::resize().
|
inline |
Definition at line 132 of file bvector.h.
Referenced by BdMatrix< T >::adddiag(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::check_internal(), Symm_BdMatrix< T >::construct(), BdMatrix< T >::constructor(), BdMatrix< T >::div_row(), BdMatrix< T >::div_rows(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult(), do_bdmat_vec_mult_diagw_exact(), do_bdmat_vec_mult_lnw(), do_bdmat_vec_mult_lnw_opt(), do_bdmat_vec_transmult(), do_bdmat_vec_transmult_diagw_exact(), do_bdmat_vec_transmult_lnw(), do_bdmat_vec_transmult_lnw_opt(), BdMatrix< T >::do_copy(), BdMatrix< T >::get_col(), BdMatrix< T >::get_row(), BdMatrix< T >::mult_row(), BdMatrix< T >::mult_rows(), BdMatrix< T >::operator TMatrix< T >(), BdMatrix< T >::operator-(), BdMatrix< T >::operator/=(), BdMatrix< T >::operator==(), BdMatrix< T >::reconfig(), BdMatrix< T >::removediag(), BdMatrix< T >::resize(), BdMatrix< T >::transpose(), and DILU_BdMatrixPreconditioner< T >::update().
Definition at line 164 of file bvector.h.
Referenced by eig(), inv(), lu_solve(), and lu_solve_expert().
Definition at line 129 of file bvector.h.
Referenced by do_bdmat_vec_dotmult(), do_bdmat_vec_mult_lnw_opt(), and do_bdmat_vec_transmult_lnw_opt().
Definition at line 469 of file bvector.h.
References BVector< T >::dim, EXPCHK, i, index, and BVector< T >::vec.
Referenced by Vector< unsigned >::operator()(), and BVector< unsigned >::operator[]().
|
inline |
Definition at line 462 of file bvector.h.
References BVector< T >::dim, EXPCHK, i, index, and BVector< T >::vec.
Definition at line 509 of file bvector.h.
References BCHK, BVector< T >::dim, i, UNLIKELY, and BVector< T >::vec.
Referenced by Vector< unsigned >::operator<=().
Definition at line 168 of file bvector.h.
Referenced by TVector< T >::operator=().
Note that the assignment op does NEVER resize the target BVector.
Definition at line 476 of file bvector.h.
References BCHK, BVector< T >::dim, T, TBCICOPY, and BVector< T >::vec.
KG, 2001-06-29: Strange: If we don't inline this, we seems to get better performance in our solver benchmark (iPIII)
Definition at line 495 of file bvector.h.
References BVector< T >::dim, LIKELY, T, TBCICOMP, and BVector< T >::vec.
Referenced by Vector< unsigned >::operator==().
Definition at line 520 of file bvector.h.
References BCHK, BVector< T >::dim, i, UNLIKELY, and BVector< T >::vec.
Referenced by Vector< unsigned >::operator>=().
Definition at line 435 of file bvector.h.
References BCHK, BVector< T >::dim, NEW, T, TBCICOPY, TBCIDELETE, UNLIKELY, and BVector< T >::vec.
Referenced by BdMatrix< T >::removediag().
Actually it's a resize and copy (some people would expect the assignment op to do this)
Definition at line 361 of file bvector.h.
References BVector< T >::dim, LIKELY, NEW, T, TBCICOPY, TBCIDELETE, UNLIKELY, and BVector< T >::vec.
Referenced by TSVector< T >::add_t_tsv(), BdMatrix< T >::BdMatrix(), cediv(), cemul(), BVector< T >::cheapdownsize(), BdMatrix< T >::constructor(), BVector< T >::copy(), BdMatrix< T >::destroy(), ediv(), eig(), emul(), TSVector< T >::operator+(), Vector< T >::operator+(), TSVector< T >::operator-(), Vector< T >::operator-(), CTensor< T >::operator=(), BdMatrix< T >::operator=(), BdMatrix< T >::reconfig(), BVector< T >::resize(), CTensor< T >::resize(), BdMatrix< T >::resize(), Symm_BdMatrix< T >::setval(), and TSVector< T >::sub_t_tsv().
Definition at line 321 of file bvector.h.
References BCHK, c, BVector< T >::dim, LIKELY, NEW, REALLOC, BVector< T >::resize(), T, TBCIDELETE, UNLIKELY, and BVector< T >::vec.
Definition at line 342 of file bvector.h.
References c, BVector< T >::dim, BVector< T >::fill(), LIKELY, NEW, T, TBCIDELETE, UNLIKELY, and BVector< T >::vec.
Definition at line 385 of file bvector.h.
References BVector< T >::dim, REGISTER, and BVector< T >::vec.
Definition at line 134 of file bvector.h.
Referenced by BdMatrix< T >::adddiag(), BdMatrix< T >::BdMatrix(), Symm_BdMatrix< T >::construct(), BdMatrix< T >::constructor(), BdMatrix< T >::do_copy(), BdMatrix< T >::expand(), BdMatrix< T >::operator-(), BdMatrix< T >::operator/=(), BdMatrix< T >::removediag(), BVector< unsigned >::set(), Symm_BdMatrix< T >::setval(), and BdMatrix< T >::transpose().
Definition at line 144 of file bvector.h.
Referenced by BdMatrix< T >::adddiag(), BdMatrix< T >::BdMatrix(), Symm_BdMatrix< T >::construct(), BdMatrix< T >::constructor(), Symm_BdMatrix< T >::create(), BdMatrix< T >::destroy(), BdMatrix< T >::div_row(), BdMatrix< T >::div_rows(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult(), do_bdmat_vec_mult_diagw_exact(), do_bdmat_vec_mult_lnw(), do_bdmat_vec_mult_lnw_opt(), do_bdmat_vec_transmult(), do_bdmat_vec_transmult_diagw_exact(), do_bdmat_vec_transmult_lnw(), do_bdmat_vec_transmult_lnw_opt(), BdMatrix< T >::do_copy(), FS_Vector< dims, T >::FS_Vector(), BdMatrix< T >::get_col(), BdMatrix< T >::get_row(), BdMatrix< T >::mult_row(), BdMatrix< T >::mult_rows(), BdMatrix< T >::operator TMatrix< T >(), BdMatrix< T >::operator-(), BdMatrix< T >::operator/=(), BdMatrix< T >::operator=(), BdMatrix< T >::operator==(), BdMatrix< T >::reconfig(), BdMatrix< T >::resize(), BVector< unsigned >::setsize(), Symm_BdMatrix< T >::setval(), BdMatrix< T >::transpose(), DILU_BdMatrixPreconditioner< T >::update(), and BdMatrix< T >::~BdMatrix().
Definition at line 451 of file bvector.h.
References BVector< T >::dim, BVector< T >::keep, TBCI::SWAP(), and BVector< T >::vec.
Referenced by BdMatrix< T >::transpose().
Definition at line 147 of file bvector.h.
Referenced by FS_Vector< dims, T >::FS_Vector(), and BVector< unsigned >::get_fortran_vector().
|
friend |
|
friend |
Definition at line 74 of file bvector.h.
Referenced by TSVector< T >::add_t_tsv(), BVector< unsigned >::alias(), BVector< T >::append(), BVector< T >::bubble_sort(), BVector< T >::BVector(), BVector< unsigned >::BVector(), bvfillm(), CG(), CG2(), CGS(), BVector< T >::cheapdownsize(), CHEBY(), BVector< T >::concat(), BVector< T >::contains(), BVector< T >::destroy(), BVector< unsigned >::end(), BVector< T >::fill(), TMatrix< T >::fill(), BVector< unsigned >::init_0(), Index::next_idx(), BVector< T >::operator()(), TVector< T >::operator+(), TSVector< T >::operator+(), Vector< T >::operator+(), TVector< T >::operator+=(), TVector< T >::operator-(), TSVector< T >::operator-(), Vector< T >::operator-(), TVector< T >::operator-=(), BVector< T >::operator<=(), TVector< T >::operator=(), BVector< T >::operator=(), TSVector< T >::operator=(), BVector< T >::operator==(), TSVector< T >::operator==(), BVector< T >::operator>=(), operator>>(), Index::prev_idx(), BVector< T >::remove(), BVector< T >::resize(), BVector< T >::revert(), F_TMatrix< T >::set_col(), TMatrix< T >::set_col(), TMatrix< T >::set_col_partial(), TMatrix< T >::set_row(), TMatrix< T >::set_row_partial(), BVector< unsigned >::setsize(), TVector< T >::size(), BVector< unsigned >::size(), Vector< T >::slice(), TSVector< T >::sub_t_tsv(), BVector< T >::swap(), TVector< T >::TVector(), and Vector< unsigned >::Vector().
Definition at line 75 of file bvector.h.
Referenced by BVector< unsigned >::alias(), BVector< T >::swap(), BVector< T >::~BVector(), and TVector< T >::~TVector().
Definition at line 73 of file bvector.h.
Referenced by TSVector< T >::add_t_tsv(), BVector< unsigned >::alias(), BVector< T >::append(), BVector< unsigned >::begin(), BVector< T >::bubble_sort(), BVector< T >::BVector(), BVector< unsigned >::BVector(), bvfillm(), BVector< T >::concat(), BVector< T >::contains(), BVector< T >::destroy(), dot(), BVector< unsigned >::end(), F_TMatrix< T >::F_TMatrix(), BVector< T >::fill(), TMatrix< T >::fill(), BVector< unsigned >::get(), TVector< T >::get(), F_TMatrix< T >::get_col(), TMatrix< T >::get_col(), F_TMatrix< T >::get_row(), TMatrix< T >::get_row(), BVector< unsigned >::getcref(), TVector< T >::getcref(), TSVector< T >::incr(), Vector< T >::incr(), BVector< unsigned >::init_0(), BVector< T >::operator()(), TVector< T >::operator()(), Matrix< T >::operator()(), BdMatrix< T >::operator*(), Vector< T >::operator*(), Matrix< T >::operator*(), TVector< T >::operator+(), TSVector< T >::operator+(), Vector< T >::operator+(), TVector< T >::operator+=(), TVector< T >::operator-(), TSVector< T >::operator-(), Vector< T >::operator-(), TVector< T >::operator-=(), BVector< T >::operator<=(), TVector< T >::operator=(), BVector< T >::operator=(), TSVector< T >::operator=(), TVector< T >::operator==(), BVector< T >::operator==(), TSVector< T >::operator==(), BVector< T >::operator>=(), operator>>(), BVector< T >::remove(), BVector< T >::resize(), BVector< T >::revert(), BVector< unsigned >::set(), TVector< T >::set(), F_TMatrix< T >::set_col(), TMatrix< T >::set_col(), TMatrix< T >::set_col_partial(), F_TMatrix< T >::set_row(), TMatrix< T >::set_row(), TMatrix< T >::set_row_partial(), BVector< unsigned >::setptr(), TVector< T >::setval(), Vector< T >::slice(), TSVector< T >::sub_t_tsv(), BVector< T >::swap(), TMatrix< T >::TMatrix(), BdMatrix< T >::transMult(), TVector< T >::TVector(), BVector< unsigned >::vecptr(), and Vector< unsigned >::Vector().
1.8.5