Chemical Data Processing Library C++ API - Version 1.2.0
|
Contains classes and functions related to mathematics. More...
Typedefs | |
typedef ScalingMatrix< float > | FScalingMatrix |
typedef ScalingMatrix< double > | DScalingMatrix |
typedef ScalingMatrix< long > | LScalingMatrix |
typedef ScalingMatrix< unsigned long > | ULScalingMatrix |
typedef RotationMatrix< float > | FRotationMatrix |
typedef RotationMatrix< double > | DRotationMatrix |
typedef RotationMatrix< long > | LRotationMatrix |
typedef RotationMatrix< unsigned long > | ULRotationMatrix |
typedef TranslationMatrix< float > | FTranslationMatrix |
typedef TranslationMatrix< double > | DTranslationMatrix |
typedef TranslationMatrix< long > | LTranslationMatrix |
typedef TranslationMatrix< unsigned long > | ULTranslationMatrix |
typedef ZeroGrid< float > | FZeroGrid |
typedef ZeroGrid< double > | DZeroGrid |
typedef ScalarGrid< float > | FScalarGrid |
typedef ScalarGrid< double > | DScalarGrid |
typedef Grid< float > | FGrid |
An unbounded dense grid holding floating point values of type float . More... | |
typedef Grid< double > | DGrid |
An unbounded dense grid holding floating point values of type double . More... | |
typedef ZeroMatrix< float > | FZeroMatrix |
typedef ZeroMatrix< double > | DZeroMatrix |
typedef ZeroMatrix< long > | LZeroMatrix |
typedef ZeroMatrix< unsigned long > | ULZeroMatrix |
typedef ScalarMatrix< float > | FScalarMatrix |
typedef ScalarMatrix< double > | DScalarMatrix |
typedef ScalarMatrix< long > | LScalarMatrix |
typedef ScalarMatrix< unsigned long > | ULScalarMatrix |
typedef IdentityMatrix< float > | FIdentityMatrix |
typedef IdentityMatrix< double > | DIdentityMatrix |
typedef IdentityMatrix< long > | LIdentityMatrix |
typedef IdentityMatrix< unsigned long > | ULIdentityMatrix |
typedef Matrix< float > | FMatrix |
An unbounded dense matrix holding floating point values of type float .. More... | |
typedef Matrix< double > | DMatrix |
An unbounded dense matrix holding floating point values of type double .. More... | |
typedef Matrix< long > | LMatrix |
An unbounded dense matrix holding signed integers of type long . More... | |
typedef Matrix< unsigned long > | ULMatrix |
An unbounded dense matrix holding unsigned integers of type unsigned long . More... | |
typedef CMatrix< float, 2, 2 > | Matrix2F |
A bounded 2x2 matrix holding floating point values of type float . More... | |
typedef CMatrix< float, 3, 3 > | Matrix3F |
A bounded 3x3 matrix holding floating point values of type float . More... | |
typedef CMatrix< float, 4, 4 > | Matrix4F |
A bounded 4x4 matrix holding floating point values of type float . More... | |
typedef CMatrix< double, 2, 2 > | Matrix2D |
A bounded 2x2 matrix holding floating point values of type double . More... | |
typedef CMatrix< double, 3, 3 > | Matrix3D |
A bounded 3x3 matrix holding floating point values of type double . More... | |
typedef CMatrix< double, 4, 4 > | Matrix4D |
A bounded 4x4 matrix holding floating point values of type double . More... | |
typedef CMatrix< long, 2, 2 > | Matrix2L |
A bounded 2x2 matrix holding signed integers of type long . More... | |
typedef CMatrix< long, 3, 3 > | Matrix3L |
A bounded 3x3 matrix holding signed integers of type long . More... | |
typedef CMatrix< long, 4, 4 > | Matrix4L |
A bounded 4x4 matrix holding signed integers of type long . More... | |
typedef CMatrix< unsigned long, 2, 2 > | Matrix2UL |
A bounded 2x2 matrix holding unsigned integers of type unsigned long . More... | |
typedef CMatrix< unsigned long, 3, 3 > | Matrix3UL |
A bounded 3x3 matrix holding unsigned integers of type unsigned long . More... | |
typedef CMatrix< unsigned long, 4, 4 > | Matrix4UL |
A bounded 4x4 matrix holding unsigned integers of type unsigned long . More... | |
typedef SparseMatrix< float > | SparseFMatrix |
An unbounded sparse matrix holding floating point values of type float .. More... | |
typedef SparseMatrix< double > | SparseDMatrix |
An unbounded sparse matrix holding floating point values of type double .. More... | |
typedef SparseMatrix< long > | SparseLMatrix |
An unbounded sparse matrix holding signed integers of type long . More... | |
typedef SparseMatrix< unsigned long > | SparseULMatrix |
An unbounded sparse matrix holding unsigned integers of type unsigned long . More... | |
typedef Quaternion< float > | FQuaternion |
typedef Quaternion< double > | DQuaternion |
typedef Quaternion< long > | LQuaternion |
typedef Quaternion< unsigned long > | ULQuaternion |
typedef RealQuaternion< float > | FRealQuaternion |
typedef RealQuaternion< double > | DRealQuaternion |
typedef RealQuaternion< long > | LRealQuaternion |
typedef RealQuaternion< unsigned long > | ULRealQuaternion |
typedef RegularSpatialGrid< float > | FRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type float . More... | |
typedef RegularSpatialGrid< double > | DRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type double . More... | |
typedef ScalarVector< float > | FScalarVector |
typedef ScalarVector< double > | DScalarVector |
typedef ScalarVector< long > | LScalarVector |
typedef ScalarVector< unsigned long > | ULScalarVector |
typedef ZeroVector< float > | FZeroVector |
typedef ZeroVector< double > | DZeroVector |
typedef ZeroVector< long > | LZeroVector |
typedef ZeroVector< unsigned long > | ULZeroVector |
typedef UnitVector< float > | FUnitVector |
typedef UnitVector< double > | DUnitVector |
typedef UnitVector< long > | LUnitVector |
typedef UnitVector< unsigned long > | ULUnitVector |
typedef CVector< float, 2 > | Vector2F |
A bounded 2 element vector holding floating point values of type float . More... | |
typedef CVector< float, 3 > | Vector3F |
A bounded 3 element vector holding floating point values of type float . More... | |
typedef CVector< float, 4 > | Vector4F |
A bounded 4 element vector holding floating point values of type float . More... | |
typedef CVector< double, 2 > | Vector2D |
A bounded 2 element vector holding floating point values of type double . More... | |
typedef CVector< double, 3 > | Vector3D |
A bounded 3 element vector holding floating point values of type double . More... | |
typedef CVector< double, 4 > | Vector4D |
A bounded 4 element vector holding floating point values of type double . More... | |
typedef CVector< double, 7 > | Vector7D |
A bounded 7 element vector holding floating point values of type double . More... | |
typedef CVector< long, 2 > | Vector2L |
A bounded 2 element vector holding signed integers of type long . More... | |
typedef CVector< long, 3 > | Vector3L |
A bounded 3 element vector holding signed integers of type long . More... | |
typedef CVector< long, 4 > | Vector4L |
A bounded 4 element vector holding signed integers of type long . More... | |
typedef CVector< unsigned long, 2 > | Vector2UL |
A bounded 2 element vector holding unsigned integers of type unsigned long . More... | |
typedef CVector< unsigned long, 3 > | Vector3UL |
A bounded 3 element vector holding unsigned integers of type unsigned long . More... | |
typedef CVector< unsigned long, 4 > | Vector4UL |
A bounded 4 element vector holding unsigned integers of type unsigned long . More... | |
typedef Vector< float > | FVector |
An unbounded dense vector holding floating point values of type float . More... | |
typedef Vector< double > | DVector |
An unbounded dense vector holding floating point values of type double . More... | |
typedef Vector< long > | LVector |
An unbounded dense vector holding signed integers of type long . More... | |
typedef Vector< unsigned long > | ULVector |
An unbounded dense vector holding unsigned integers of type unsigned long . More... | |
typedef SparseVector< float > | SparseFVector |
An unbounded sparse vector holding floating point values of type float . More... | |
typedef SparseVector< double > | SparseDVector |
An unbounded sparse vector holding floating point values of type double . More... | |
typedef SparseVector< long > | SparseLVector |
An unbounded sparse vector holding signed integers of type long . More... | |
typedef SparseVector< unsigned long > | SparseULVector |
An unbounded sparse vector holding unsigned integers of type unsigned long . More... | |
typedef VectorArray< Vector2F > | Vector2FArray |
An array of Math::Vector2F objects. More... | |
typedef VectorArray< Vector3F > | Vector3FArray |
An array of Math::Vector3F objects. More... | |
typedef VectorArray< Vector2D > | Vector2DArray |
An array of Math::Vector2D objects. More... | |
typedef VectorArray< Vector3D > | Vector3DArray |
An array of Math::Vector3D objects. More... | |
typedef VectorArray< Vector2L > | Vector2LArray |
An array of Math::Vector2L objects. More... | |
typedef VectorArray< Vector3L > | Vector3LArray |
An array of Math::Vector3L objects. More... | |
typedef VectorArray< Vector2UL > | Vector2ULArray |
An array of Math::Vector2UL objects. More... | |
typedef VectorArray< Vector3UL > | Vector3ULArray |
An array of Math::Vector3UL objects. More... | |
Functions | |
template<typename C > | |
DirectAssignmentProxy< const C > | direct (const C &lvalue) |
template<typename C > | |
DirectAssignmentProxy< C > | direct (C &lvalue) |
template<template< typename T1, typename T2 > class F, typename G , typename E > | |
void | gridAssignGrid (G &g, const GridExpression< E > &e) |
template<template< typename T1, typename T2 > class F, typename G , typename T > | |
void | gridAssignScalar (G &g, const T &t) |
template<typename G , typename E > | |
void | gridSwap (G &g, GridExpression< E > &e) |
template<typename E > | |
GridUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const GridExpression< E > &e) |
template<typename E > | |
const E & | operator+ (const GridExpression< E > &e) |
template<typename E1 , typename E2 > | |
GridBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
GridBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2GridBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const GridExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar1GridBinaryTraits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const GridExpression< E > &e) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2GridBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const GridExpression< E > &e, const T &t) |
template<typename E1 , typename E2 > | |
GridEquality< E1, E2 >::ResultType | operator== (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
GridEquality< E1, E2 >::ResultType | operator!= (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
template<typename E1 , typename E2 , typename T > | |
std::enable_if< std::is_arithmetic< T >::value, typename GridToleranceEquality< E1, E2, T >::ResultType >::type | equals (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2, const T &eps) |
template<typename E > | |
GridUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | conj (const GridExpression< E > &e) |
template<typename E > | |
GridUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | herm (const GridExpression< E > &e) |
template<typename E > | |
GridUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | real (const GridExpression< E > &e) |
template<typename E > | |
GridUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | imag (const GridExpression< E > &e) |
template<typename E1 , typename E2 > | |
GridBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
GridBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
template<typename E > | |
GridElementSum< E >::ResultType | sum (const GridExpression< E > &e) |
template<typename C , typename T , typename E > | |
std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const VectorExpression< E > &e) |
template<typename C , typename T , typename E > | |
std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const MatrixExpression< E > &e) |
template<typename C , typename T , typename E > | |
std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const QuaternionExpression< E > &e) |
template<typename C , typename T , typename E > | |
std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const GridExpression< E > &e) |
template<typename M1 , typename V , typename M2 > | |
bool | jacobiDiagonalize (MatrixExpression< M1 > &a, VectorExpression< V > &d, MatrixExpression< M2 > &v, std::size_t max_iter=50) |
Computes all eigenvalues and eigenvectors of a real symmetric matrix an using Jacobi's algorithm [WJACO ]. More... | |
template<typename E1 , typename E2 > | |
bool | solveLower (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveUnitLower (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveLower (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveUnitLower (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveUpper (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveUnitUpper (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveUpper (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
bool | solveUnitUpper (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
template<typename E > | |
E::SizeType | luDecompose (MatrixExpression< E > &e) |
template<typename E , typename PV , typename T > | |
E::SizeType | luDecompose (MatrixExpression< E > &e, PV &pv, T &num_row_swaps) |
template<typename E , typename PV > | |
void | swapRows (VectorExpression< E > &e, const PV &pv) |
template<typename E , typename PV > | |
void | swapRows (MatrixExpression< E > &e, const PV &pv) |
template<typename E1 , typename E2 > | |
bool | luSubstitute (const MatrixExpression< E1 > &lu, VectorExpression< E2 > &b) |
template<typename E1 , typename E2 , typename PV > | |
bool | luSubstitute (const MatrixExpression< E1 > &lu, const PV &pv, VectorExpression< E2 > &b) |
template<typename E1 , typename E2 > | |
bool | luSubstitute (const MatrixExpression< E1 > &lu, MatrixExpression< E2 > &b) |
template<typename E1 , typename E2 , typename PV > | |
bool | luSubstitute (const MatrixExpression< E1 > &lu, const PV &pv, MatrixExpression< E2 > &b) |
template<typename E > | |
E::ValueType | det (const MatrixExpression< E > &e) |
template<typename C > | |
C::ValueType | det (const MatrixContainer< C > &c) |
template<typename E , typename C > | |
bool | invert (const MatrixExpression< E > &e, MatrixContainer< C > &c) |
template<typename C > | |
bool | invert (MatrixContainer< C > &c) |
template<typename Tri , typename E > | |
TriangularAdapter< E, Tri > | triang (MatrixExpression< E > &e) |
template<typename Tri , typename E > | |
TriangularAdapter< const E, Tri > | triang (const MatrixExpression< E > &e) |
template<template< typename T1, typename T2 > class F, typename M , typename E > | |
void | matrixAssignMatrix (M &m, const MatrixExpression< E > &e) |
template<template< typename T1, typename T2 > class F, typename M , typename T > | |
void | matrixAssignScalar (M &m, const T &t) |
template<typename M , typename E > | |
void | matrixSwap (M &m, MatrixExpression< E > &e) |
template<typename E > | |
MatrixUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const MatrixExpression< E > &e) |
template<typename E > | |
const E & | operator+ (const MatrixExpression< E > &e) |
template<typename E1 , typename E2 > | |
MatrixBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
MatrixBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2MatrixBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const MatrixExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar1MatrixBinaryTraits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const MatrixExpression< E > &e) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2MatrixBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const MatrixExpression< E > &e, const T &t) |
template<typename E1 , typename E2 > | |
MatrixEquality< E1, E2 >::ResultType | operator== (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
MatrixEquality< E1, E2 >::ResultType | operator!= (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 , typename T > | |
std::enable_if< std::is_arithmetic< T >::value, typename MatrixToleranceEquality< E1, E2, T >::ResultType >::type | equals (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2, const T &eps) |
template<typename E > | |
MatrixUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | conj (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | herm (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | real (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | imag (const MatrixExpression< E > &e) |
template<typename E1 , typename E2 > | |
VectorMatrixBinaryTraits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | outerProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
MatrixBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
MatrixBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
Matrix1VectorBinaryTraits< E1, E2, MatrixVectorProduct< E1, E2 > >::ResultType | operator* (const MatrixExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
Matrix1VectorBinaryTraits< E1, E2, MatrixVectorProduct< E1, E2 > >::ResultType | prod (const MatrixExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename C , typename E1 , typename E2 > | |
C & | prod (const MatrixExpression< E1 > &e1, const VectorExpression< E2 > &e2, VectorContainer< C > &c) |
template<typename E1 , typename E2 > | |
Matrix2VectorBinaryTraits< E1, E2, VectorMatrixProduct< E1, E2 > >::ResultType | operator* (const VectorExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
Matrix2VectorBinaryTraits< E1, E2, VectorMatrixProduct< E1, E2 > >::ResultType | prod (const VectorExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename C , typename E1 , typename E2 > | |
C & | prod (const VectorExpression< E1 > &e1, const MatrixExpression< E2 > &e2, VectorContainer< C > &c) |
template<typename E1 , typename E2 > | |
MatrixBinary2Traits< E1, E2, MatrixProduct< E1, E2 > >::ResultType | operator* (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
MatrixBinary2Traits< E1, E2, MatrixProduct< E1, E2 > >::ResultType | prod (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
template<typename C , typename E1 , typename E2 > | |
C & | prod (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2, MatrixContainer< C > &c) |
template<typename E > | |
MatrixTrace< E >::ResultType | trace (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixNorm1< E >::ResultType | norm1 (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixNormFrobenius< E >::ResultType | normFrob (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixNormInfinity< E >::ResultType | normInf (const MatrixExpression< E > &e) |
template<typename E > | |
VectorMatrixUnaryTraits< E, DiagonalMatrixFromVector< E > >::ResultType | diag (const VectorExpression< E > &e) |
template<typename E > | |
VectorMatrixUnaryTraits< E, CrossProductMatrixFromVector< E > >::ResultType | cross (const VectorExpression< E > &e) |
template<typename E > | |
MatrixTranspose< E > | trans (MatrixExpression< E > &e) |
template<typename E > | |
MatrixTranspose< const E > | trans (const MatrixExpression< E > &e) |
template<typename E > | |
MatrixElementSum< E >::ResultType | sum (const MatrixExpression< E > &e) |
template<typename M > | |
MatrixRow< M > | row (MatrixExpression< M > &e, typename MatrixRow< M >::SizeType i) |
template<typename M > | |
MatrixRow< const M > | row (const MatrixExpression< M > &e, typename MatrixRow< const M >::SizeType i) |
template<typename M > | |
MatrixColumn< M > | column (MatrixExpression< M > &e, typename MatrixColumn< M >::SizeType j) |
template<typename M > | |
MatrixColumn< const M > | column (const MatrixExpression< M > &e, typename MatrixColumn< const M >::SizeType j) |
template<typename E > | |
MatrixRange< E > | range (MatrixExpression< E > &e, const typename MatrixRange< E >::RangeType &r1, const typename MatrixRange< E >::RangeType &r2) |
template<typename E > | |
MatrixRange< const E > | range (const MatrixExpression< E > &e, const typename MatrixRange< const E >::RangeType &r1, const typename MatrixRange< const E >::RangeType &r2) |
template<typename E > | |
MatrixRange< E > | range (MatrixExpression< E > &e, typename MatrixRange< E >::RangeType::SizeType start1, typename MatrixRange< E >::RangeType::SizeType stop1, typename MatrixRange< E >::RangeType::SizeType start2, typename MatrixRange< E >::RangeType::SizeType stop2) |
template<typename E > | |
MatrixRange< const E > | range (const MatrixExpression< E > &e, typename MatrixRange< const E >::RangeType::SizeType start1, typename MatrixRange< const E >::RangeType::SizeType stop1, typename MatrixRange< const E >::RangeType::SizeType start2, typename MatrixRange< const E >::RangeType::SizeType stop2) |
template<typename E > | |
MatrixSlice< E > | slice (MatrixExpression< E > &e, const typename MatrixSlice< E >::SliceType &s1, const typename MatrixSlice< E >::SliceType &s2) |
template<typename E > | |
MatrixSlice< const E > | slice (const MatrixExpression< E > &e, const typename MatrixSlice< const E >::SliceType &s1, const typename MatrixSlice< const E >::SliceType &s2) |
template<typename E > | |
MatrixSlice< E > | slice (MatrixExpression< E > &e, typename MatrixSlice< E >::SliceType::SizeType start1, typename MatrixSlice< E >::SliceType::DifferenceType stride1, typename MatrixSlice< E >::SliceType::SizeType size1, typename MatrixSlice< E >::SliceType::SizeType start2, typename MatrixSlice< E >::SliceType::DifferenceType stride2, typename MatrixSlice< E >::SliceType::SizeType size2) |
template<typename E > | |
MatrixSlice< const E > | slice (const MatrixExpression< E > &e, typename MatrixSlice< const E >::SliceType::SizeType start1, typename MatrixSlice< const E >::SliceType::DifferenceType stride1, typename MatrixSlice< const E >::SliceType::SizeType size1, typename MatrixSlice< const E >::SliceType::SizeType start2, typename MatrixSlice< const E >::SliceType::DifferenceType stride2, typename MatrixSlice< const E >::SliceType::SizeType size2) |
template<typename T > | |
std::enable_if< IsScalar< T >::value, RealQuaternion< T > >::type | quat (const T &t) |
template<typename T1 , typename T2 > | |
Quaternion< typename CommonType< T1, T2 >::Type > | quat (const T1 &t1, const T2 &t2) |
template<typename T1 , typename T2 , typename T3 > | |
Quaternion< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type > | quat (const T1 &t1, const T2 &t2, const T3 &t3) |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
Quaternion< typename CommonType< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, T4 >::Type > | quat (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
template<typename E > | |
QuaternionVectorAdapter< E > | vec (QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionVectorAdapter< const E > | vec (const QuaternionExpression< E > &e) |
template<template< typename T1, typename T2 > class F, typename Q , typename E > | |
void | quaternionAssignQuaternion (Q &q, const QuaternionExpression< E > &e) |
template<template< typename T1, typename T2 > class F, typename Q , typename T > | |
void | quaternionAssignScalar (Q &q, const T &t) |
template<typename Q , typename E > | |
void | quaternionSwap (Q &q, QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionUnary1Traits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const QuaternionExpression< E > &e) |
template<typename E > | |
const E & | operator+ (const QuaternionExpression< E > &e) |
template<typename E1 , typename E2 > | |
QuaternionBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary2Traits< E, T, Scalar2QuaternionAddition< E, T > >::ResultType >::type | operator+ (const QuaternionExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar1QuaternionBinary2Traits< T, E, Scalar1QuaternionAddition< T, E > >::ResultType >::type | operator+ (const T &t, const QuaternionExpression< E > &e) |
template<typename E1 , typename E2 > | |
QuaternionBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary2Traits< E, T, Scalar2QuaternionSubtraction< E, T > >::ResultType >::type | operator- (const QuaternionExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar1QuaternionBinary2Traits< T, E, Scalar1QuaternionSubtraction< T, E > >::ResultType >::type | operator- (const T &t, const QuaternionExpression< E > &e) |
template<typename E1 , typename E2 > | |
QuaternionBinary2Traits< E1, E2, QuaternionProduct< E1, E2 > >::ResultType | operator* (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary1Traits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const QuaternionExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar1QuaternionBinary1Traits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const QuaternionExpression< E > &e) |
template<typename E1 , typename E2 > | |
Scalar3QuaternionTernaryTraits< E1, E2, typename QuaternionNorm2< E2 >::ResultType, QuaternionDivision< E1, E2, typename QuaternionNorm2< E2 >::ResultType > >::ResultType | operator/ (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary1Traits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const QuaternionExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar13QuaternionTernaryTraits< T, E, typename QuaternionNorm2< E >::ResultType, ScalarQuaternionDivision< T, E, typename QuaternionNorm2< E >::ResultType > >::ResultType >::type | operator/ (const T &t, const QuaternionExpression< E > &e) |
template<typename E1 , typename E2 > | |
QuaternionEquality< E1, E2 >::ResultType | operator== (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
QuaternionEquality< E1, E2 >::ResultType | operator!= (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E1 , typename E2 , typename T > | |
std::enable_if< std::is_arithmetic< T >::value, typename QuaternionToleranceEquality< E1, E2, T >::ResultType >::type | equals (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2, const T &eps) |
template<typename E1 , typename E2 > | |
QuaternionBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
QuaternionBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
template<typename E > | |
E::ValueType | real (const QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionUnary2Traits< E, QuaternionUnreal< E > >::ResultType | unreal (const QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionUnary2Traits< E, QuaternionConjugate< E > >::ResultType | conj (const QuaternionExpression< E > &e) |
template<typename E > | |
Scalar2QuaternionBinary2Traits< E, typename QuaternionNorm2< E >::ResultType, QuaternionInverse< E, typename QuaternionNorm2< E >::ResultType > >::ResultType | inv (const QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionNorm< E >::ResultType | norm (const QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionNorm2< E >::ResultType | norm2 (const QuaternionExpression< E > &e) |
template<typename E > | |
QuaternionElementSum< E >::ResultType | sum (const QuaternionExpression< E > &e) |
Range< std::size_t > | range (std::size_t start, std::size_t stop) |
template<typename T , typename C , typename GD , typename XF , typename V > | |
T | interpolateTrilinear (const RegularSpatialGrid< T, C, GD, XF > &grid, const V &pos, bool local_pos) |
Slice< std::size_t, std::ptrdiff_t > | slice (std::size_t start, std::ptrdiff_t stride, std::size_t size) |
template<typename T > | |
T | factorial (unsigned int n) |
Computes the factorial \( n! \) of the non-negative integer n. More... | |
template<typename T > | |
T | pythag (const T &a, const T &b) |
Computes \( \sqrt{a^2 + b^2} \) without destructive underflow or overflow. More... | |
template<typename T1 , typename T2 > | |
T1 | sign (const T1 &a, const T2 &b) |
Returns the magnitude of parameter a times the sign of parameter b. More... | |
template<typename T > | |
T | lnGamma (const T &z) |
Computes \( \ln[\Gamma(z)] \) for \( z > 0 \). More... | |
template<typename T > | |
T | gammaQ (const T &a, const T &x) |
Computes the incomplete gamma function \( Q(a, x) = 1 - P(a, x) \) (see [NRIC] for details). More... | |
template<typename T > | |
T | generalizedBell (const T &x, const T &a, const T &b, const T &c) |
Computes the generalized bell function \( Bell(x) = \frac{1}{1 + |\frac{x-c}{a}|^{2b}} \) at x. More... | |
template<typename M1 , typename V1 , typename M2 , typename V2 , typename V3 > | |
void | svBackSubstitution (const M1 &u, const V1 &w, const M2 &v, const V2 &b, V3 &x) |
Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD]. More... | |
template<typename A , typename W , typename V > | |
bool | svDecompose (MatrixExpression< A > &a, VectorExpression< W > &w, MatrixExpression< V > &v, std::size_t max_iter=0) |
Computes the Singular Value Decomposition [WSVD] \( A = UWV^T \) of a \( M \times N \)-dimensional matrix a. More... | |
template<typename U , typename W , typename V , typename B , typename X > | |
void | svSubstitute (const MatrixExpression< U > &u, const VectorExpression< W > &w, const MatrixExpression< V > &v, const VectorExpression< B > &b, VectorExpression< X > &x) |
Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD]. More... | |
template<typename U , typename W , typename V , typename B , typename X > | |
void | svSubstitute (const MatrixExpression< U > &u, const VectorExpression< W > &w, const MatrixExpression< V > &v, const MatrixExpression< B > &b, MatrixExpression< X > &x) |
Solves \( A \cdot X = B \) for a matrix \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD]. More... | |
template<typename T1 , typename T2 > | |
CVector< typename CommonType< T1, T2 >::Type, 2 > | vec (const T1 &t1, const T2 &t2) |
template<typename T1 , typename T2 , typename T3 > | |
CVector< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, 3 > | vec (const T1 &t1, const T2 &t2, const T3 &t3) |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
CVector< typename CommonType< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, T4 >::Type, 4 > | vec (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
template<typename E > | |
VectorQuaternionAdapter< E > | quat (VectorExpression< E > &e) |
template<typename E > | |
VectorQuaternionAdapter< const E > | quat (const VectorExpression< E > &e) |
template<typename E > | |
HomogenousCoordsAdapter< E > | homog (VectorExpression< E > &e) |
template<typename E > | |
HomogenousCoordsAdapter< const E > | homog (const VectorExpression< E > &e) |
template<typename T , std::size_t Dim, typename T1 > | |
void | transform (VectorArray< CVector< T, Dim > > &va, const CMatrix< T1, Dim, Dim > &xform) |
Transforms each \( N \)-dimensional vector in the array with the \( N \)-dimensional square matrix xform. More... | |
template<typename T , std::size_t Dim, typename T1 > | |
void | transform (VectorArray< CVector< T, Dim > > &va, const CMatrix< T1, Dim+1, Dim+1 > &xform) |
Transforms each \( N \)-dimensional vector in the array with the \( N+1 \)-dimensional square matrix xform. More... | |
template<typename T , std::size_t Dim, typename T1 > | |
bool | calcCentroid (const VectorArray< CVector< T, Dim > > &va, CVector< T1, Dim > &ctr) |
Calculates the centroid of the array elements. More... | |
template<typename T , std::size_t Dim> | |
T | calcRMSD (const VectorArray< CVector< T, Dim > > &va1, const VectorArray< CVector< T, Dim > > &va2) |
template<typename T , std::size_t Dim, typename T1 > | |
T | calcRMSD (const VectorArray< CVector< T, Dim > > &va1, const VectorArray< CVector< T, Dim > > &va2, const CMatrix< T1, Dim+1, Dim+1 > &va1_xform) |
template<template< typename T1, typename T2 > class F, typename V , typename E > | |
void | vectorAssignVector (V &v, const VectorExpression< E > &e) |
template<template< typename T1, typename T2 > class F, typename V , typename T > | |
void | vectorAssignScalar (V &v, const T &t) |
template<typename V , typename E > | |
void | vectorSwap (V &v, VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const VectorExpression< E > &e) |
template<typename E > | |
const E & | operator+ (const VectorExpression< E > &e) |
template<typename E1 , typename E2 > | |
VectorBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2VectorBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const VectorExpression< E > &e, const T &t) |
template<typename T , typename E > | |
std::enable_if< IsScalar< T >::value, typename Scalar1VectorBinaryTraits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const VectorExpression< E > &e) |
template<typename E , typename T > | |
std::enable_if< IsScalar< T >::value, typename Scalar2VectorBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const VectorExpression< E > &e, const T &t) |
template<typename E1 , typename E2 > | |
VectorEquality< E1, E2 >::ResultType | operator== (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorEquality< E1, E2 >::ResultType | operator!= (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 , typename T > | |
std::enable_if< std::is_arithmetic< T >::value, typename VectorToleranceEquality< E1, E2, T >::ResultType >::type | equals (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2, const T &eps) |
template<typename E > | |
VectorUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | conj (const VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | herm (const VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | real (const VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | imag (const VectorExpression< E > &e) |
template<typename E1 , typename E2 > | |
VectorBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorBinary2Traits< E1, E2, VectorCrossProduct< E1, E2 > >::ResultType | crossProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorInnerProduct< E1, E2 >::ResultType | innerProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 , typename T > | |
VectorAngleCosine< E1, E2, T >::ResultType | angleCos (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2, const T &sd, bool clamp=true) |
template<typename E > | |
VectorElementSum< E >::ResultType | sum (const VectorExpression< E > &e) |
template<typename E > | |
VectorNorm1< E >::ResultType | norm1 (const VectorExpression< E > &e) |
template<typename E > | |
VectorNorm2< E >::ResultType | norm2 (const VectorExpression< E > &e) |
template<typename E > | |
VectorNormInfinity< E >::ResultType | normInf (const VectorExpression< E > &e) |
template<typename E > | |
VectorNormInfinityIndex< E >::ResultType | normInfIndex (const VectorExpression< E > &e) |
template<typename E > | |
VectorNorm2< E >::ResultType | length (const VectorExpression< E > &e) |
template<typename E > | |
const E & | trans (const VectorExpression< E > &e) |
template<typename E > | |
E & | trans (VectorExpression< E > &e) |
template<typename E1 , typename E2 > | |
QuaternionVectorBinaryTraits< E1, E2, QuaternionVectorRotation< E1, E2 > >::ResultType | rotate (const QuaternionExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E > | |
VectorIteratorTraits< E >::IteratorType | vectorBegin (VectorExpression< E > &e) |
template<typename E > | |
VectorIteratorTraits< E >::IteratorType | vectorEnd (VectorExpression< E > &e) |
template<typename E > | |
VectorIteratorTraits< const E >::IteratorType | vectorBegin (const VectorExpression< E > &e) |
template<typename E > | |
VectorIteratorTraits< const E >::IteratorType | vectorEnd (const VectorExpression< E > &e) |
template<typename E > | |
VectorRange< E > | range (VectorExpression< E > &e, const typename VectorRange< E >::RangeType &r) |
template<typename E > | |
VectorRange< const E > | range (const VectorExpression< E > &e, const typename VectorRange< const E >::RangeType &r) |
template<typename E > | |
VectorRange< E > | range (VectorExpression< E > &e, typename VectorRange< E >::RangeType::SizeType start, typename VectorRange< E >::RangeType::SizeType stop) |
template<typename E > | |
VectorRange< const E > | range (const VectorExpression< E > &e, typename VectorRange< const E >::RangeType::SizeType start, typename VectorRange< const E >::RangeType::SizeType stop) |
template<typename E > | |
VectorSlice< E > | slice (VectorExpression< E > &e, const typename VectorSlice< E >::SliceType &s) |
template<typename E > | |
VectorSlice< const E > | slice (const VectorExpression< E > &e, const typename VectorSlice< const E >::SliceType &s) |
template<typename E > | |
VectorSlice< E > | slice (VectorExpression< E > &e, typename VectorSlice< E >::SliceType::SizeType start, typename VectorSlice< E >::SliceType::DifferenceType stride, typename VectorSlice< E >::SliceType::SizeType size) |
template<typename E > | |
VectorSlice< const E > | slice (const VectorExpression< E > &e, typename VectorSlice< const E >::SliceType::SizeType start, typename VectorSlice< const E >::SliceType::DifferenceType stride, typename VectorSlice< const E >::SliceType::SizeType size) |
Contains classes and functions related to mathematics.
typedef ScalingMatrix<float> CDPL::Math::FScalingMatrix |
typedef ScalingMatrix<double> CDPL::Math::DScalingMatrix |
typedef ScalingMatrix<long> CDPL::Math::LScalingMatrix |
typedef ScalingMatrix<unsigned long> CDPL::Math::ULScalingMatrix |
typedef RotationMatrix<float> CDPL::Math::FRotationMatrix |
typedef RotationMatrix<double> CDPL::Math::DRotationMatrix |
typedef RotationMatrix<long> CDPL::Math::LRotationMatrix |
typedef RotationMatrix<unsigned long> CDPL::Math::ULRotationMatrix |
typedef TranslationMatrix<float> CDPL::Math::FTranslationMatrix |
typedef TranslationMatrix<double> CDPL::Math::DTranslationMatrix |
typedef TranslationMatrix<long> CDPL::Math::LTranslationMatrix |
typedef TranslationMatrix<unsigned long> CDPL::Math::ULTranslationMatrix |
typedef ZeroGrid<float> CDPL::Math::FZeroGrid |
typedef ZeroGrid<double> CDPL::Math::DZeroGrid |
typedef ScalarGrid<float> CDPL::Math::FScalarGrid |
typedef ScalarGrid<double> CDPL::Math::DScalarGrid |
typedef Grid<float> CDPL::Math::FGrid |
An unbounded dense grid holding floating point values of type float
.
typedef Grid<double> CDPL::Math::DGrid |
An unbounded dense grid holding floating point values of type double
.
typedef ZeroMatrix<float> CDPL::Math::FZeroMatrix |
typedef ZeroMatrix<double> CDPL::Math::DZeroMatrix |
typedef ZeroMatrix<long> CDPL::Math::LZeroMatrix |
typedef ZeroMatrix<unsigned long> CDPL::Math::ULZeroMatrix |
typedef ScalarMatrix<float> CDPL::Math::FScalarMatrix |
typedef ScalarMatrix<double> CDPL::Math::DScalarMatrix |
typedef ScalarMatrix<long> CDPL::Math::LScalarMatrix |
typedef ScalarMatrix<unsigned long> CDPL::Math::ULScalarMatrix |
typedef IdentityMatrix<float> CDPL::Math::FIdentityMatrix |
typedef IdentityMatrix<double> CDPL::Math::DIdentityMatrix |
typedef IdentityMatrix<long> CDPL::Math::LIdentityMatrix |
typedef IdentityMatrix<unsigned long> CDPL::Math::ULIdentityMatrix |
typedef Matrix<float> CDPL::Math::FMatrix |
An unbounded dense matrix holding floating point values of type float
..
typedef Matrix<double> CDPL::Math::DMatrix |
An unbounded dense matrix holding floating point values of type double
..
typedef Matrix<long> CDPL::Math::LMatrix |
An unbounded dense matrix holding signed integers of type long
.
typedef Matrix<unsigned long> CDPL::Math::ULMatrix |
An unbounded dense matrix holding unsigned integers of type unsigned long
.
typedef CMatrix<float, 2, 2> CDPL::Math::Matrix2F |
A bounded 2x2 matrix holding floating point values of type float
.
typedef CMatrix<float, 3, 3> CDPL::Math::Matrix3F |
A bounded 3x3 matrix holding floating point values of type float
.
typedef CMatrix<float, 4, 4> CDPL::Math::Matrix4F |
A bounded 4x4 matrix holding floating point values of type float
.
typedef CMatrix<double, 2, 2> CDPL::Math::Matrix2D |
A bounded 2x2 matrix holding floating point values of type double
.
typedef CMatrix<double, 3, 3> CDPL::Math::Matrix3D |
A bounded 3x3 matrix holding floating point values of type double
.
typedef CMatrix<double, 4, 4> CDPL::Math::Matrix4D |
A bounded 4x4 matrix holding floating point values of type double
.
typedef CMatrix<long, 2, 2> CDPL::Math::Matrix2L |
A bounded 2x2 matrix holding signed integers of type long
.
typedef CMatrix<long, 3, 3> CDPL::Math::Matrix3L |
A bounded 3x3 matrix holding signed integers of type long
.
typedef CMatrix<long, 4, 4> CDPL::Math::Matrix4L |
A bounded 4x4 matrix holding signed integers of type long
.
typedef CMatrix<unsigned long, 2, 2> CDPL::Math::Matrix2UL |
A bounded 2x2 matrix holding unsigned integers of type unsigned long
.
typedef CMatrix<unsigned long, 3, 3> CDPL::Math::Matrix3UL |
A bounded 3x3 matrix holding unsigned integers of type unsigned long
.
typedef CMatrix<unsigned long, 4, 4> CDPL::Math::Matrix4UL |
A bounded 4x4 matrix holding unsigned integers of type unsigned long
.
typedef SparseMatrix<float> CDPL::Math::SparseFMatrix |
An unbounded sparse matrix holding floating point values of type float
..
typedef SparseMatrix<double> CDPL::Math::SparseDMatrix |
An unbounded sparse matrix holding floating point values of type double
..
typedef SparseMatrix<long> CDPL::Math::SparseLMatrix |
An unbounded sparse matrix holding signed integers of type long
.
typedef SparseMatrix<unsigned long> CDPL::Math::SparseULMatrix |
An unbounded sparse matrix holding unsigned integers of type unsigned long
.
typedef Quaternion<float> CDPL::Math::FQuaternion |
typedef Quaternion<double> CDPL::Math::DQuaternion |
typedef Quaternion<long> CDPL::Math::LQuaternion |
typedef Quaternion<unsigned long> CDPL::Math::ULQuaternion |
typedef RealQuaternion<float> CDPL::Math::FRealQuaternion |
typedef RealQuaternion<double> CDPL::Math::DRealQuaternion |
typedef RealQuaternion<long> CDPL::Math::LRealQuaternion |
typedef RealQuaternion<unsigned long> CDPL::Math::ULRealQuaternion |
typedef RegularSpatialGrid<float> CDPL::Math::FRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type float
.
typedef RegularSpatialGrid<double> CDPL::Math::DRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type double
.
typedef ScalarVector<float> CDPL::Math::FScalarVector |
typedef ScalarVector<double> CDPL::Math::DScalarVector |
typedef ScalarVector<long> CDPL::Math::LScalarVector |
typedef ScalarVector<unsigned long> CDPL::Math::ULScalarVector |
typedef ZeroVector<float> CDPL::Math::FZeroVector |
typedef ZeroVector<double> CDPL::Math::DZeroVector |
typedef ZeroVector<long> CDPL::Math::LZeroVector |
typedef ZeroVector<unsigned long> CDPL::Math::ULZeroVector |
typedef UnitVector<float> CDPL::Math::FUnitVector |
typedef UnitVector<double> CDPL::Math::DUnitVector |
typedef UnitVector<long> CDPL::Math::LUnitVector |
typedef UnitVector<unsigned long> CDPL::Math::ULUnitVector |
typedef CVector<float, 2> CDPL::Math::Vector2F |
A bounded 2 element vector holding floating point values of type float
.
typedef CVector<float, 3> CDPL::Math::Vector3F |
A bounded 3 element vector holding floating point values of type float
.
typedef CVector<float, 4> CDPL::Math::Vector4F |
A bounded 4 element vector holding floating point values of type float
.
typedef CVector<double, 2> CDPL::Math::Vector2D |
A bounded 2 element vector holding floating point values of type double
.
typedef CVector<double, 3> CDPL::Math::Vector3D |
A bounded 3 element vector holding floating point values of type double
.
typedef CVector<double, 4> CDPL::Math::Vector4D |
A bounded 4 element vector holding floating point values of type double
.
typedef CVector<double, 7> CDPL::Math::Vector7D |
A bounded 7 element vector holding floating point values of type double
.
typedef CVector<long, 2> CDPL::Math::Vector2L |
A bounded 2 element vector holding signed integers of type long
.
typedef CVector<long, 3> CDPL::Math::Vector3L |
A bounded 3 element vector holding signed integers of type long
.
typedef CVector<long, 4> CDPL::Math::Vector4L |
A bounded 4 element vector holding signed integers of type long
.
typedef CVector<unsigned long, 2> CDPL::Math::Vector2UL |
A bounded 2 element vector holding unsigned integers of type unsigned long
.
typedef CVector<unsigned long, 3> CDPL::Math::Vector3UL |
A bounded 3 element vector holding unsigned integers of type unsigned long
.
typedef CVector<unsigned long, 4> CDPL::Math::Vector4UL |
A bounded 4 element vector holding unsigned integers of type unsigned long
.
typedef Vector<float> CDPL::Math::FVector |
An unbounded dense vector holding floating point values of type float
.
typedef Vector<double> CDPL::Math::DVector |
An unbounded dense vector holding floating point values of type double
.
typedef Vector<long> CDPL::Math::LVector |
An unbounded dense vector holding signed integers of type long
.
typedef Vector<unsigned long> CDPL::Math::ULVector |
An unbounded dense vector holding unsigned integers of type unsigned long
.
typedef SparseVector<float> CDPL::Math::SparseFVector |
An unbounded sparse vector holding floating point values of type float
.
typedef SparseVector<double> CDPL::Math::SparseDVector |
An unbounded sparse vector holding floating point values of type double
.
typedef SparseVector<long> CDPL::Math::SparseLVector |
An unbounded sparse vector holding signed integers of type long
.
typedef SparseVector<unsigned long> CDPL::Math::SparseULVector |
An unbounded sparse vector holding unsigned integers of type unsigned long
.
typedef VectorArray<Vector2F> CDPL::Math::Vector2FArray |
An array of Math::Vector2F objects.
typedef VectorArray<Vector3F> CDPL::Math::Vector3FArray |
An array of Math::Vector3F objects.
typedef VectorArray<Vector2D> CDPL::Math::Vector2DArray |
An array of Math::Vector2D objects.
typedef VectorArray<Vector3D> CDPL::Math::Vector3DArray |
An array of Math::Vector3D objects.
typedef VectorArray<Vector2L> CDPL::Math::Vector2LArray |
An array of Math::Vector2L objects.
typedef VectorArray<Vector3L> CDPL::Math::Vector3LArray |
An array of Math::Vector3L objects.
An array of Math::Vector2UL objects.
An array of Math::Vector3UL objects.
DirectAssignmentProxy<const C> CDPL::Math::direct | ( | const C & | lvalue | ) |
DirectAssignmentProxy<C> CDPL::Math::direct | ( | C & | lvalue | ) |
void CDPL::Math::gridAssignGrid | ( | G & | g, |
const GridExpression< E > & | e | ||
) |
void CDPL::Math::gridAssignScalar | ( | G & | g, |
const T & | t | ||
) |
void CDPL::Math::gridSwap | ( | G & | g, |
GridExpression< E > & | e | ||
) |
GridUnaryTraits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const GridExpression< E > & | e | ) |
const E& CDPL::Math::operator+ | ( | const GridExpression< E > & | e | ) |
GridBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2 | ||
) |
GridBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2GridBinaryTraits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const GridExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar1GridBinaryTraits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
const GridExpression< E > & | e | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2GridBinaryTraits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const GridExpression< E > & | e, |
const T & | t | ||
) |
GridEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2 | ||
) |
GridEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2 | ||
) |
std::enable_if<std::is_arithmetic<T>::value, typename GridToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2, | ||
const T & | eps | ||
) |
GridUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::conj | ( | const GridExpression< E > & | e | ) |
GridUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::herm | ( | const GridExpression< E > & | e | ) |
GridUnaryTraits<E, ScalarReal<typename E::ValueType> >::ResultType CDPL::Math::real | ( | const GridExpression< E > & | e | ) |
GridUnaryTraits<E, ScalarImaginary<typename E::ValueType> >::ResultType CDPL::Math::imag | ( | const GridExpression< E > & | e | ) |
GridBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2 | ||
) |
GridBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const GridExpression< E1 > & | e1, |
const GridExpression< E2 > & | e2 | ||
) |
GridElementSum<E>::ResultType CDPL::Math::sum | ( | const GridExpression< E > & | e | ) |
std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
const VectorExpression< E > & | e | ||
) |
std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
const MatrixExpression< E > & | e | ||
) |
std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
const QuaternionExpression< E > & | e | ||
) |
std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
const GridExpression< E > & | e | ||
) |
bool CDPL::Math::jacobiDiagonalize | ( | MatrixExpression< M1 > & | a, |
VectorExpression< V > & | d, | ||
MatrixExpression< M2 > & | v, | ||
std::size_t | max_iter = 50 |
||
) |
Computes all eigenvalues and eigenvectors of a real symmetric matrix an using Jacobi's algorithm [WJACO ].
On output, elements of a above the diagonal are destroyed. The vector d returns the eigenvalues of a. The columns of matrix v contain, on output, the normalized eigenvectors of a. For implementation details see [NRIC].
a | The real symmetric matrix for which to compute eigenvalues and eigenvectors. |
d | The output vector which will contain the eigenvalues of a. |
v | The matrix whose columns will contain the normalized eigenvectors of a. |
max_iter | The maximum number of iterations to perform. |
true
if a is a non-empty symmetric matrix and convergence has been reached in max_iter iterations, and false
otherwise. a().getSize1() == a().getSize2() && a().getSize1() != 0
, and furthermore d().getSize() >= a().getSize1()
. Base::SizeError | if preconditions are violated. |
bool CDPL::Math::solveLower | ( | const MatrixExpression< E1 > & | e1, |
VectorExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveUnitLower | ( | const MatrixExpression< E1 > & | e1, |
VectorExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveLower | ( | const MatrixExpression< E1 > & | e1, |
MatrixExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveUnitLower | ( | const MatrixExpression< E1 > & | e1, |
MatrixExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveUpper | ( | const MatrixExpression< E1 > & | e1, |
VectorExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveUnitUpper | ( | const MatrixExpression< E1 > & | e1, |
VectorExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveUpper | ( | const MatrixExpression< E1 > & | e1, |
MatrixExpression< E2 > & | e2 | ||
) |
bool CDPL::Math::solveUnitUpper | ( | const MatrixExpression< E1 > & | e1, |
MatrixExpression< E2 > & | e2 | ||
) |
E::SizeType CDPL::Math::luDecompose | ( | MatrixExpression< E > & | e | ) |
E::SizeType CDPL::Math::luDecompose | ( | MatrixExpression< E > & | e, |
PV & | pv, | ||
T & | num_row_swaps | ||
) |
void CDPL::Math::swapRows | ( | VectorExpression< E > & | e, |
const PV & | pv | ||
) |
void CDPL::Math::swapRows | ( | MatrixExpression< E > & | e, |
const PV & | pv | ||
) |
bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
VectorExpression< E2 > & | b | ||
) |
bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
const PV & | pv, | ||
VectorExpression< E2 > & | b | ||
) |
bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
MatrixExpression< E2 > & | b | ||
) |
bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
const PV & | pv, | ||
MatrixExpression< E2 > & | b | ||
) |
E::ValueType CDPL::Math::det | ( | const MatrixExpression< E > & | e | ) |
C::ValueType CDPL::Math::det | ( | const MatrixContainer< C > & | c | ) |
bool CDPL::Math::invert | ( | const MatrixExpression< E > & | e, |
MatrixContainer< C > & | c | ||
) |
bool CDPL::Math::invert | ( | MatrixContainer< C > & | c | ) |
TriangularAdapter<E, Tri> CDPL::Math::triang | ( | MatrixExpression< E > & | e | ) |
TriangularAdapter<const E, Tri> CDPL::Math::triang | ( | const MatrixExpression< E > & | e | ) |
void CDPL::Math::matrixAssignMatrix | ( | M & | m, |
const MatrixExpression< E > & | e | ||
) |
void CDPL::Math::matrixAssignScalar | ( | M & | m, |
const T & | t | ||
) |
void CDPL::Math::matrixSwap | ( | M & | m, |
MatrixExpression< E > & | e | ||
) |
MatrixUnaryTraits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const MatrixExpression< E > & | e | ) |
const E& CDPL::Math::operator+ | ( | const MatrixExpression< E > & | e | ) |
MatrixBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
MatrixBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2MatrixBinaryTraits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const MatrixExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar1MatrixBinaryTraits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
const MatrixExpression< E > & | e | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2MatrixBinaryTraits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const MatrixExpression< E > & | e, |
const T & | t | ||
) |
MatrixEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
MatrixEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
std::enable_if<std::is_arithmetic<T>::value, typename MatrixToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2, | ||
const T & | eps | ||
) |
MatrixUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::conj | ( | const MatrixExpression< E > & | e | ) |
MatrixUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::herm | ( | const MatrixExpression< E > & | e | ) |
MatrixUnaryTraits<E, ScalarReal<typename E::ValueType> >::ResultType CDPL::Math::real | ( | const MatrixExpression< E > & | e | ) |
MatrixUnaryTraits<E, ScalarImaginary<typename E::ValueType> >::ResultType CDPL::Math::imag | ( | const MatrixExpression< E > & | e | ) |
VectorMatrixBinaryTraits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::outerProd | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
MatrixBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
MatrixBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
Matrix1VectorBinaryTraits<E1, E2, MatrixVectorProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const MatrixExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
Matrix1VectorBinaryTraits<E1, E2, MatrixVectorProduct<E1, E2> >::ResultType CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
C& CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2, | ||
VectorContainer< C > & | c | ||
) |
Matrix2VectorBinaryTraits<E1, E2, VectorMatrixProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const VectorExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
Matrix2VectorBinaryTraits<E1, E2, VectorMatrixProduct<E1, E2> >::ResultType CDPL::Math::prod | ( | const VectorExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
C& CDPL::Math::prod | ( | const VectorExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2, | ||
VectorContainer< C > & | c | ||
) |
MatrixBinary2Traits<E1, E2, MatrixProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
MatrixBinary2Traits<E1, E2, MatrixProduct<E1, E2> >::ResultType CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2 | ||
) |
C& CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
const MatrixExpression< E2 > & | e2, | ||
MatrixContainer< C > & | c | ||
) |
MatrixTrace<E>::ResultType CDPL::Math::trace | ( | const MatrixExpression< E > & | e | ) |
MatrixNorm1<E>::ResultType CDPL::Math::norm1 | ( | const MatrixExpression< E > & | e | ) |
MatrixNormFrobenius<E>::ResultType CDPL::Math::normFrob | ( | const MatrixExpression< E > & | e | ) |
MatrixNormInfinity<E>::ResultType CDPL::Math::normInf | ( | const MatrixExpression< E > & | e | ) |
VectorMatrixUnaryTraits<E, DiagonalMatrixFromVector<E> >::ResultType CDPL::Math::diag | ( | const VectorExpression< E > & | e | ) |
VectorMatrixUnaryTraits<E, CrossProductMatrixFromVector<E> >::ResultType CDPL::Math::cross | ( | const VectorExpression< E > & | e | ) |
MatrixTranspose<E> CDPL::Math::trans | ( | MatrixExpression< E > & | e | ) |
MatrixTranspose<const E> CDPL::Math::trans | ( | const MatrixExpression< E > & | e | ) |
MatrixElementSum<E>::ResultType CDPL::Math::sum | ( | const MatrixExpression< E > & | e | ) |
MatrixRow<M> CDPL::Math::row | ( | MatrixExpression< M > & | e, |
typename MatrixRow< M >::SizeType | i | ||
) |
MatrixRow<const M> CDPL::Math::row | ( | const MatrixExpression< M > & | e, |
typename MatrixRow< const M >::SizeType | i | ||
) |
MatrixColumn<M> CDPL::Math::column | ( | MatrixExpression< M > & | e, |
typename MatrixColumn< M >::SizeType | j | ||
) |
MatrixColumn<const M> CDPL::Math::column | ( | const MatrixExpression< M > & | e, |
typename MatrixColumn< const M >::SizeType | j | ||
) |
MatrixRange<E> CDPL::Math::range | ( | MatrixExpression< E > & | e, |
const typename MatrixRange< E >::RangeType & | r1, | ||
const typename MatrixRange< E >::RangeType & | r2 | ||
) |
MatrixRange<const E> CDPL::Math::range | ( | const MatrixExpression< E > & | e, |
const typename MatrixRange< const E >::RangeType & | r1, | ||
const typename MatrixRange< const E >::RangeType & | r2 | ||
) |
MatrixRange<E> CDPL::Math::range | ( | MatrixExpression< E > & | e, |
typename MatrixRange< E >::RangeType::SizeType | start1, | ||
typename MatrixRange< E >::RangeType::SizeType | stop1, | ||
typename MatrixRange< E >::RangeType::SizeType | start2, | ||
typename MatrixRange< E >::RangeType::SizeType | stop2 | ||
) |
MatrixRange<const E> CDPL::Math::range | ( | const MatrixExpression< E > & | e, |
typename MatrixRange< const E >::RangeType::SizeType | start1, | ||
typename MatrixRange< const E >::RangeType::SizeType | stop1, | ||
typename MatrixRange< const E >::RangeType::SizeType | start2, | ||
typename MatrixRange< const E >::RangeType::SizeType | stop2 | ||
) |
MatrixSlice<E> CDPL::Math::slice | ( | MatrixExpression< E > & | e, |
const typename MatrixSlice< E >::SliceType & | s1, | ||
const typename MatrixSlice< E >::SliceType & | s2 | ||
) |
MatrixSlice<const E> CDPL::Math::slice | ( | const MatrixExpression< E > & | e, |
const typename MatrixSlice< const E >::SliceType & | s1, | ||
const typename MatrixSlice< const E >::SliceType & | s2 | ||
) |
MatrixSlice<E> CDPL::Math::slice | ( | MatrixExpression< E > & | e, |
typename MatrixSlice< E >::SliceType::SizeType | start1, | ||
typename MatrixSlice< E >::SliceType::DifferenceType | stride1, | ||
typename MatrixSlice< E >::SliceType::SizeType | size1, | ||
typename MatrixSlice< E >::SliceType::SizeType | start2, | ||
typename MatrixSlice< E >::SliceType::DifferenceType | stride2, | ||
typename MatrixSlice< E >::SliceType::SizeType | size2 | ||
) |
MatrixSlice<const E> CDPL::Math::slice | ( | const MatrixExpression< E > & | e, |
typename MatrixSlice< const E >::SliceType::SizeType | start1, | ||
typename MatrixSlice< const E >::SliceType::DifferenceType | stride1, | ||
typename MatrixSlice< const E >::SliceType::SizeType | size1, | ||
typename MatrixSlice< const E >::SliceType::SizeType | start2, | ||
typename MatrixSlice< const E >::SliceType::DifferenceType | stride2, | ||
typename MatrixSlice< const E >::SliceType::SizeType | size2 | ||
) |
std::enable_if<IsScalar<T>::value, RealQuaternion<T> >::type CDPL::Math::quat | ( | const T & | t | ) |
Quaternion<typename CommonType<T1, T2>::Type> CDPL::Math::quat | ( | const T1 & | t1, |
const T2 & | t2 | ||
) |
Quaternion<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type> CDPL::Math::quat | ( | const T1 & | t1, |
const T2 & | t2, | ||
const T3 & | t3 | ||
) |
Quaternion<typename CommonType<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type, T4>::Type> CDPL::Math::quat | ( | const T1 & | t1, |
const T2 & | t2, | ||
const T3 & | t3, | ||
const T4 & | t4 | ||
) |
QuaternionVectorAdapter<E> CDPL::Math::vec | ( | QuaternionExpression< E > & | e | ) |
QuaternionVectorAdapter<const E> CDPL::Math::vec | ( | const QuaternionExpression< E > & | e | ) |
void CDPL::Math::quaternionAssignQuaternion | ( | Q & | q, |
const QuaternionExpression< E > & | e | ||
) |
void CDPL::Math::quaternionAssignScalar | ( | Q & | q, |
const T & | t | ||
) |
void CDPL::Math::quaternionSwap | ( | Q & | q, |
QuaternionExpression< E > & | e | ||
) |
QuaternionUnary1Traits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const QuaternionExpression< E > & | e | ) |
const E& CDPL::Math::operator+ | ( | const QuaternionExpression< E > & | e | ) |
QuaternionBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary2Traits<E, T, Scalar2QuaternionAddition<E, T> >::ResultType>::type CDPL::Math::operator+ | ( | const QuaternionExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar1QuaternionBinary2Traits<T, E, Scalar1QuaternionAddition<T, E> >::ResultType>::type CDPL::Math::operator+ | ( | const T & | t, |
const QuaternionExpression< E > & | e | ||
) |
QuaternionBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary2Traits<E, T, Scalar2QuaternionSubtraction<E, T> >::ResultType>::type CDPL::Math::operator- | ( | const QuaternionExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar1QuaternionBinary2Traits<T, E, Scalar1QuaternionSubtraction<T, E> >::ResultType>::type CDPL::Math::operator- | ( | const T & | t, |
const QuaternionExpression< E > & | e | ||
) |
QuaternionBinary2Traits<E1, E2, QuaternionProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary1Traits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const QuaternionExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar1QuaternionBinary1Traits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
const QuaternionExpression< E > & | e | ||
) |
Scalar3QuaternionTernaryTraits<E1, E2, typename QuaternionNorm2<E2>::ResultType, QuaternionDivision<E1, E2, typename QuaternionNorm2<E2>::ResultType> >::ResultType CDPL::Math::operator/ | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary1Traits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const QuaternionExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar13QuaternionTernaryTraits<T, E, typename QuaternionNorm2<E>::ResultType, ScalarQuaternionDivision<T, E, typename QuaternionNorm2<E>::ResultType> >::ResultType>::type CDPL::Math::operator/ | ( | const T & | t, |
const QuaternionExpression< E > & | e | ||
) |
QuaternionEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
QuaternionEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
std::enable_if<std::is_arithmetic<T>::value, typename QuaternionToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2, | ||
const T & | eps | ||
) |
QuaternionBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
QuaternionBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const QuaternionExpression< E1 > & | e1, |
const QuaternionExpression< E2 > & | e2 | ||
) |
E::ValueType CDPL::Math::real | ( | const QuaternionExpression< E > & | e | ) |
QuaternionUnary2Traits<E, QuaternionUnreal<E> >::ResultType CDPL::Math::unreal | ( | const QuaternionExpression< E > & | e | ) |
QuaternionUnary2Traits<E, QuaternionConjugate<E> >::ResultType CDPL::Math::conj | ( | const QuaternionExpression< E > & | e | ) |
Scalar2QuaternionBinary2Traits<E, typename QuaternionNorm2<E>::ResultType, QuaternionInverse<E, typename QuaternionNorm2<E>::ResultType> >::ResultType CDPL::Math::inv | ( | const QuaternionExpression< E > & | e | ) |
QuaternionNorm<E>::ResultType CDPL::Math::norm | ( | const QuaternionExpression< E > & | e | ) |
QuaternionNorm2<E>::ResultType CDPL::Math::norm2 | ( | const QuaternionExpression< E > & | e | ) |
QuaternionElementSum<E>::ResultType CDPL::Math::sum | ( | const QuaternionExpression< E > & | e | ) |
|
inline |
T CDPL::Math::interpolateTrilinear | ( | const RegularSpatialGrid< T, C, GD, XF > & | grid, |
const V & | pos, | ||
bool | local_pos | ||
) |
|
inline |
T CDPL::Math::factorial | ( | unsigned int | n | ) |
Computes the factorial \( n! \) of the non-negative integer n.
n | The non-negative integer for which to compute the factorial. |
T CDPL::Math::pythag | ( | const T & | a, |
const T & | b | ||
) |
Computes \( \sqrt{a^2 + b^2} \) without destructive underflow or overflow.
a | The variable a. |
b | The variable b. |
T1 CDPL::Math::sign | ( | const T1 & | a, |
const T2 & | b | ||
) |
Returns the magnitude of parameter a times the sign of parameter b.
a | The parameter a. |
b | The parameter b. |
T CDPL::Math::lnGamma | ( | const T & | z | ) |
Computes \( \ln[\Gamma(z)] \) for \( z > 0 \).
z | The argument to the gamma function. |
T CDPL::Math::gammaQ | ( | const T & | a, |
const T & | x | ||
) |
Computes the incomplete gamma function \( Q(a, x) = 1 - P(a, x) \) (see [NRIC] for details).
a | The function argument a. |
x | The function argument x. |
T CDPL::Math::generalizedBell | ( | const T & | x, |
const T & | a, | ||
const T & | b, | ||
const T & | c | ||
) |
Computes the generalized bell function \( Bell(x) = \frac{1}{1 + |\frac{x-c}{a}|^{2b}} \) at x.
x | The generalized bell function argument |
a | Controls the width of the curve at \(f(x) = 0.5 \). |
b | Controls the slope of the curve at \( x = c - a \) and \( x = c + a \). |
c | Locates the center of the curve. |
void CDPL::Math::svBackSubstitution | ( | const M1 & | u, |
const V1 & | w, | ||
const M2 & | v, | ||
const V2 & | b, | ||
V3 & | x | ||
) |
Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD].
The \( M \times N \)-dimensional matrix \( A \) is specified by its singular value decomposition \( A = UWV^T \), where \( U \) is given by the \( M \times N \)-dimensional matrix u, \( W \) by the \( N \)-dimensional vector w, and \( V \) is given by the \( N \times N \)-dimensional matrix v. The right-hand side vector \( B \) is given by the \( M \)-dimensional vector b, and x is the \( N \)-dimensional output solution vector \( X \). No input quantities are destroyed, so the routine may be called sequentially with different arguments b. For implementation details see [NRIC].
u | The \( M \times N \)-dimensional matrix \( U \). |
w | The \( N \)-dimensional vector \( W \) holding the singular values of \( A \). |
v | The \( N \times N \)-dimensional matrix \( V \). |
b | The \( M \)-dimensional right-hand side vector \( B \). |
x | The \( N \)-dimensional output solution vector \( X \). |
w.size() == u.size2()
, v.size1() == u.size2() && v.size2() == c.size2()
, and b.size() == u.size1()
. bool CDPL::Math::svDecompose | ( | MatrixExpression< A > & | a, |
VectorExpression< W > & | w, | ||
MatrixExpression< V > & | v, | ||
std::size_t | max_iter = 0 |
||
) |
Computes the Singular Value Decomposition [WSVD] \( A = UWV^T \) of a \( M \times N \)-dimensional matrix a.
The matrix \( U \) replaces a on output. The diagonal matrix of singular values \( W \) is output as the \( N \)-dimensional vector w. The matrix \( V \) (not the transpose \( V^T \)) is output as the \( N \times N \)-dimensional matrix v. For implementation details see [NRIC].
a | The decomposed \( M \times N \)-matrix \( A \) which will be replaced by \( U \) on output. |
w | The \( N \)-dimensional output vector \( W \) holding the singular values. |
v | The \( N \times N \)-dimensional output matrix \( V \). |
max_iter | The maximum number of iterations to perform, or 0 if no limit. |
true
if convergence has been reached in max_iter iterations, and false
otherwise. w().getSize() >= a().getSize2()
, v().getSize1() >= a().getSize2() and v().getSize2() >= a().getSize2()
. Base::SizeError | if preconditions are violated. |
void CDPL::Math::svSubstitute | ( | const MatrixExpression< U > & | u, |
const VectorExpression< W > & | w, | ||
const MatrixExpression< V > & | v, | ||
const VectorExpression< B > & | b, | ||
VectorExpression< X > & | x | ||
) |
Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD].
The \( M \times N \)-dimensional matrix \( A \) is specified by its singular value decomposition \( A = UWV^T \), where \( U \) is given by the \( M \times N \)-dimensional matrix u, \( W \) by the \( N \)-dimensional vector w, and \( V \) is provided by the \( N \times N \)-dimensional matrix v. The right-hand side vector \( B \) is given by the \( M \)-dimensional vector b, and x is the \( N \)-dimensional output solution vector \( X \). No input quantities are destroyed, so the routine may be called sequentially with different arguments b. For implementation details see [NRIC].
u | The \( M \times N \)-dimensional matrix \( U \). |
w | The \( N \)-dimensional vector \( W \) holding the singular values of \( A \). |
v | The \( N \times N \)-dimensional matrix \( V \). |
b | The \( M \)-dimensional right-hand side vector \( B \). |
x | The \( N \)-dimensional output solution vector \( X \). |
w.getSize() == u.getSize2()
, v.getSize1() == u.getSize2() && v.getSize2() == u.getSize2()
, x.getSize() == u.getSize2())
and b.getSize() == u.getSize1()
. void CDPL::Math::svSubstitute | ( | const MatrixExpression< U > & | u, |
const VectorExpression< W > & | w, | ||
const MatrixExpression< V > & | v, | ||
const MatrixExpression< B > & | b, | ||
MatrixExpression< X > & | x | ||
) |
Solves \( A \cdot X = B \) for a matrix \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD].
The \( M \times N \)-dimensional matrix \( A \) is specified by its singular value decomposition \( A = UWV^T \), where \( U \) is given by the \( M \times N \)-dimensional matrix u, \( W \) by the \( N \)-dimensional vector w, and \( V \) is provided by the \( N \times N \)-dimensional matrix v. The \( M \times P \)-dimensional right-hand side matrix \( B \) is given by b, and x is the \( N \times P \)-dimensional output solution matrix \( X \). No input quantities are destroyed, so the routine may be called sequentially with different arguments b. For implementation details see [NRIC].
u | The \( M \times N \)-dimensional matrix \( U \). |
w | The \( N \)-dimensional vector \( W \) holding the singular values of \( A \). |
v | The \( N \times N \)-dimensional matrix \( V \). |
b | The \( M \times P \)-dimensional right-hand side matrix \( B \). |
x | The \( N \times P \)-dimensional output solution matrix \( X \). |
w().getSize() == u().getSize2()
, v().getSize1() == u().getSize2() && v().getSize2() == u().getSize2()
, x().getSize1() == u().getSize2()
and b().getSize1() == u().getSize1() && b().getSize2() == x().getSize2()
. Base::SizeError | if preconditions are violated. |
CVector<typename CommonType<T1, T2>::Type, 2> CDPL::Math::vec | ( | const T1 & | t1, |
const T2 & | t2 | ||
) |
CVector<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type, 3> CDPL::Math::vec | ( | const T1 & | t1, |
const T2 & | t2, | ||
const T3 & | t3 | ||
) |
CVector<typename CommonType<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type, T4>::Type, 4> CDPL::Math::vec | ( | const T1 & | t1, |
const T2 & | t2, | ||
const T3 & | t3, | ||
const T4 & | t4 | ||
) |
VectorQuaternionAdapter<E> CDPL::Math::quat | ( | VectorExpression< E > & | e | ) |
VectorQuaternionAdapter<const E> CDPL::Math::quat | ( | const VectorExpression< E > & | e | ) |
HomogenousCoordsAdapter<E> CDPL::Math::homog | ( | VectorExpression< E > & | e | ) |
HomogenousCoordsAdapter<const E> CDPL::Math::homog | ( | const VectorExpression< E > & | e | ) |
void CDPL::Math::transform | ( | VectorArray< CVector< T, Dim > > & | va, |
const CMatrix< T1, Dim, Dim > & | xform | ||
) |
Transforms each \( N \)-dimensional vector in the array with the \( N \)-dimensional square matrix xform.
va | The vectors to transform. |
xform | The transformation matrix. |
void CDPL::Math::transform | ( | VectorArray< CVector< T, Dim > > & | va, |
const CMatrix< T1, Dim+1, Dim+1 > & | xform | ||
) |
Transforms each \( N \)-dimensional vector in the array with the \( N+1 \)-dimensional square matrix xform.
va | The vectors to transform. |
xform | The transformation matrix. |
1.0
. bool CDPL::Math::calcCentroid | ( | const VectorArray< CVector< T, Dim > > & | va, |
CVector< T1, Dim > & | ctr | ||
) |
Calculates the centroid of the array elements.
va | The vectors for which to calculate the centroid. |
ctr | Stores the calculated centroid. |
true
if the array is not empty, and false
otherwise. T CDPL::Math::calcRMSD | ( | const VectorArray< CVector< T, Dim > > & | va1, |
const VectorArray< CVector< T, Dim > > & | va2 | ||
) |
T CDPL::Math::calcRMSD | ( | const VectorArray< CVector< T, Dim > > & | va1, |
const VectorArray< CVector< T, Dim > > & | va2, | ||
const CMatrix< T1, Dim+1, Dim+1 > & | va1_xform | ||
) |
void CDPL::Math::vectorAssignVector | ( | V & | v, |
const VectorExpression< E > & | e | ||
) |
void CDPL::Math::vectorAssignScalar | ( | V & | v, |
const T & | t | ||
) |
void CDPL::Math::vectorSwap | ( | V & | v, |
VectorExpression< E > & | e | ||
) |
VectorUnaryTraits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const VectorExpression< E > & | e | ) |
const E& CDPL::Math::operator+ | ( | const VectorExpression< E > & | e | ) |
VectorBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2VectorBinaryTraits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const VectorExpression< E > & | e, |
const T & | t | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar1VectorBinaryTraits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
const VectorExpression< E > & | e | ||
) |
std::enable_if<IsScalar<T>::value, typename Scalar2VectorBinaryTraits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const VectorExpression< E > & | e, |
const T & | t | ||
) |
VectorEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
std::enable_if<std::is_arithmetic<T>::value, typename VectorToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2, | ||
const T & | eps | ||
) |
VectorUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::conj | ( | const VectorExpression< E > & | e | ) |
VectorUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::herm | ( | const VectorExpression< E > & | e | ) |
VectorUnaryTraits<E, ScalarReal<typename E::ValueType> >::ResultType CDPL::Math::real | ( | const VectorExpression< E > & | e | ) |
VectorUnaryTraits<E, ScalarImaginary<typename E::ValueType> >::ResultType CDPL::Math::imag | ( | const VectorExpression< E > & | e | ) |
VectorBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorBinary2Traits<E1, E2, VectorCrossProduct<E1, E2> >::ResultType CDPL::Math::crossProd | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorInnerProduct<E1, E2>::ResultType CDPL::Math::innerProd | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorAngleCosine<E1, E2, T>::ResultType CDPL::Math::angleCos | ( | const VectorExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2, | ||
const T & | sd, | ||
bool | clamp = true |
||
) |
VectorElementSum<E>::ResultType CDPL::Math::sum | ( | const VectorExpression< E > & | e | ) |
VectorNorm1<E>::ResultType CDPL::Math::norm1 | ( | const VectorExpression< E > & | e | ) |
VectorNorm2<E>::ResultType CDPL::Math::norm2 | ( | const VectorExpression< E > & | e | ) |
VectorNormInfinity<E>::ResultType CDPL::Math::normInf | ( | const VectorExpression< E > & | e | ) |
VectorNormInfinityIndex<E>::ResultType CDPL::Math::normInfIndex | ( | const VectorExpression< E > & | e | ) |
VectorNorm2<E>::ResultType CDPL::Math::length | ( | const VectorExpression< E > & | e | ) |
const E& CDPL::Math::trans | ( | const VectorExpression< E > & | e | ) |
E& CDPL::Math::trans | ( | VectorExpression< E > & | e | ) |
QuaternionVectorBinaryTraits<E1, E2, QuaternionVectorRotation<E1, E2> >::ResultType CDPL::Math::rotate | ( | const QuaternionExpression< E1 > & | e1, |
const VectorExpression< E2 > & | e2 | ||
) |
VectorIteratorTraits<E>::IteratorType CDPL::Math::vectorBegin | ( | VectorExpression< E > & | e | ) |
VectorIteratorTraits<E>::IteratorType CDPL::Math::vectorEnd | ( | VectorExpression< E > & | e | ) |
VectorIteratorTraits<const E>::IteratorType CDPL::Math::vectorBegin | ( | const VectorExpression< E > & | e | ) |
VectorIteratorTraits<const E>::IteratorType CDPL::Math::vectorEnd | ( | const VectorExpression< E > & | e | ) |
VectorRange<E> CDPL::Math::range | ( | VectorExpression< E > & | e, |
const typename VectorRange< E >::RangeType & | r | ||
) |
VectorRange<const E> CDPL::Math::range | ( | const VectorExpression< E > & | e, |
const typename VectorRange< const E >::RangeType & | r | ||
) |
VectorRange<E> CDPL::Math::range | ( | VectorExpression< E > & | e, |
typename VectorRange< E >::RangeType::SizeType | start, | ||
typename VectorRange< E >::RangeType::SizeType | stop | ||
) |
VectorRange<const E> CDPL::Math::range | ( | const VectorExpression< E > & | e, |
typename VectorRange< const E >::RangeType::SizeType | start, | ||
typename VectorRange< const E >::RangeType::SizeType | stop | ||
) |
VectorSlice<E> CDPL::Math::slice | ( | VectorExpression< E > & | e, |
const typename VectorSlice< E >::SliceType & | s | ||
) |
VectorSlice<const E> CDPL::Math::slice | ( | const VectorExpression< E > & | e, |
const typename VectorSlice< const E >::SliceType & | s | ||
) |
VectorSlice<E> CDPL::Math::slice | ( | VectorExpression< E > & | e, |
typename VectorSlice< E >::SliceType::SizeType | start, | ||
typename VectorSlice< E >::SliceType::DifferenceType | stride, | ||
typename VectorSlice< E >::SliceType::SizeType | size | ||
) |
VectorSlice<const E> CDPL::Math::slice | ( | const VectorExpression< E > & | e, |
typename VectorSlice< const E >::SliceType::SizeType | start, | ||
typename VectorSlice< const E >::SliceType::DifferenceType | stride, | ||
typename VectorSlice< const E >::SliceType::SizeType | size | ||
) |