Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Static Public Member Functions | List of all members
CDPL::Math::VectorToleranceEquality< V1, V2, T > Struct Template Reference

Vector tolerance-equality functor: apply(e1, e2, eps) tests element-wise equality within an absolute tolerance. More...

#include <Functional.hpp>

+ Inheritance diagram for CDPL::Math::VectorToleranceEquality< V1, V2, T >:

Public Types

typedef Scalar3VectorBooleanTernaryFunctor< V1, V2, T >::SizeType SizeType
 
typedef Scalar3VectorBooleanTernaryFunctor< V1, V2, T >::ValueType ValueType
 
typedef Scalar3VectorBooleanTernaryFunctor< V1, V2, T >::ResultType ResultType
 
typedef Scalar3VectorBooleanTernaryFunctor< V1, V2, T >::Argument3Type Argument3Type
 
- Public Types inherited from CDPL::Math::Scalar3VectorBooleanTernaryFunctor< V1, V2, T >
typedef bool ResultType
 The boolean result type. More...
 
typedef const T & Argument3Type
 The third (scalar) argument type. More...
 
typedef CommonType< typename V1::SizeType, typename V2::SizeType >::Type SizeType
 The unsigned size type (common type of the two vector size types). More...
 
typedef CommonType< typename V1::ValueType, typename V2::ValueType >::Type ValueType
 The element value type (common type of the two vector element types). More...
 

Static Public Member Functions

static ResultType apply (const VectorExpression< V1 > &e1, const VectorExpression< V2 > &e2, Argument3Type epsilon)
 Tells whether the vector expressions e1 and e2 are element-wise equal within an absolute tolerance epsilon. More...
 

Detailed Description

template<typename V1, typename V2, typename T>
struct CDPL::Math::VectorToleranceEquality< V1, V2, T >

Vector tolerance-equality functor: apply(e1, e2, eps) tests element-wise equality within an absolute tolerance.

Template Parameters
V1The first vector expression type.
V2The second vector expression type.
TThe scalar tolerance type.

Member Typedef Documentation

◆ SizeType

template<typename V1 , typename V2 , typename T >
typedef Scalar3VectorBooleanTernaryFunctor<V1, V2, T>::SizeType CDPL::Math::VectorToleranceEquality< V1, V2, T >::SizeType

◆ ValueType

template<typename V1 , typename V2 , typename T >
typedef Scalar3VectorBooleanTernaryFunctor<V1, V2, T>::ValueType CDPL::Math::VectorToleranceEquality< V1, V2, T >::ValueType

◆ ResultType

template<typename V1 , typename V2 , typename T >
typedef Scalar3VectorBooleanTernaryFunctor<V1, V2, T>::ResultType CDPL::Math::VectorToleranceEquality< V1, V2, T >::ResultType

◆ Argument3Type

template<typename V1 , typename V2 , typename T >
typedef Scalar3VectorBooleanTernaryFunctor<V1, V2, T>::Argument3Type CDPL::Math::VectorToleranceEquality< V1, V2, T >::Argument3Type

Member Function Documentation

◆ apply()

template<typename V1 , typename V2 , typename T >
static ResultType CDPL::Math::VectorToleranceEquality< V1, V2, T >::apply ( const VectorExpression< V1 > &  e1,
const VectorExpression< V2 > &  e2,
Argument3Type  epsilon 
)
inlinestatic

Tells whether the vector expressions e1 and e2 are element-wise equal within an absolute tolerance epsilon.

Parameters
e1The first vector expression.
e2The second vector expression.
epsilonThe non-negative absolute tolerance.
Returns
true if both vectors have equal sizes and corresponding elements agree within epsilon, and false otherwise.

The documentation for this struct was generated from the following file: