![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Definition of various functors. More...
#include <boost/algorithm/clamp.hpp>#include "CDPL/Math/Check.hpp"#include "CDPL/Math/CommonType.hpp"#include "CDPL/Math/TypeTraits.hpp"#include "CDPL/Base/Exceptions.hpp"Go to the source code of this file.
Classes | |
| struct | CDPL::Math::ScalarBinaryAssignmentFunctor< T1, T2 > |
Base class for binary in-place assignment functors of the form F::apply(T1, const T2&). More... | |
| struct | CDPL::Math::ScalarAssignment< T1, T2 > |
Scalar plain-assignment functor: apply(t1, t2) performs t1 = t2. More... | |
| struct | CDPL::Math::ScalarAdditionAssignment< T1, T2 > |
Scalar in-place addition functor: apply(t1, t2) performs t1 += t2. More... | |
| struct | CDPL::Math::ScalarSubtractionAssignment< T1, T2 > |
Scalar in-place subtraction functor: apply(t1, t2) performs t1 -= t2. More... | |
| struct | CDPL::Math::ScalarMultiplicationAssignment< T1, T2 > |
Scalar in-place multiplication functor: apply(t1, t2) performs t1 *= t2. More... | |
| struct | CDPL::Math::ScalarDivisionAssignment< T1, T2 > |
Scalar in-place division functor: apply(t1, t2) performs t1 /= t2. More... | |
| struct | CDPL::Math::ScalarUnaryFunctor< T > |
Base class for unary scalar functors of the form F::apply(const T&) returning a T result. More... | |
| struct | CDPL::Math::ScalarNegation< T > |
Scalar negation functor: apply(v) returns -v. More... | |
| struct | CDPL::Math::ScalarConjugation< T > |
Scalar complex-conjugation functor: apply(v) returns \( \overline{v} \) (identity for real types). More... | |
| struct | CDPL::Math::ScalarRealUnaryFunctor< T > |
| Base class for unary scalar functors that return the real part of T (Math::ScalarReal, Math::ScalarImaginary). More... | |
| struct | CDPL::Math::ScalarReal< T > |
Scalar real-part functor: apply(v) returns \( \mathrm{Re}(v) \) (identity for real types). More... | |
| struct | CDPL::Math::ScalarImaginary< T > |
Scalar imaginary-part functor: apply(v) returns \( \mathrm{Im}(v) \) (zero for real types). More... | |
| struct | CDPL::Math::ScalarBinaryFunctor< T1, T2 > |
Base class for binary scalar functors of the form F::apply(const T1&, const T2&) returning a Math::CommonType result. More... | |
| struct | CDPL::Math::ScalarAddition< T1, T2 > |
Scalar binary addition functor: apply(t1, t2) returns t1 + t2. More... | |
| struct | CDPL::Math::ScalarSubtraction< T1, T2 > |
Scalar binary subtraction functor: apply(t1, t2) returns t1 - t2. More... | |
| struct | CDPL::Math::ScalarMultiplication< T1, T2 > |
Scalar binary multiplication functor: apply(t1, t2) returns t1 * t2. More... | |
| struct | CDPL::Math::ScalarDivision< T1, T2 > |
Scalar binary division functor: apply(t1, t2) returns t1 / t2. More... | |
| struct | CDPL::Math::VectorScalarBinaryFunctor< V1, V2 > |
| Base class for binary functors that take two vectors and return a scalar (Math::VectorInnerProduct, Math::VectorAngleCosine). More... | |
| struct | CDPL::Math::VectorInnerProduct< V1, V2 > |
Vector inner-product functor: apply(e1, e2) returns \( \sum_i e_1(i) \cdot e_2(i) \). More... | |
| struct | CDPL::Math::VectorAngleCosine< V1, V2, T > |
Functor returning the cosine of the angle between two vectors (optionally clamped to [-1, 1]). More... | |
| struct | CDPL::Math::VectorBooleanBinaryFunctor< V1, V2 > |
| Base class for binary functors that take two vectors and return a boolean (Math::VectorEquality and similar). More... | |
| struct | CDPL::Math::VectorEquality< V1, V2 > |
Vector equality functor: apply(e1, e2) tests element-wise equality of two vector expressions. More... | |
| struct | CDPL::Math::Scalar3VectorBooleanTernaryFunctor< V1, V2, T > |
| Base class for ternary functors that take two vectors and a scalar tolerance and return a boolean (Math::VectorToleranceEquality). More... | |
| struct | CDPL::Math::VectorToleranceEquality< V1, V2, T > |
Vector tolerance-equality functor: apply(e1, e2, eps) tests element-wise equality within an absolute tolerance. More... | |
| struct | CDPL::Math::VectorBinaryFunctor< V1, V2 > |
| Base class for binary functors that take two vectors and return a vector (Math::VectorCrossProduct). More... | |
| struct | CDPL::Math::VectorCrossProduct< V1, V2 > |
Vector cross-product functor: apply(e1, e2, i) returns the i-th component of the 3-vector cross product \( e_1 \times e_2 \). More... | |
| struct | CDPL::Math::VectorScalarUnaryFunctor< V > |
| Base class for unary functors that take a vector and return a scalar (Math::VectorElementSum). More... | |
| struct | CDPL::Math::VectorElementSum< V > |
| Functor returning the sum of all elements of a vector expression. More... | |
| struct | CDPL::Math::VectorScalarRealUnaryFunctor< V > |
| Base class for unary functors that take a vector and return a real-valued scalar (Math::VectorNorm1, Math::VectorNorm2, Math::VectorNormInfinity). More... | |
| struct | CDPL::Math::VectorNorm1< V > |
| Functor returning the L1 norm of a vector expression. More... | |
| struct | CDPL::Math::VectorNorm2< V > |
| Functor returning the L2 (Euclidean) norm of a vector expression. More... | |
| struct | CDPL::Math::VectorNormInfinity< V > |
| Functor returning the L∞ (maximum-magnitude) norm of a vector expression. More... | |
| struct | CDPL::Math::VectorScalarIndexUnaryFunctor< V > |
| Base class for unary functors that take a vector and return a vector-element index (Math::VectorNormInfinityIndex). More... | |
| struct | CDPL::Math::VectorNormInfinityIndex< V > |
| Functor returning the index of the vector element with the largest L∞ norm. More... | |
| struct | CDPL::Math::MatrixBooleanBinaryFunctor< M1, M2 > |
Base class for binary functors that take two matrix expressions and return a bool result (Math::MatrixEquality). More... | |
| struct | CDPL::Math::MatrixEquality< M1, M2 > |
| Functor checking element-wise equality of two matrix expressions. More... | |
| struct | CDPL::Math::Scalar3MatrixBooleanTernaryFunctor< M1, M2, T > |
Base class for ternary functors that take two matrix expressions plus a tolerance scalar and return a bool result (Math::MatrixToleranceEquality). More... | |
| struct | CDPL::Math::MatrixToleranceEquality< M1, M2, T > |
| Functor checking element-wise approximate equality of two matrix expressions within an absolute tolerance. More... | |
| struct | CDPL::Math::MatrixScalarUnaryFunctor< M > |
| Base class for unary functors that take a matrix expression and return a scalar result (Math::MatrixElementSum, Math::MatrixTrace). More... | |
| struct | CDPL::Math::MatrixElementSum< M > |
| Functor returning the sum of all elements of a matrix expression. More... | |
| struct | CDPL::Math::MatrixTrace< M > |
| Functor returning the trace (sum of diagonal entries) of a matrix expression. More... | |
| struct | CDPL::Math::MatrixScalarRealUnaryFunctor< M > |
| Base class for unary functors that take a matrix expression and return a real-valued scalar (Math::MatrixNorm1, Math::MatrixNormFrobenius, Math::MatrixNormInfinity). More... | |
| struct | CDPL::Math::MatrixNorm1< M > |
| Functor returning the L1 (maximum absolute column sum) norm of a matrix expression. More... | |
| struct | CDPL::Math::MatrixNormFrobenius< M > |
| Functor returning the Frobenius norm of a matrix expression. More... | |
| struct | CDPL::Math::MatrixNormInfinity< M > |
| Functor returning the L∞ (maximum absolute row sum) norm of a matrix expression. More... | |
| struct | CDPL::Math::VectorMatrixUnaryFunctor< V > |
| Base class for unary functors that produce a matrix element from a vector expression and (i, j) cell indices (Math::DiagonalMatrixFromVector, Math::CrossProductMatrixFromVector). More... | |
| struct | CDPL::Math::DiagonalMatrixFromVector< V > |
Functor producing the diagonal-matrix entry at (i, j) from a vector expression ( \( e(i) \) on the diagonal, 0 elsewhere). More... | |
| struct | CDPL::Math::CrossProductMatrixFromVector< V > |
| Functor producing the cross-product (skew-symmetric) matrix entry at (i, j) for a 3-vector expression. More... | |
| struct | CDPL::Math::MatrixVectorBinaryFunctor< M, V > |
| Base class for binary functors that take a matrix expression and a vector expression and return a vector-element scalar result (Math::MatrixVectorProduct, Math::VectorMatrixProduct). More... | |
| struct | CDPL::Math::MatrixVectorProduct< M, V > |
| Functor returning element i of the matrix-vector product \( e_1 \cdot e_2 \). More... | |
| struct | CDPL::Math::VectorMatrixProduct< V, M > |
| Functor returning element i of the vector-matrix product \( e_1 \cdot e_2 \). More... | |
| struct | CDPL::Math::MatrixBinaryFunctor< M1, M2 > |
| Base class for binary functors that take two matrix expressions and return a matrix-element scalar result (Math::MatrixProduct). More... | |
| struct | CDPL::Math::MatrixProduct< M1, M2 > |
| Functor returning entry (i, j) of the matrix product \( e_1 \cdot e_2 \). More... | |
| struct | CDPL::Math::QuaternionBooleanBinaryFunctor< Q1, Q2 > |
Base class for binary functors that take two quaternion expressions and return a bool result (Math::QuaternionEquality). More... | |
| struct | CDPL::Math::QuaternionEquality< Q1, Q2 > |
| Functor checking component-wise equality of two quaternion expressions. More... | |
| struct | CDPL::Math::Scalar3QuaternionBooleanTernaryFunctor< Q1, Q2, T > |
Base class for ternary functors that take two quaternion expressions plus a tolerance scalar and return a bool result (Math::QuaternionToleranceEquality). More... | |
| struct | CDPL::Math::QuaternionToleranceEquality< Q1, Q2, T > |
| Functor checking component-wise approximate equality of two quaternion expressions within an absolute tolerance. More... | |
| struct | CDPL::Math::QuaternionScalarUnaryFunctor< Q > |
| Base class for unary functors that take a quaternion expression and return a scalar result (Math::QuaternionElementSum). More... | |
| struct | CDPL::Math::QuaternionElementSum< Q > |
| Functor returning the sum of the four components of a quaternion expression. More... | |
| struct | CDPL::Math::QuaternionScalarRealUnaryFunctor< Q > |
| Base class for unary functors that take a quaternion expression and return a real-valued scalar (Math::QuaternionNorm, Math::QuaternionNorm2). More... | |
| struct | CDPL::Math::QuaternionNorm< Q > |
| Functor returning the (Euclidean) norm \( \|e\| \) of a quaternion expression. More... | |
| struct | CDPL::Math::QuaternionNorm2< Q > |
| Functor returning the squared norm \( \|e\|^2 \) of a quaternion expression. More... | |
| struct | CDPL::Math::QuaternionUnaryFunctor< Q > |
Base class for per-component unary functors that take a quaternion expression and produce a quaternion result via applyC1 / applyC2 / applyC3 / applyC4 (Math::QuaternionUnreal, Math::QuaternionConjugate). More... | |
| struct | CDPL::Math::QuaternionUnreal< Q > |
Per-component functor returning the unreal (pure-quaternion) part of a quaternion expression (zeros C1, keeps C2/ More... | |
| struct | CDPL::Math::QuaternionConjugate< Q > |
Per-component functor returning the quaternion conjugate (keeps C1, negates C2/ More... | |
| struct | CDPL::Math::Scalar1QuaternionBinaryFunctor< T, Q > |
| Base class for per-component binary functors that take a scalar T (lhs) and a quaternion expression (Math::Scalar1QuaternionAddition, Math::Scalar1QuaternionSubtraction). More... | |
| struct | CDPL::Math::Scalar1QuaternionAddition< T, Q > |
| Per-component functor returning \( t + e \) (scalar t added to the real component of e). More... | |
| struct | CDPL::Math::Scalar1QuaternionSubtraction< T, Q > |
| Per-component functor returning \( t - e \) (scalar t with the quaternion e subtracted). More... | |
| struct | CDPL::Math::Scalar2QuaternionBinaryFunctor< Q, T > |
| Base class for per-component binary functors that take a quaternion expression (lhs) and a scalar T (Math::Scalar2QuaternionAddition, Math::Scalar2QuaternionSubtraction, Math::QuaternionInverse). More... | |
| struct | CDPL::Math::Scalar2QuaternionAddition< Q, T > |
| Per-component functor returning \( e + t \) (scalar t added to the real component of e). More... | |
| struct | CDPL::Math::Scalar2QuaternionSubtraction< Q, T > |
| Per-component functor returning \( e - t \) (scalar t subtracted from the real component of e). More... | |
| struct | CDPL::Math::QuaternionInverse< Q, T > |
| Per-component functor returning the multiplicative inverse \( \overline{e} / \|e\|^2 \) of a quaternion expression (n2 is the precomputed squared norm). More... | |
| struct | CDPL::Math::QuaternionBinaryFunctor< Q1, Q2 > |
| Base class for per-component binary functors that take two quaternion expressions and produce a quaternion result (Math::QuaternionProduct). More... | |
| struct | CDPL::Math::QuaternionProduct< Q1, Q2 > |
| Per-component functor returning the Hamilton product \( e_1 \cdot e_2 \) of two quaternion expressions. More... | |
| struct | CDPL::Math::Scalar3QuaternionTernaryFunctor< Q1, Q2, T > |
| Base class for per-component ternary functors that take two quaternion expressions plus a scalar (Math::QuaternionDivision). More... | |
| struct | CDPL::Math::QuaternionDivision< Q1, Q2, T > |
| Per-component functor returning the quaternion division \( e_1 \cdot e_2^{-1} \) (n2 is the precomputed squared norm of e_2). More... | |
| struct | CDPL::Math::Scalar13QuaternionTernaryFunctor< T1, Q, T2 > |
| Base class for per-component ternary functors that take a scalar T1 (lhs), a quaternion expression, and a scalar T2 (Math::ScalarQuaternionDivision). More... | |
| struct | CDPL::Math::ScalarQuaternionDivision< T1, Q, T2 > |
| Per-component functor returning the scalar/quaternion division \( t \cdot e^{-1} \) (n2 is the precomputed squared norm of e). More... | |
| struct | CDPL::Math::QuaternionVectorBinaryFunctor< Q, V > |
| Base class for binary functors that take a quaternion expression and a vector expression and return a vector-element scalar (Math::QuaternionVectorRotation). More... | |
| struct | CDPL::Math::QuaternionVectorRotation< Q, V > |
| Functor returning element i of the rotated 3-dimensional vector \( e_1 \cdot e_2 \cdot e_1^{-1} \) (quaternion rotation of \( e_2 \) by \( e_1 \)). More... | |
| struct | CDPL::Math::GridBooleanBinaryFunctor< G1, G2 > |
Base class for binary functors that take two grid expressions and return a bool result (Math::GridEquality). More... | |
| struct | CDPL::Math::GridEquality< G1, G2 > |
| Functor checking cell-wise equality of two grid expressions. More... | |
| struct | CDPL::Math::Scalar3GridBooleanTernaryFunctor< G1, G2, T > |
Base class for ternary functors that take two grid expressions plus a tolerance scalar and return a bool result (Math::GridToleranceEquality). More... | |
| struct | CDPL::Math::GridToleranceEquality< G1, G2, T > |
| Functor checking cell-wise approximate equality of two grid expressions within an absolute tolerance. More... | |
| struct | CDPL::Math::GridScalarUnaryFunctor< M > |
| Base class for unary functors that take a grid expression and return a scalar result (Math::GridElementSum). More... | |
| struct | CDPL::Math::GridElementSum< G > |
| Functor returning the sum of all cells of a grid expression. More... | |
Namespaces | |
| CDPL | |
| The namespace of the Chemical Data Processing Library. | |
| CDPL::Math | |
| Contains classes and functions related to mathematics. | |
Definition of various functors.