|
TBCI Numerical high perf. C++ Library 2.8.0
|
Provides some macros which are used throughout the library files. More...
#include "tbci/tbci_version.h"#include "tbci/config_manual.h"#include <iostream>#include <fstream>#include <iomanip>#include <string>#include <cstring>#include <cstdarg>#include <cstdlib>#include <cmath>#include "tbci/except.h"#include "perf_opt.h"#include "tbci_traits.h"#include "tbci_param.h"#include "plain_def.h"#include "malloc_cache.h"#include "cost.h"
Go to the source code of this file.
Classes | |
| class | TBCI::vec_fill_fn< T > |
Namespaces | |
| namespace | TBCI |
| The TBCI Numerical Library is put into TBCI namespace, if the compiler supports it (egcs-1.1.x and later for example). | |
| namespace | CPLX__ |
| namespace | std |
Macros | |
| #define | HAVE_UNIX 1 |
| #define | USE_NS |
| #define | SIGNATURE class |
| #define | RESTRICT |
| #define | LIKELY(expr) |
| branch prediction note that we sometimes on purpose mark the unlikely possibility likely and vice versa to optimize the fast path. | |
| #define | UNLIKELY(expr) |
| #define | REGISTER register |
| #define | TBCI_DLLEXPORT |
| #define | TBCI_DLLLOCAL |
| #define | FGD |
| #define | FGDT |
| #define | FGDU |
| #define | FGDTD |
| #define | FGDDT |
| #define | FGDCT |
| #define | FGDR |
| #define | ISTRINGSTREAM istrstream |
| strstream vs. s(tring)stream | |
| #define | OSTRINGSTREAM ostrstream |
| #define | STRINGSTREAM strstream |
| #define | LONG_DOUBLE double |
| #define | LONG_LONG long |
| #define | INST(x) |
| #define | INST2(x, y) |
| #define | INST3(x, y, z) |
| #define | INST4(x, y, z, a) |
| #define | INST5(x, y, z, a, b) |
| #define | INST6(x, y, z, a, b, c) |
| #define | NOINST |
| #define | INSTCTL(x) |
| #define | NULL (0) |
| #define | NAMESPACE_TBCI namespace TBCI { |
| #define | NAMESPACE_STD namespace std { |
| #define | NAMESPACE_CSTD namespace std { |
| #define | NAMESPACE_GRID namespace Grid { |
| #define | NAMESPACE_FD namespace Finite_Difference { |
| #define | NAMESPACE_CPLX namespace std { |
| #define | NAMESPACE_END } /* namespace */ |
| #define | NAMESPACE_STD_END } /* namespace std */ |
| #define | NAMESPACE_CSTD_END } /* namespace std */ |
| #define | NAMESPACE_CPLX_END } /* namespace std */ |
| #define | USING_TBCI using namespace TBCI; |
| #define | USING_GRID using namespace Grid; |
| #define | USING_FD using namespace Finite_Difference; |
| #define | USING_END using namespace std; /* Don't use! */ |
| #define | USING_STD using namespace std; |
| #define | TBCI__ TBCI:: |
| #define | __TBCI__ ::TBCI:: |
| #define | FRIEND_TBCI__ /* */ |
| #define | FRIEND_TBCI2__ /* */ |
| #define | GRID__ Grid:: |
| #define | FD__ FD:: |
| #define | STD__ std:: |
| #define | MATH__ std:: |
| #define | CSTD__ std:: |
| #define | CPLX__ std:: |
| #define | GLBL__ /* not needed if ::std:: is used */ |
| #define | GLBL2__ /* not needed if ::TBCI:: is used */ |
| #define | ABORT_RET(x) |
| Note (KG, 2001-06-06): Eventually MATH__ and CSTD__ are the same on all systems and thus all MATH__ could be replaced by CSTD__ . | |
| #define | ABORT_RET_NR do {} while (0) |
| #define | MIN_ALIGN 8 |
| #define | MIN_ALIGN2 16 |
| #define | ALIGN3(v, i, x) |
| #define | ALIGN2(v, x) |
| #define | ALIGN(x) |
| #define | TALIGN(x) |
| #define | CONSTA |
| #define | TBCI_CONST(x) |
| #define | REGPARMA(n) |
| #define | REGPARM(n, x) |
| #define | UNUSED |
| #define | WEAKA |
| #define | WEAK(x) |
| #define | TWEAK(x) |
| #define | HOT |
| #define | COLD |
| #define | HOTDECL(x) |
| #define | COLDDECL(x) |
| #define | __PRETTY_FUNCTION__ "<unknown>" |
| #define | TBCIERRH1 __PRETTY_FUNCTION__ |
| #define | TBCIERRM(cond, exc, txt, ind) |
| #define | TBCIERRS(cond, exc, txt, ind) |
| #define | BCHK(cond, exc, txt, ind, rtval) |
| #define | BCHKNR(cond, exc, txt, ind) |
| #define | EXPCHK(cond, exc, txt, ind, rtval) |
| #define | EXPCHKNR(cond, exc, txt, ind) |
| #define | MIN(a, b) |
| #define | MAX(a, b) |
| #define | INFO(x) |
| #define | RET(x) |
| #define | CONSTR(x) |
| #define | _VOID |
| #define | INLINE inline |
| #define | OMP_FOR |
| #define | OMP_FOR_REDUCE_F2 |
| #define | OMP_FOR_REDUCE_F1F2 |
| #define | PREFETCH_R(addr, loc) |
| In case gcc does not yet support __builtin_prefetch(), we have handcoded assembly with gcc for a few architectures. | |
| #define | PREFETCH_W(addr, loc) |
| #define | PREFETCH_R_MANY(addr, loc) |
| #define | PREFETCH_W_MANY(addr, loc) |
| #define | THREAD__ |
| #define | MAIN_PID (getpid()) |
| #define | num_threads (0) |
| #define | thrno (0) |
| #define | ismainthread (1) |
| #define | VEC_INLINE inline |
| #define | COPY2(res, v1, f1, f2) |
| #define | TBCICOPY(n, o, t, s) |
| #define | VEC_INLINE /*inline*/ |
| #define | FILL1(res, f1, f2) |
| #define | TBCIFILL(n, v, t, s) |
| #define | TBCICLEAR(n, t, s) |
| #define | _TBCICOMP(n, o, t, s) |
| #define | VEC_INLINE /*inline*/ |
| #define | COMP2(r, v1, f1, f2) |
| #define | TBCICOMP(n, o, t, s) |
| #define | _REF_ |
| #define | FABSSQR(T) |
| #define | FABS(T) |
| #define | SQRT(T) |
| #define | ABS(T) |
| #define | VEC_INLINE |
Typedefs | |
| typedef enum _vararg | TBCI::vararg |
Enumerations | |
| enum | TBCI::_vararg { TBCI::vag0 =0 , TBCI::vag1 , TBCI::vag2 , TBCI::vag3 , TBCI::vag4 , TBCI::vag5 , TBCI::vag6 , TBCI::vag7 , TBCI::vag8 , TBCI::vag9 , TBCI::vag10 , TBCI::vag11 , TBCI::vag12 , TBCI::vag13 , TBCI::vag14 , TBCI::vag15 , TBCI::vag16 , TBCI::vag_max = 4294967295U } |
| This is a helper type to identify and count varargs. More... | |
Functions | |
| template<typename T> | |
| void | TBCI::SWAP (T &a, T &b) |
| SWAP function Note: We could implement a swap function without temporaries: a -= b b += a a -= b a = -a That's four arithmetic operations to save one temporary and it can be only done for integers. | |
| template<typename T> | |
| void | TBCI::_tbci_copy (const unsigned long sz, T *const res, const T *const v1) |
| template<typename T> | |
| void | TBCI::_par_copy (const unsigned long sz, T *v1, const T *v2) |
| template<typename T> | |
| void | TBCI::_tbci_fill (const unsigned long sz, T *const res, register typename tbci_traits< T >::loop_const_refval_typef2) |
| template<typename T> | |
| void | TBCI::_par_fill (const unsigned long, T *const, typename tbci_traits< T >::loop_const_refval_type) |
| template<typename T> | |
| void | TBCI::_tbci_fill_fn (const unsigned long sz, T *vec, vec_fill_fn< T > fn, void *par) |
| template<typename T> | |
| void | TBCI::do_vv_comp (const unsigned long sz, const T *const v1, const T *const v2, volatile long &_f2) |
| f2 = number of differences vec, vec | |
| template<typename T> | |
| int | TBCI::_par_comp (const unsigned long sz, const T *v1, const T *v2) |
| template<typename T> | |
| unsigned long | TBCI::_bin_search (const T *vec, T el, unsigned long start, unsigned long end) |
| Search for an element el in a sorted vector between start and end-1, returns (unsigned long)-1 if element is not found. | |
| template<typename T> | |
| unsigned long | TBCI::bin_search (const T *vec, T el, unsigned long start, unsigned long end) |
| Search for an element el in a sorted vector between start and end-1, returns (unsigned long)-1 if element is not found. | |
| int | std::conj (const int arg) |
| conj for elementary types | |
| unsigned | std::conj (const unsigned arg) |
| long | std::conj (const long arg) |
| short | std::conj (const short arg) |
| char | std::conj (const char arg) |
| float | std::conj (const float arg) |
| double | std::conj (const double arg) |
| int | std::real (const int d) |
| unsigned | std::real (const unsigned d) |
| float | std::real (const float d) |
| double | std::real (const double d) |
| int | std::imag (const int d) |
| unsigned | std::imag (const unsigned d) |
| float | std::imag (const float d) |
| double | std::imag (const double d) |
| template<typename T> | |
| int | TBCI::sign (const T &x) |
| Signum. | |
| double | TBCI::fabssqr (const double a) |
| double | TBCI::fabssqr (const float a) |
| double | TBCI::fabssqr (const int a) |
| double | TBCI::fabssqr (const unsigned a) |
| template<typename T> | |
| T | TBCI::sqr (const T &a) |
| template<typename T> | |
| T | TBCI::dot (const T &a1, const T &a2) |
| double | std::fabs (const int a) |
| double | std::sqrt (const int a) |
| double | std::fabs (const unsigned int a) |
| unsigned | std::abs (const unsigned a) |
Provides some macros which are used throughout the library files.
basics.h should be included from any file. It contains basics definitions and macros used thoughout the library code.
The knowledge about compilers has been moved to config_manual.h, hooray! Next step will be to generate it with autoconf ...
The basics.h file is still a collection of awful stuff, but it's getting better.
Definition in file basics.h.
| #define _REF_ |
Definition at line 1055 of file basics.h.
Referenced by std::conj(), std::conj(), std::conj(), std::conj(), std::conj(), std::conj(), std::conj(), std::imag(), std::imag(), std::imag(), std::imag(), std::real(), std::real(), std::real(), and std::real().
| #define _TBCICOMP | ( | n, | |
| o, | |||
| t, | |||
| s ) |
| #define ABORT_RET | ( | x | ) |
Note (KG, 2001-06-06): Eventually MATH__ and CSTD__ are the same on all systems and thus all MATH__ could be replaced by CSTD__ .
The difference to STD__ is that STD__ refers to the C++ stuff in the namespace std::, while the CSTD__ (and MATH__) refers to C stuff which is wrapped into std:: by including cXXX headers
| #define ABS | ( | T | ) |
| #define ALIGN | ( | x | ) |
attributes definitions for alignment, weak, const, regparm, ...
Definition at line 444 of file basics.h.
Referenced by cplx< T >::div(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult_lnw(), do_bdmat_vec_mult_lnw_opt(), do_bdmat_vec_transmult_lnw(), do_bdmat_vec_transmult_lnw_opt(), expi(), F_TSMatrix< T >::fabs(), FS_Vector< dims, T >::max(), Vector< T >::max(), Vector< T >::max(), FS_Vector< dims, T >::min(), Vector< T >::min(), Vector< T >::min(), BdMatrix< T >::operator*(), F_Matrix< T >::operator*(), F_TSMatrix< T >::operator*(), Matrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), cplx< T >::operator*=(), cplx< T >::operator/(), Vector< T >::operator/(), BdMatrix< T >::operator/=(), cplx< T >::operator/=(), operator>>(), operator>>(), operator>>(), FS_Vector< dims, T >::sum(), TBCI::SWAP(), and BdMatrix< T >::trace().
| #define ALIGN2 | ( | v, | |
| x ) |
Definition at line 443 of file basics.h.
Referenced by LU_bkw_subst(), LU_bkw_subst(), lu_decomp(), lu_decomp(), LU_det(), LU_det(), LU_fwd_subst(), LU_fwd_subst(), ILU0_BdMatrixPreconditioner< T >::solve(), and ILU0_Symm_BdMatrixPreconditioner< T >::solve().
Definition at line 442 of file basics.h.
Referenced by dot(), F_Matrix< T >::operator*(), F_TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), F_TMatrix< T >::trace(), and TMatrix< T >::trace().
| #define BCHK | ( | cond, | |
| exc, | |||
| txt, | |||
| ind, | |||
| rtval ) |
Definition at line 575 of file basics.h.
Referenced by BdMatrix< T >::adddiag(), tbci_memalloc_cache< T >::alloc(), BVector< T >::append(), BVector< T >::append(), BdMatrix< T >::autoinsert(), TVector< T >::BdMatrix< T >, TBCI::bin_search(), bvfillm(), CTensor< T >::calc_indx(), CTensor< T >::calc_offs(), cediv(), cediv(), cediv(), cediv(), cediv(), cediv(), cediv(), cediv(), cediv(), cediv(), cemul(), cemul(), cemul(), cemul(), cemul(), cemul(), cemul(), cemul(), cemul(), cemul(), BVector< T >::cheapdownsize(), TMatrix< T >::cheapdownsizerow(), Tensor< T >::cntrmul(), Tensor< T >::contract(), CSCMatrix< T >::cscm_vec_mul_exact(), ctrmul(), tbci_memalloc_cache< T >::dealloc(), BdMatrix< T >::div_row(), Matrix< T >::div_row(), BdMatrix< T >::div_rows(), Matrix< T >::div_rows(), do_fbdmat_vec_mul(), dot(), BdMatrix< T >::dotMult(), ediv(), ediv(), ediv(), ediv(), ediv(), ediv(), ediv(), ediv(), ediv(), ediv(), emul(), emul(), emul(), emul(), emul(), emul(), emul(), emul(), emul(), emul(), BdMatrix< T >::expand(), TMatrix< T >::fill(), tbci_memalloc_cache< T >::find_by_sz(), gaussj(), BdMatrix< T >::get_col(), F_BandMatrix< T >::get_col(), TMatrix< T >::get_col(), BdMatrix< T >::get_row(), CRMatrix< T >::get_row(), F_TMatrix< T >::get_row(), CTensor< T >::getcref(), HOTDECL(), Index::idx_fill_in1(), Index::idx_fill_in2(), Index::idx_remove1(), Index::idx_remove2(), Index::idx_set1(), FS_Vector< dims, T >::incr(), TSVector< T >::incr(), TVector< T >::incr(), Vector< T >::incr(), tbci_memalloc_cache< T >::init(), LU_bkw_subst(), LU_bkw_subst(), lu_decomp(), lu_decomp(), LU_det(), LU_fwd_subst(), LU_fwd_subst(), LU_invert(), lu_solve(), Vector< T >::max(), metrmul(), Vector< T >::min(), CSCMatrix< T >::mult(), CSCMatrix< T >::mult1(), BdMatrix< T >::mult_row(), Matrix< T >::mult_row(), BdMatrix< T >::mult_rows(), Matrix< T >::mult_rows(), CSCMatrix< T >::multf(), Index::next_idx(), CRMatrix< T >::operator()(), CTensor< T >::operator()(), CTensor< T >::operator()(), F_BandMatrix< T >::operator()(), F_BandMatrix< T >::operator()(), F_Matrix< T >::operator()(), F_TMatrix< T >::operator()(), FS_Vector< dims, T >::operator()(), FS_Vector< dims, T >::operator()(), Matrix< T >::operator()(), BdMatrix< T >::operator*(), BdMatrix< T >::operator*(), CRMatrix< T >::operator*(), CRMatrix< T >::operator*(), CSCMatrix< T >::operator*(), CSCMatrix< T >::operator*(), CSCMatrix< T >::operator*(), F_Matrix< T >::operator*(), F_Matrix< T >::operator*(), F_TSMatrix< T >::operator*(), F_TSMatrix< T >::operator*(), Matrix< T >::operator*(), Matrix< T >::operator*(), Matrix< T >::operator*(), Matrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), Vector< T >::operator*(), CSCMatrix< T >::operator+(), Matrix< T >::operator+(), Matrix< T >::operator+(), Matrix< T >::operator+(), operator+(), Tensor< T >::operator+(), TMatrix< T >::operator+(), TSMatrix< T >::operator+(), TSMatrix< T >::operator+(), TSMatrix< T >::operator+(), TSVector< T >::operator+(), TSVector< T >::operator+(), TSVector< T >::operator+(), TVector< T >::operator+(), TVector< T >::operator+(), Vector< T >::operator+(), Vector< T >::operator+(), Vector< T >::operator+(), Tensor< T >::operator+=(), TMatrix< T >::operator+=(), TMatrix< T >::operator+=(), TVector< T >::operator+=(), TVector< T >::operator+=(), CSCMatrix< T >::operator-(), Matrix< T >::operator-(), Matrix< T >::operator-(), Matrix< T >::operator-(), operator-(), Tensor< T >::operator-(), TMatrix< T >::operator-(), TSMatrix< T >::operator-(), TSMatrix< T >::operator-(), TSMatrix< T >::operator-(), TSVector< T >::operator-(), TSVector< T >::operator-(), TSVector< T >::operator-(), TVector< T >::operator-(), TVector< T >::operator-(), Vector< T >::operator-(), Vector< T >::operator-(), Vector< T >::operator-(), Tensor< T >::operator-=(), TMatrix< T >::operator-=(), TMatrix< T >::operator-=(), TVector< T >::operator-=(), TVector< T >::operator-=(), F_Matrix< T >::operator/(), F_TMatrix< T >::operator/(), FS_Vector< dims, T >::operator/(), Matrix< T >::operator/(), operator/(), operator/(), TMatrix< T >::operator/(), Vector< T >::operator/(), Vector< T >::operator/(), BdMatrix< T >::operator/=(), F_TMatrix< T >::operator/=(), FS_Vector< dims, T >::operator/=(), TMatrix< T >::operator/=(), TVector< T >::operator/=(), BVector< T >::operator<=(), BdMatrix< T >::operator=(), BVector< T >::operator=(), CRMatrix< T >::operator=(), F_BandMatrix< T >::operator=(), F_TMatrix< T >::operator=(), F_TMatrix< T >::operator=(), F_TMatrix< T >::operator=(), TMatrix< T >::operator=(), TMatrix< T >::operator=(), TMatrix< T >::operator=(), TVector< T >::operator=(), TVector< T >::operator=(), BVector< T >::operator>=(), FS_Vector< dims, T >::operator[](), FS_Vector< dims, T >::operator[](), Index::prev_idx(), BVector< T >::remove(), BVector< T >::resize(), CRMatrix< T >::setunit(), CSCMatrix< T >::setunit(), F_TMatrix< T >::setunit(), TMatrix< T >::setunit(), BdMatrix< T >::setval(), CRMatrix< T >::setval(), CRMatrix< T >::setval(), slice(), TVector< T >::slice(), Vector< T >::slice(), ILU0_BdMatrixPreconditioner< T >::solve(), thread_dereg_callback(), F_TMatrix< T >::trace(), TMatrix< T >::trace(), BdMatrix< T >::transMult(), CRMatrix< T >::transMult(), CSCMatrix< T >::transMult(), F_BandMatrix< T >::transMult(), Matrix< T >::transMult(), CTensor< T >::transpose(), DiagPreconditioner< T, MatrixType >::update(), DILU_BdMatrixPreconditioner< T >::update(), and ILU0_BdMatrixPreconditioner< T >::update().
| #define BCHKNR | ( | cond, | |
| exc, | |||
| txt, | |||
| ind ) |
Definition at line 586 of file basics.h.
Referenced by _thread_start_off(), BdMatrix< T >::adddiag(), TMatrix< T >::alias(), CRMatrix< T >::allocate(), CSCMatrix< T >::allocate(), F_BandMatrix< T >::allocate(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::constructor(), CRMatrix< T >::copy(), CSCMatrix< T >::copy(), F_BandMatrix< T >::copy(), F_BandMatrix< T >::F_BandMatrix(), FS_Vector< dims, T >::FS_Vector(), FS_Vector< dims, T >::FS_Vector(), CSCMatrix< T >::insert(), CRMatrix< T >::MatVecMult(), CSCMatrix< T >::MatVecMult(), metrmul(), CTensor< T >::operator()(), CTensor< T >::operator()(), F_BandMatrix< T >::set_col(), F_TMatrix< T >::set_col(), TMatrix< T >::set_col(), TMatrix< T >::set_col_partial(), CRMatrix< T >::set_row(), CRMatrix< T >::set_row(), F_TMatrix< T >::set_row(), TMatrix< T >::set_row(), TMatrix< T >::set_row_partial(), F_BandMatrix< T >::setval(), DILU_BdMatrixPreconditioner< T >::solve(), thread_wait(), thread_wait_result(), TMatrix< T >::TMatrix(), and BdMatrix< T >::~BdMatrix().
| #define COMP2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 ) |
| #define COPY2 | ( | res, | |
| v1, | |||
| f1, | |||
| f2 ) |
| #define CSTD__ std:: |
Definition at line 340 of file basics.h.
Referenced by cplx< T >::abs(), TSVector< T >::abs(), BdMatrix< T >::autoinsert(), BdMatrix< T >::check_internal(), CSCMatrix< T >::clear(), F_BandMatrix< T >::copy(), tbci_memalloc_cache< T >::dealloc(), detect_num_cpu(), TSVector< T >::FGDT, free_threads(), FS_Vector< dims, T >::FS_Vector(), FS_Vector< dims, T >::FS_Vector(), if(), tbci_memalloc_cache< T >::init(), FS_Vector< dims, T >::init_0(), init_threads(), FS_Vector< dims, T >::operator BVector< T >(), operator<<(), F_BandMatrix< T >::operator=(), FS_Vector< dims, T >::operator=(), FS_Vector< dims, T >::operator==(), operator>>(), BdMatrix< T >::setval(), slice(), tbci_memalloc_cache< T >::smp_deinit(), and NumErr::~NumErr().
| #define EXPCHK | ( | cond, | |
| exc, | |||
| txt, | |||
| ind, | |||
| rtval ) |
Definition at line 630 of file basics.h.
Referenced by BdMatrix< T >::check(), BVector< T >::operator()(), BVector< T >::operator()(), Matrix< T >::operator()(), Matrix< T >::operator()(), Symm_BdMatrix< T >::operator()(), TMatrix< T >::operator()(), operator<<(), Mat_Brack< T >::operator[](), Mat_Brack< T >::operator[](), TMatrix< T >::operator[](), and DiagPreconditioner< T, MatrixType >::update().
| #define EXPCHKNR | ( | cond, | |
| exc, | |||
| txt, | |||
| ind ) |
Definition at line 631 of file basics.h.
Referenced by CSCMatrix< T >::setval().
| #define FABS | ( | T | ) |
| #define FABSSQR | ( | T | ) |
Definition at line 1155 of file basics.h.
Referenced by TBCI::fabssqr(), TBCI::fabssqr(), and TBCI::fabssqr().
| #define FILL1 | ( | res, | |
| f1, | |||
| f2 ) |
| #define FRIEND_TBCI2__ /* */ |
Definition at line 335 of file basics.h.
Referenced by BVector< T >::FGD, Matrix< T >::FGD, Matrix< T >::FGD, Tensor< T >::FGD, Tensor< T >::FGD, TMatrix< T >::FGD, TMatrix< T >::FGD, TSVector< T >::FGD, TVector< T >::FGD, TVector< T >::FGD, and BdMatrix< T >::FGDT.
| #define FRIEND_TBCI__ /* */ |
Definition at line 334 of file basics.h.
Referenced by TSVector< T >::FGDT, F_TMatrix< T >::operator*FGD, F_TMatrix< T >::operator*FGD, F_TSMatrix< T >::operator*FGD, TMatrix< T >::operator*FGD, TMatrix< T >::operator*FGD, TSMatrix< T >::operator*FGD, F_TMatrix< T >::operator+FGD, F_TMatrix< T >::operator+FGD, F_TSMatrix< T >::operator+FGD, TMatrix< T >::operator+FGD, TMatrix< T >::operator+FGD, TSMatrix< T >::operator+FGD, F_TMatrix< T >::operator-FGD, F_TMatrix< T >::operator-FGD, F_TSMatrix< T >::operator-FGD, TMatrix< T >::operator-FGD, TMatrix< T >::operator-FGD, and TSMatrix< T >::operator-FGD.
| #define GLBL2__ /* not needed if ::TBCI:: is used */ |
Definition at line 343 of file basics.h.
Referenced by TSMatrix< T >::fabssqr(), and TSVector< T >::fabssqr().
| #define GLBL__ /* not needed if ::std:: is used */ |
Definition at line 342 of file basics.h.
Referenced by cplx< T >::abs(), TSVector< T >::abs(), cplx< T >::acos(), cplx< T >::acosh(), cplx< T >::asin(), cplx< T >::asinh(), cplx< T >::exp(), cplx< T >::fabs(), fabs(), Matrix< T >::fabs(), TMatrix< T >::fabs(), TSMatrix< T >::fabs(), TSVector< T >::fabs(), cplx< T >::ln(), cplx< T >::power(), cplx< T >::power(), and cplx< T >::sqrt().
| #define HOT |
Definition at line 495 of file basics.h.
Referenced by BVector< T >::F_Matrix< T >, Vector< unsigned >::fabssqr(), TMatrix< T >::FGD, TMatrix< T >::FGD, Vector< T >::FGD, BdMatrix< T >::FGDT, BVector< unsigned >::fill(), BVector< T >::get(), TSVector< T >::get(), TSVector< T >::getcref(), Matrix< T >::Matrix(), BVector< unsigned >::operator()(), CSCMatrix< T >::operator()(), TSMatrix< T >::operator()(), TMatrix< T >::operator*FGD, TVector< unsigned >::operator+(), Vector< unsigned >::operator+(), TVector< unsigned >::operator-(), Vector< unsigned >::operator-(), TVector< unsigned >::operator/=(), Vector< T >::operator=(), Vector< T >::operator=(), Vector< T >::operator=(), BVector< unsigned >::operator==(), BVector< T >::set(), BVector< T >::size(), and TVector< T >::TVector().
| #define INLINE inline |
Definition at line 688 of file basics.h.
Referenced by FS_Vector< dims, T >::abs(), BVector< T >::append(), BVector< T >::append(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::fill(), FS_Vector< dims, T >::max(), FS_Vector< dims, T >::min(), BVector< T >::operator=(), BVector< T >::revert(), FS_Vector< dims, T >::sum(), BVector< T >::swap(), and BVector< T >::~BVector().
Definition at line 240 of file basics.h.
Referenced by FS_Vector< dims, T >::minus().
| #define ismainthread (1) |
Definition at line 784 of file basics.h.
Referenced by tbci_memalloc_cache< T >::alloc(), tbci_memalloc_cache< T >::dealloc(), free_threads(), init_threads(), and lina_thread().
| #define ISTRINGSTREAM istrstream |
| #define LIKELY | ( | expr | ) |
branch prediction note that we sometimes on purpose mark the unlikely possibility likely and vice versa to optimize the fast path.
Definition at line 100 of file basics.h.
Referenced by TSVector< T >::add_t_tsv(), BdMatrix< T >::adddiag(), BdMatrix< T >::autoinsert(), BiCGSTAB(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::BVector(), TMatrix< T >::cheapdownsizerow(), BdMatrix< T >::check_internal(), TSMatrix< T >::clone(), TSVector< T >::clone(), BdMatrix< T >::constructor(), BVector< T >::destroy(), TSVector< T >::destroy(), TSMatrix< T >::detach(), TSVector< T >::detach(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult(), do_bdmat_vec_mult_lnw(), do_bdmat_vec_transmult_lnw(), dot(), BdMatrix< T >::expand(), F_TMatrix< T >::F_TMatrix(), F_TMatrix< T >::F_TMatrix(), F_TMatrix< T >::F_TMatrix(), Vector< T >::fabssqr(), tbci_memalloc_cache< T >::find_and_rmv(), tbci_memalloc_cache< T >::free_and_enter(), BdMatrix< T >::get(), BdMatrix< T >::get_col(), BdMatrix< T >::get_row(), HOTDECL(), HOTDECL(), HOTDECL(), HOTDECL(), HOTDECL(), HOTDECL(), lu_decomp(), Vector< T >::max(), Vector< T >::max(), Vector< T >::min(), Vector< T >::min(), BdMatrix< T >::operator()(), BdMatrix< T >::operator()(), BdMatrix< T >::operator*(), Matrix< T >::operator*(), Matrix< T >::operator*(), Vector< T >::operator*(), TSMatrix< T >::operator+(), TSVector< T >::operator+(), TSVector< T >::operator+(), TSVector< T >::operator+(), TVector< T >::operator+(), Vector< T >::operator+(), TVector< T >::operator+=(), TSMatrix< T >::operator-(), TSVector< T >::operator-(), TSVector< T >::operator-(), TSVector< T >::operator-(), TVector< T >::operator-(), Vector< T >::operator-(), TVector< T >::operator-=(), TVector< T >::operator=(), TVector< T >::operator=(), BdMatrix< T >::operator==(), BVector< T >::operator==(), Matrix< T >::operator==(), Matrix< T >::operator==(), TMatrix< T >::operator==(), TMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSVector< T >::operator==(), TSVector< T >::operator==(), TVector< T >::operator==(), Vector< T >::operator==(), par_fill(), TSMatrix< T >::real_destroy(), BVector< T >::resize(), BVector< T >::resize(), BVector< T >::resize(), F_TMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::row_expand(), TMatrix< T >::row_expand(), TMatrix< T >::set_ptrs(), TMatrix< T >::setunit(), BdMatrix< T >::setval(), TBCI::sign(), ILU0_Symm_BdMatrixPreconditioner< T >::solve(), TSVector< T >::sub_t_tsv(), Vector< T >::sum(), cplx< T >::theta(), TMatrix< T >::TMatrix(), TMatrix< T >::TMatrix(), TMatrix< T >::TMatrix(), BdMatrix< T >::transMult(), Matrix< T >::transMult(), DILU_BdMatrixPreconditioner< T >::update(), and Vector< T >::Vector().
| #define LONG_LONG long |
Definition at line 224 of file basics.h.
Referenced by binom(), binomial(), and fac().
| #define MATH__ std:: |
Definition at line 339 of file basics.h.
Referenced by cplx< T >::abs(), FS_Vector< dims, T >::abs(), Vector< T >::abs(), cplx< T >::acos(), cplx< T >::acosh(), cplx< T >::asin(), asinh(), cplx< T >::asinh(), BdMatrix< T >::autoinsert(), basis_trafo(), bernoulli(), besselh1(), besselh1(), besselh2(), besselh2(), besseli(), besseli(), besselj(), besselj(), besselk(), besselk(), bessely(), bessely(), BiCG(), BiCGSTAB(), buf_minus(), CGS(), chi_s(), erfc3(), cplx< T >::exp(), expi(), expm3(), cplx< T >::fabs(), F_Matrix< T >::fabs(), F_TSMatrix< T >::fabs(), fabs(), FS_Vector< dims, T >::fabs(), Matrix< T >::fabs(), TMatrix< T >::fabs(), TSMatrix< T >::fabs(), TSVector< T >::fabs(), Vector< T >::fabs(), fact(), TSVector< T >::FGDT, CSCMatrix< T >::fill(), fix_condition(), gaussj(), if(), ldgamma(), cplx< T >::ln(), lu_decomp(), lu_decomp(), lu_solve(), lu_solve(), norm_1(), norm_1(), operator<(), operator<=(), BdMatrix< T >::operator==(), operator>(), operator>=(), poisson(), cplx< T >::power(), cplx< T >::power(), QMR(), cplx< T >::sqrt(), sv_decomp(), and sv_decomp_pythag().
Definition at line 656 of file basics.h.
Referenced by do_bdmat_vec_dotmult(), do_bdmat_vec_mult(), do_bdmat_vec_mult_diagw_exact(), do_bdmat_vec_transmult(), do_bdmat_vec_transmult_diagw_exact(), expm(), expm2(), expm3(), F_BandMatrix< T >::F_BandMatrix(), fix_condition(), init_threads(), lu_decomp(), lu_decomp(), LU_fwd_subst(), norm_1(), norm_1(), BdMatrix< T >::operator*(), operator+(), operator-(), sv_decomp(), and F_BandMatrix< T >::transposed_copy().
Safe MIN/MAX macros
Definition at line 655 of file basics.h.
Referenced by do_bdmat_vec_dotmult(), do_bdmat_vec_mult(), do_bdmat_vec_mult_diagw_exact(), do_bdmat_vec_mult_lnw_opt(), do_bdmat_vec_transmult(), do_bdmat_vec_transmult_diagw_exact(), do_bdmat_vec_transmult_lnw_opt(), do_fbdmat_vec_mul(), F_BandMatrix< T >::F_BandMatrix(), FS_Vector< dims, T >::FS_Vector(), LU_bkw_subst(), lu_decomp(), lu_decomp(), BdMatrix< T >::operator*(), BdMatrix< T >::reconfig(), BdMatrix< T >::removediag(), BdMatrix< T >::resize(), CSCMatrix< T >::resize(), F_TMatrix< T >::resize(), TMatrix< T >::resize(), F_TMatrix< T >::setunit(), TMatrix< T >::setunit(), slice(), sv_decomp(), F_BandMatrix< T >::transMult(), and F_BandMatrix< T >::transposed_copy().
| #define MIN_ALIGN 8 |
Definition at line 421 of file basics.h.
Referenced by cplx< T >::ALIGN(), F_TSMatrix< T >::ALIGN(), cplx< T >::div(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult_lnw(), do_bdmat_vec_transmult_lnw(), do_bdmat_vec_transmult_lnw_opt(), expi(), FS_Vector< dims, T >::max(), Vector< T >::max(), Vector< T >::max(), FS_Vector< dims, T >::min(), Vector< T >::min(), Vector< T >::min(), BdMatrix< T >::operator*(), F_TSMatrix< T >::operator*(), cplx< T >::operator*=(), cplx< T >::operator/(), Vector< T >::operator/(), BdMatrix< T >::operator/=(), cplx< T >::operator/=(), operator>>(), operator>>(), operator>>(), FS_Vector< dims, T >::sum(), TBCI::SWAP(), and BdMatrix< T >::trace().
| #define MIN_ALIGN2 16 |
Definition at line 424 of file basics.h.
Referenced by TSMatrix< T >::ALIGN(), TSVector< T >::ALIGN(), TMatrix< T >::BdMatrix< T >, do_bdmat_vec_dotmult(), do_bdmat_vec_mult_lnw_opt(), dot(), F_TMatrix< T >::F_Matrix< T >, F_TSMatrix< T >::F_Matrix< T >, F_Matrix< T >::F_TSMatrix< T >, LU_bkw_subst(), LU_bkw_subst(), lu_decomp(), lu_decomp(), LU_det(), LU_det(), LU_fwd_subst(), LU_fwd_subst(), F_Matrix< T >::operator*(), F_Matrix< T >::operator*(), F_TSMatrix< T >::operator*(), Matrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), ILU0_BdMatrixPreconditioner< T >::solve(), ILU0_Symm_BdMatrixPreconditioner< T >::solve(), F_TMatrix< T >::trace(), and TMatrix< T >::trace().
| #define NAMESPACE_CSTD_END } /* namespace std */ |
Definition at line 325 of file basics.h.
Referenced by std::abs().
| #define NAMESPACE_END } /* namespace */ |
Definition at line 323 of file basics.h.
Referenced by _bin_search< unsigned >(), TVector< T >::BdMatrix< T >, do_exactsum2(), eig(), hyper2geom1(), hyper2geom1(), SPEC_TBCI_TRAITS_ALWAYS_COPY(), SPEC_TBCI_TRAITS_ALWAYS_COPY(), VKERN_TEMPL_3V(), and WEAK().
| #define NAMESPACE_TBCI namespace TBCI { |
Definition at line 317 of file basics.h.
Referenced by std::abs(), and TVector< T >::BdMatrix< T >.
| #define NOINST |
Definition at line 244 of file basics.h.
Referenced by BVector< T >::FGD, Matrix< T >::FGD, TMatrix< T >::FGD, TMatrix< T >::FGD, TMatrix< T >::FGD, TMatrix< T >::FGD, TSVector< T >::FGD, TVector< T >::FGD, TVector< T >::FGD, BdMatrix< T >::FGDT, BdMatrix< T >::FGDT, TSVector< T >::FGDT, F_TMatrix< T >::operator*FGD, F_TMatrix< T >::operator*FGD, F_TSMatrix< T >::operator*FGD, TMatrix< T >::operator*FGD, TMatrix< T >::operator*FGD, TSMatrix< T >::operator*FGD, F_TMatrix< T >::operator+FGD, F_TMatrix< T >::operator+FGD, F_TSMatrix< T >::operator+FGD, TMatrix< T >::operator+FGD, TMatrix< T >::operator+FGD, TSMatrix< T >::operator+FGD, TVector< unsigned >::operator-(), F_TMatrix< T >::operator-FGD, F_TMatrix< T >::operator-FGD, F_TSMatrix< T >::operator-FGD, TMatrix< T >::operator-FGD, TMatrix< T >::operator-FGD, and TSMatrix< T >::operator-FGD.
| #define NULL (0) |
Definition at line 250 of file basics.h.
Referenced by List< T >::alias(), CRMatrix< T >::allocate(), CSCMatrix< T >::allocate(), F_BandMatrix< T >::allocate(), List< T >::app(), cback::cback(), List< T >::checklast(), CRMatrix< T >::copy(), CSCMatrix< T >::copy(), F_BandMatrix< T >::copy(), List< T >::delcurr(), List< T >::deltree(), List< T >::deltree(), CRMatrix< T >::destroy(), CSCMatrix< T >::destroy(), F_BandMatrix< T >::destroy(), List< T >::detachcurr(), empty_thread(), List< T >::erase(), free_threads(), List< T >::getbynr(), List< T >::getnr(), List< T >::getnr(), init_threads(), List< T >::inscurr(), CSCMatrix< T >::insert(), lina_thread(), List< T >::List(), List< T >::List(), CRMatrix< T >::operator=(), List< T >::operator=(), nsList< T, S >::qsort(), stopwatch_e::seconds(), CRMatrix< T >::set_row(), CRMatrix< T >::set_row(), CRMatrix< T >::setval(), CRMatrix< T >::setval(), and nsList< T, S >::sortin_r().
| #define num_threads (0) |
Definition at line 782 of file basics.h.
Referenced by _thread_start_off(), bind_threads(), free_threads(), init_threads(), reenable_threads(), tbci_memalloc_cache< T >::tbci_memalloc_cache(), thread_wait(), and thread_wait_result().
| #define PREFETCH_R | ( | addr, | |
| loc ) |
In case gcc does not yet support __builtin_prefetch(), we have handcoded assembly with gcc for a few architectures.
Some preliminary results:
Definition at line 748 of file basics.h.
Referenced by busy_read(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult_lnw_opt(), do_bdmat_vec_transmult_lnw_opt(), dot(), Vector< T >::fabssqr(), HOTDECL(), HOTDECL(), if(), lu_decomp(), Matrix< T >::operator*(), Matrix< T >::operator*(), Vector< T >::operator*(), and Vector< T >::sum().
| #define PREFETCH_R_MANY | ( | addr, | |
| loc ) |
Definition at line 764 of file basics.h.
Referenced by BdMatrix< T >::operator*(), and BdMatrix< T >::transMult().
| #define PREFETCH_W | ( | addr, | |
| loc ) |
Definition at line 749 of file basics.h.
Referenced by HOTDECL(), HOTDECL(), HOTDECL(), if(), Matrix< T >::operator*(), Matrix< T >::operator*(), and par_fill().
| #define PREFETCH_W_MANY | ( | addr, | |
| loc ) |
Definition at line 765 of file basics.h.
Referenced by BdMatrix< T >::operator*(), and BdMatrix< T >::transMult().
| #define REGISTER register |
Definition at line 108 of file basics.h.
Referenced by TBCI::_tbci_fill_fn(), BdMatrix< T >::autoinsert(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::BdMatrix(), BVector< T >::bubble_sort(), buf_minus(), CTensor< T >::calc_offs(), CTensor< T >::calclayout(), CTensor< T >::calcsize(), cediv(), cediv(), cediv(), cediv(), cediv(), cemul(), cemul(), cemul(), cemul(), cemul(), F_TSMatrix< T >::clone(), TSVector< T >::clone(), conj(), conj(), BdMatrix< T >::constructor(), BVector< T >::contains(), FS_Vector< dims, T >::contains(), CSCMatrix< T >::cscm_vec_mul_exact(), F_TSMatrix< T >::detach(), TSMatrix< T >::detach(), cplx< T >::div(), do_bdmat_vec_dotmult(), do_bdmat_vec_mult_diagw_exact(), do_bdmat_vec_mult_lnw(), do_bdmat_vec_mult_lnw_opt(), do_bdmat_vec_transmult_diagw_exact(), do_bdmat_vec_transmult_lnw(), do_bdmat_vec_transmult_lnw_opt(), do_fill_mat(), dot(), ediv(), ediv(), ediv(), ediv(), ediv(), emul(), emul(), emul(), emul(), emul(), F_TSMatrix< T >::eval(), TSVector< T >::eval(), exact_sum(), expi(), F_Matrix< T >::fabs(), F_TSMatrix< T >::fabs(), gaussj(), BdMatrix< T >::get(), CSCMatrix< T >::get(), BdMatrix< T >::get_col(), TMatrix< T >::get_col(), BdMatrix< T >::get_row(), F_TMatrix< T >::get_row(), if(), imag(), imag(), kahan_sum(), LU_bkw_subst(), LU_bkw_subst(), lu_decomp(), lu_decomp(), LU_det(), LU_det(), LU_fwd_subst(), LU_fwd_subst(), FS_Vector< dims, T >::max(), Vector< T >::max(), Vector< T >::max(), FS_Vector< dims, T >::min(), Vector< T >::min(), Vector< T >::min(), CSCMatrix< T >::mult(), CSCMatrix< T >::multf(), BdMatrix< T >::operator()(), BdMatrix< T >::operator()(), BdMatrix< T >::operator*(), CSCMatrix< T >::operator*(), F_Matrix< T >::operator*(), F_Matrix< T >::operator*(), F_Matrix< T >::operator*(), F_TSMatrix< T >::operator*(), F_TSMatrix< T >::operator*(), Matrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), TSMatrix< T >::operator*(), cplx< T >::operator*=(), BdMatrix< T >::operator-(), F_TMatrix< T >::operator-(), cplx< T >::operator/(), BdMatrix< T >::operator/=(), cplx< T >::operator/=(), F_Matrix< T >::operator==(), F_TMatrix< T >::operator==(), F_TSMatrix< T >::operator==(), F_TSMatrix< T >::operator==(), Matrix< T >::operator==(), TMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSVector< T >::operator==(), TSVector< T >::operator==(), Vector< T >::operator==(), real(), real(), BdMatrix< T >::reconfig(), BdMatrix< T >::resize(), BVector< T >::revert(), TMatrix< T >::row_expand(), TMatrix< T >::row_expand(), TMatrix< T >::set_col(), TMatrix< T >::set_col_partial(), TMatrix< T >::set_ptrs(), F_TMatrix< T >::set_row(), F_TMatrix< T >::setunit(), TMatrix< T >::setunit(), BdMatrix< T >::setval(), ILU0_BdMatrixPreconditioner< T >::solve(), ILU0_Symm_BdMatrixPreconditioner< T >::solve(), sqr(), FS_Vector< dims, T >::sum(), TBCI::SWAP(), BdMatrix< T >::trace(), F_TMatrix< T >::trace(), TMatrix< T >::trace(), CSCMatrix< T >::transMult(), BdMatrix< T >::transpose(), and DILU_BdMatrixPreconditioner< T >::update().
| #define RESTRICT |
Definition at line 89 of file basics.h.
Referenced by TMatrix< T >::set_ptrs().
| #define SQRT | ( | T | ) |
Definition at line 1206 of file basics.h.
Referenced by std::sqrt().
| #define STD__ std:: |
Definition at line 338 of file basics.h.
Referenced by BdMatrix< T >::adddiag(), BiCGSTAB(), buf_minus(), CGS(), F_TMatrix< T >::conj(), BdMatrix< T >::constructor(), Symm_BdMatrix< T >::create(), Symm_BdMatrix< T >::create(), dot(), eig(), eig(), eig(), eig(), eig(), eig(), expm3(), Vector< T >::fabssqr(), CSCMatrix< T >::fill(), BdMatrix< T >::free_diags(), gaussj(), F_TMatrix< T >::herm(), hyper2geom1(), hyper2geom1(), inv(), inv(), inv(), lu_decomp(), lu_solve(), lu_solve(), lu_solve(), lu_solve(), lu_solve(), lu_solve(), lu_solve(), lu_solve_expert(), CSCMatrix< T >::MatVecMult(), NumErr::NumErr(), NumErr::NumErr(), NumErr::NumErr(), NumErr::NumErr(), Symm_BdMatrix< T >::operator*(), Vector< T >::operator*(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), BdMatrix< T >::operator<<FGD, BVector< T >::operator<<FGD, cplx< T >::operator<<FGD, CRMatrix< T >::operator<<FGD, CTensor< T >::operator<<FGD, F_BandMatrix< T >::operator<<FGD, F_Matrix< T >::operator<<FGD, FS_Vector< dims, T >::operator<<FGD, Symm_BdMatrix< T >::operator<<FGD, TSVector< T >::operator<<FGD, TVector< T >::operator<<FGD, CSCMatrix< T >::operator<<FGDT, Matrix< T >::operator<<FGDT, BdMatrix< T >::operator=(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), BdMatrix< T >::operator>>FGD, BVector< T >::operator>>FGD, cplx< T >::operator>>FGD, CTensor< T >::operator>>FGD, F_Matrix< T >::operator>>FGD, FS_Vector< dims, T >::operator>>FGD, Matrix< T >::operator>>FGDT, QMR(), BdMatrix< T >::removediag(), Symm_BdMatrix< T >::setval(), sv_decomp(), F_TMatrix< T >::trans(), and ILU0_Symm_BdMatrixPreconditioner< T >::update().
| #define TBCI__ TBCI:: |
Definition at line 332 of file basics.h.
Referenced by abs(), abs(), abs(), abs(), abs(), acos(), acosh(), arg(), asin(), asinh(), atan(), atanh(), BiCGSTAB(), CGS(), conj(), cos(), cosh(), cplx< T >::exp(), exp(), expm(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), fabs(), TSMatrix< T >::fabssqr(), TSVector< T >::fabssqr(), TSVector< T >::FGDT, hyper2geom1(), imag(), imag(), log(), log10(), norm(), polar(), pow(), pow(), cplx< T >::power(), real(), real(), sin(), sinh(), SPEC_TBCI_TRAITS_ALWAYS_COPY(), SPEC_TBCI_TRAITS_ALWAYS_COPY(), SPEC_TBCI_TRAITS_LOOP_COPY(), SPEC_TBCI_TRAITS_LOOP_COPY(), cplx< T >::sqrt(), sqrt(), tan(), and tanh().
| #define TBCICLEAR | ( | n, | |
| t, | |||
| s ) |
Definition at line 913 of file basics.h.
Referenced by TMatrix< T >::clear(), BVector< T >::init_0(), and TMatrix< T >::setunit().
| #define TBCICOMP | ( | n, | |
| o, | |||
| t, | |||
| s ) |
The above discussion similarily holds for comparing things. memcmp() however is much less dangerous. You risk to have two logically identical objects, which still don't have the same bytes to be compared to be unequal. OTOH, our manual memcmp seems to be faster ...
Definition at line 981 of file basics.h.
Referenced by BdMatrix< T >::operator==(), BVector< T >::operator==(), F_Matrix< T >::operator==(), F_Matrix< T >::operator==(), F_TMatrix< T >::operator==(), F_TMatrix< T >::operator==(), F_TSMatrix< T >::operator==(), F_TSMatrix< T >::operator==(), Matrix< T >::operator==(), Matrix< T >::operator==(), TMatrix< T >::operator==(), TMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSVector< T >::operator==(), TSVector< T >::operator==(), and Vector< T >::operator==().
| #define TBCICOPY | ( | n, | |
| o, | |||
| t, | |||
| s ) |
Note (KG, 01/06/15): Discussing with Jan I just got the idea that copying of data with memcpy () is a dangerous thing to do. It only works, if the memory of the type T is contiguous (this is believed to be true) and does not have any pointers with dynamically allocated memory. Again, we have a speed vs. general implementation issue. memcpy () is believed to be faster, normally ... Actually, even the assignment can go wrong, if we have a slightly non-std meaning of assignment like the non-resizing of Vectors and Matrices.
Definition at line 895 of file basics.h.
Referenced by BVector< T >::append(), bvfillm(), F_TSMatrix< T >::clone(), TSMatrix< T >::clone(), TSVector< T >::clone(), BVector< T >::concat(), BdMatrix< T >::do_copy(), F_TMatrix< T >::F_TMatrix(), F_TMatrix< T >::F_TMatrix(), TMatrix< T >::fill(), F_TMatrix< T >::get_col(), TMatrix< T >::get_row(), Matrix< T >::operator()(), BVector< T >::operator=(), F_TMatrix< T >::operator=(), TMatrix< T >::operator=(), BdMatrix< T >::reconfig(), BVector< T >::remove(), BdMatrix< T >::resize(), BVector< T >::resize(), F_TMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::resize(), F_TMatrix< T >::set_col(), TMatrix< T >::set_row(), TMatrix< T >::set_row_partial(), Vector< T >::slice(), TMatrix< T >::TMatrix(), TMatrix< T >::TMatrix(), and Vector< T >::Vector().
| #define TBCIERRH1 __PRETTY_FUNCTION__ |
| #define TBCIERRM | ( | cond, | |
| exc, | |||
| txt, | |||
| ind ) |
| #define TBCIERRS | ( | cond, | |
| exc, | |||
| txt, | |||
| ind ) |
| #define TBCIFILL | ( | n, | |
| v, | |||
| t, | |||
| s ) |
Definition at line 912 of file basics.h.
Referenced by BdMatrix< T >::adddiag(), BVector< T >::BVector(), BdMatrix< T >::clear(), F_TMatrix< T >::clear(), F_TMatrix< T >::F_TMatrix(), BdMatrix< T >::fill(), BVector< T >::fill(), F_TMatrix< T >::fill(), TMatrix< T >::fill(), BdMatrix< T >::removediag(), BdMatrix< T >::resize(), F_TMatrix< T >::resize(), TMatrix< T >::resize(), BdMatrix< T >::setunit(), F_TMatrix< T >::setunit(), and TMatrix< T >::TMatrix().
| #define thrno (0) |
Definition at line 783 of file basics.h.
Referenced by tbci_memalloc_cache< T >::alloc(), tbci_memalloc_cache< T >::enter(), tbci_memalloc_cache< T >::find_and_rmv(), tbci_memalloc_cache< T >::find_by_sz(), tbci_memalloc_cache< T >::free_and_enter(), free_threads(), init_threads(), lina_thread(), tbci_memalloc_cache< T >::rmv(), and tbci_memalloc_cache< T >::smp_deinit().
| #define UNLIKELY | ( | expr | ) |
Definition at line 101 of file basics.h.
Referenced by cplx< T >::abs(), BdMatrix< T >::adddiag(), tbci_memalloc_cache< T >::alloc(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::BdMatrix(), BdMatrix< T >::BdMatrix(), BiCG(), BiCGSTAB(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::BVector(), BVector< T >::cheapdownsize(), TMatrix< T >::cheapdownsizerow(), TMatrix< T >::clear(), TSVector< T >::clone(), BdMatrix< T >::constructor(), BVector< T >::contains(), tbci_memalloc_cache< T >::dealloc(), TSVector< T >::detach(), BdMatrix< T >::expand(), cplx< T >::fabs(), tbci_memalloc_cache< T >::free_and_enter(), BVector< T >::init_0(), CSCMatrix< T >::insert(), lina_thread(), lu_decomp(), lu_decomp(), lu_solve(), Vector< T >::max(), Vector< T >::max(), Vector< T >::min(), Vector< T >::min(), TSVector< T >::operator+(), TSVector< T >::operator-(), operator<<(), BVector< T >::operator<=(), BdMatrix< T >::operator==(), Matrix< T >::operator==(), TMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSMatrix< T >::operator==(), TSVector< T >::operator==(), TSVector< T >::operator==(), Vector< T >::operator==(), BVector< T >::operator>=(), TMatrix< T >::real_destroy(), BVector< T >::remove(), BVector< T >::resize(), BVector< T >::resize(), BVector< T >::resize(), CSCMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::resize(), TMatrix< T >::row_expand(), TMatrix< T >::row_expand(), TMatrix< T >::set_ptrs(), TVector< T >::slice(), Vector< T >::slice(), cplx< T >::theta(), DILU_BdMatrixPreconditioner< T >::update(), ILU0_Symm_BdMatrixPreconditioner< T >::update(), Vector< T >::Vector(), and BVector< T >::~BVector().