Chemical Data Processing Library C++ API - Version 1.2.0
|
Definition of various vector expression types and operations. More...
#include <type_traits>
#include "CDPL/Math/Check.hpp"
#include "CDPL/Math/Expression.hpp"
#include "CDPL/Math/CommonType.hpp"
#include "CDPL/Math/Functional.hpp"
#include "CDPL/Math/TypeTraits.hpp"
#include "CDPL/Base/Exceptions.hpp"
Go to the source code of this file.
Namespaces | |
CDPL | |
The namespace of the Chemical Data Processing Library. | |
CDPL::Math | |
Contains classes and functions related to mathematics. | |
Functions | |
template<typename E > | |
VectorUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | CDPL::Math::operator- (const VectorExpression< E > &e) |
template<typename E > | |
const E & | CDPL::Math::operator+ (const VectorExpression< E > &e) |
template<typename E1 , typename E2 > | |
VectorBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | CDPL::Math::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 | CDPL::Math::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 | CDPL::Math::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 | CDPL::Math::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 | CDPL::Math::operator/ (const VectorExpression< E > &e, const T &t) |
template<typename E1 , typename E2 > | |
VectorEquality< E1, E2 >::ResultType | CDPL::Math::operator== (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorEquality< E1, E2 >::ResultType | CDPL::Math::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 | CDPL::Math::equals (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2, const T &eps) |
template<typename E > | |
VectorUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | CDPL::Math::conj (const VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | CDPL::Math::herm (const VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | CDPL::Math::real (const VectorExpression< E > &e) |
template<typename E > | |
VectorUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | CDPL::Math::imag (const VectorExpression< E > &e) |
template<typename E1 , typename E2 > | |
VectorBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | CDPL::Math::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 | CDPL::Math::elemProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorBinary2Traits< E1, E2, VectorCrossProduct< E1, E2 > >::ResultType | CDPL::Math::crossProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 > | |
VectorInnerProduct< E1, E2 >::ResultType | CDPL::Math::innerProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
template<typename E1 , typename E2 , typename T > | |
VectorAngleCosine< E1, E2, T >::ResultType | CDPL::Math::angleCos (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2, const T &sd, bool clamp=true) |
template<typename E > | |
VectorElementSum< E >::ResultType | CDPL::Math::sum (const VectorExpression< E > &e) |
template<typename E > | |
VectorNorm1< E >::ResultType | CDPL::Math::norm1 (const VectorExpression< E > &e) |
template<typename E > | |
VectorNorm2< E >::ResultType | CDPL::Math::norm2 (const VectorExpression< E > &e) |
template<typename E > | |
VectorNormInfinity< E >::ResultType | CDPL::Math::normInf (const VectorExpression< E > &e) |
template<typename E > | |
VectorNormInfinityIndex< E >::ResultType | CDPL::Math::normInfIndex (const VectorExpression< E > &e) |
template<typename E > | |
VectorNorm2< E >::ResultType | CDPL::Math::length (const VectorExpression< E > &e) |
template<typename E > | |
const E & | CDPL::Math::trans (const VectorExpression< E > &e) |
template<typename E > | |
E & | CDPL::Math::trans (VectorExpression< E > &e) |
template<typename E1 , typename E2 > | |
QuaternionVectorBinaryTraits< E1, E2, QuaternionVectorRotation< E1, E2 > >::ResultType | CDPL::Math::rotate (const QuaternionExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
Definition of various vector expression types and operations.