Macros |
#define | TINT_ZERO (0) |
#define | TINT_ONE (1) |
#define | CVM_TINT_FORMAT "%d" |
#define | CVM0 TINT_ONE |
| Index base, 1 by default or 0 when CVM_ZERO_BASED is defined.
|
#define | CVM_MT |
#define | _PTHREADS |
#define | CVM_ASSERT(p, n) |
#define | CVM_OK 0 |
| Error code for No error.
|
#define | CVM_OUTOFMEMORY 1 |
| Error code for "Failed to allocate %u bytes of memory".
|
#define | CVM_WRONGSIZE 5 |
| Error code for "Wrong size %d".
|
#define | CVM_SIZESMISMATCH 6 |
| Error code for "Sizes mismatch: %d!=%d".
|
#define | CVM_WRONGMKLARG 7 |
| Error code for "Wrong argument %d passed to BLAS or LAPACK subroutine" - this one never gets called, XERBLA does the job.
|
#define | CVM_WRONGMKLARG2 8 |
| Error code for "Wrong argument %d passed to BLAS or LAPACK subroutine %s".
|
#define | CVM_SINGULARMATRIX 9 |
| Error code for "The diagonal element (or main minor) %d of the matrix is zero (or singular)".
|
#define | CVM_NOTPOSITIVEDEFINITE 10 |
| Error code for "The leading minor of order %d (and hence the matrix itself) is not positive-definite".
|
#define | CVM_WRONGCHOLESKYFACTOR 11 |
| Error code for "The diagonal element %d of the Cholesky factor (and hence the factor itself) is zero".
|
#define | CVM_WRONGBUNCHKAUFMANFACTOR 12 |
| Error code for "The diagonal element %d of the Bunch-Kaufman factor (and hence the factor itself) is zero".
|
#define | CVM_NOTPOSITIVEDIAG 13 |
| Error code for "The diagonal element %d of the matrix is nonpositive. Equilibration failed".
|
#define | CVM_CONVERGENCE_ERROR 14 |
| Error code for "Method failed to converge: %s at %s:%d".
|
#define | CVM_DIVISIONBYZERO 15 |
| Error code for "Attempt to divide by zero".
|
#define | CVM_SEMAPHOREERROR 16 |
| Error code for "Critical Section access error" (Windows) or "Semaphore access error" (Unix)
|
#define | CVM_READ_ONLY_ACCESS 17 |
| Error code for "Attempt to change a read-only element".
|
#define | CVM_SUBMATRIXACCESSERROR 18 |
| Error code for "Attempt to access non-continuous submatrix as a continuous array, see programmer's reference for details".
|
#define | CVM_SUBMATRIXNOTAVAILABLE 19 |
| Error code for "Submatrix instantiation is not available for class '%s', see programmer's reference for details".
|
#define | CVM_MATRIXNOTSYMMETRIC 20 |
| Error code for "The matrix passed doesn't appear to be symmetric".
|
#define | CVM_MATRIXNOTHERMITIAN 21 |
| Error code for "The matrix passed doesn't appear to be hermitian (%g vs. tolerance %g)".
|
#define | CVM_BREAKS_HERMITIANITY 22 |
| Error code for "This operation could make the matrix non-hermitian. Use %s instead".
|
#define | CVM_METHODNOTAVAILABLE 23 |
| Error code for "Function '%s' is not available for class '%s'. See programmer's reference for details".
|
#define | CVM_NOTIMPLEMENTED 24 |
| Error code for "Function '%s' is not implemented".
|
#define | CVM_CANT_RESIZE_SHARED_MEM 25 |
| Error code for "Can't resize shared memory".
|
#define | CVM_NOT_CONJUGATED 26 |
| Error code for "Complex numbers are not conjugated: (%g,%g) vs. (%g,%g) with tolerance %g".
|
#define | CVM_WRONGSIZE_LT 27 |
| Error code for "Wrong size: %d < %d".
|
#define | CVM_WRONGSIZE_LE 28 |
| Error code for "Wrong size: %d <= %d".
|
#define | CVM_INDEX_GT 29 |
| Error code for "Index value %d > %d".
|
#define | CVM_INDEX_GE 30 |
| Error code for "Index value %d >= %d".
|
#define | CVM_OUTOFRANGE_LTGT 31 |
| Error code for "Index value %d is out of [%d,%d] range".
|
#define | CVM_OUTOFRANGE_LTGE 32 |
| Error code for "Index value %d is out of [%d,%d) range".
|
#define | CVM_OUTOFRANGE_LTGE1 33 |
| Error code for "Index value %d is out of [%d,%d) range".
|
#define | CVM_OUTOFRANGE_LTGE2 34 |
| Error code for "Index value %d is out of [%d,%d) range".
|
#define | CVM_SIZESMISMATCH_GT 35 |
| Error code for "Sizes mismatch: %d > %d".
|
#define | CVM_SIZESMISMATCH_LT 36 |
| Error code for "Sizes mismatch: %d > %d".
|
#define | CVM_THE_LAST_ERROR_CODE 37 |
| Error code to be used it in derived classes while defining user error codes.
|
#define | CVM_MATRIX_ELEMENT_SEPARATOR " " |
#define | CVM_EOL std::endl |
#define | CVM_NAMESPACE_BEG namespace cvm { |
#define | CVM_NAMESPACE_END } |
#define | XERBLA xerbla_ |
| BLAS callback error handler, don't use.
|
Functions |
template<typename T > |
T * | cvmMalloc (tint nEls) throw (cvmexception) |
| define this to use Memory Pool Manager (not used by default sinse version 6.0)
|
template<typename T > |
tint | cvmFree (T *&pd) |
| Memory deallocator.
|
CVM_API void | cvmExit () |
| Memory pool destroyer.
|
template<typename T > |
void | cvmZeroMemory (T *p, tint nEls) |
| Memory cleaner.
|
template<typename T , typename TR > |
std::ostream & | operator<< (std::ostream &os, const type_proxy< T, TR > &mOut) |
| Sends proxy value to output stream.
|
template<typename T , typename TR > |
std::istream & | operator>> (std::istream &is, type_proxy< T, TR > &v) |
| Reads proxy value from input stream.
|
template<typename TR , typename TC > |
std::istream & | operator>> (std::istream &is, basic_array< TR, TC > &aIn) |
| Reads basic_array from input stream.
|
template<typename TR , typename TC > |
std::ostream & | operator<< (std::ostream &os, const basic_array< TR, TC > &aOut) |
| Writes basic_array to output stream.
|
template<typename TR , typename TC > |
std::istream & | operator>> (std::istream &is, Matrix< TR, TC > &mIn) |
| Reads Matrix from input stream.
|
template<typename TR , typename TC > |
std::ostream & | operator<< (std::ostream &os, const Matrix< TR, TC > &mOut) |
| Writes Matrix to output stream.
|
template<typename T , typename TR > |
std::complex< TR > | operator+ (const std::complex< TR > &u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename T , typename TR > |
std::complex< TR > | operator- (const std::complex< TR > &u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename T , typename TR > |
std::complex< TR > | operator* (const std::complex< TR > &u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename T , typename TR > |
std::complex< TR > | operator/ (const std::complex< TR > &u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename U , typename T , typename TR > |
T | operator+ (U u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename U , typename T , typename TR > |
T | operator- (U u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename U , typename T , typename TR > |
T | operator* (U u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename U , typename T , typename TR > |
T | operator/ (U u, const type_proxy< T, TR > &p) |
| Prefix version for proxy.
|
template<typename TR > |
basic_rvector< TR > | operator* (TR d, const basic_rvector< TR > &v) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_rmatrix< TR > | operator* (TR d, const basic_rmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_srmatrix< TR > | operator* (TR d, const basic_srmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_srbmatrix< TR > | operator* (TR d, const basic_srbmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_srsmatrix< TR > | operator* (TR d, const basic_srsmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_cvector< TR, TC > | operator* (TR d, const basic_cvector< TR, TC > &v) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_cmatrix< TR, TC > | operator* (TR d, const basic_cmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scmatrix< TR, TC > | operator* (TR d, const basic_scmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scbmatrix< TR, TC > | operator* (TR d, const basic_scbmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_schmatrix< TR, TC > | operator* (TR d, const basic_schmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_cvector< TR, TC > | operator* (std::complex< TR > c, const basic_cvector< TR, TC > &v) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_cmatrix< TR, TC > | operator* (std::complex< TR > c, const basic_cmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scmatrix< TR, TC > | operator* (std::complex< TR > c, const basic_scmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scbmatrix< TR, TC > | operator* (std::complex< TR > c, const basic_scbmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scmatrix< TR, TC > | operator* (std::complex< TR > c, const basic_schmatrix< TR, TC > &m) |
| Left-sided scalar multiplication (hermiticity gets lost here)
|
template<typename TR > |
basic_rvector< TR > | operator* (CVM_LONGEST_INT d, const basic_rvector< TR > &v) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_rmatrix< TR > | operator* (CVM_LONGEST_INT d, const basic_rmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_srmatrix< TR > | operator* (CVM_LONGEST_INT d, const basic_srmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_srbmatrix< TR > | operator* (CVM_LONGEST_INT d, const basic_srbmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
basic_srsmatrix< TR > | operator* (CVM_LONGEST_INT d, const basic_srsmatrix< TR > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_cvector< TR, TC > | operator* (CVM_LONGEST_INT d, const basic_cvector< TR, TC > &v) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_cmatrix< TR, TC > | operator* (CVM_LONGEST_INT d, const basic_cmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scmatrix< TR, TC > | operator* (CVM_LONGEST_INT d, const basic_scmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_scbmatrix< TR, TC > | operator* (CVM_LONGEST_INT d, const basic_scbmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR , typename TC > |
basic_schmatrix< TR, TC > | operator* (CVM_LONGEST_INT d, const basic_schmatrix< TR, TC > &m) |
| Left-sided scalar multiplication.
|
template<typename TR > |
const basic_srmatrix< TR > | basic_eye_real (tint nM) |
| Real identity matrix creation.
|
template<typename TR , typename TC > |
const basic_scmatrix< TR, TC > | basic_eye_complex (tint nM) |
| Complex identity matrix creation.
|
const srmatrix | eye_real (tint nM) |
| Real identity matrix creation.
|
const scmatrix | eye_complex (tint nM) |
| Complex identity matrix creation.
|
treal | cvmMachMin () |
| The smallest normalized positive number.
|
treal | cvmMachSp () |
| The largest relative spacing.
|
void __stdcall | XERBLA (const char *szSubName, const tint *pnParam) throw (cvm::cvmexception) |