40 double_tolerance_ = 1e-12;
41 float_tolerance_ = 1e-8;
42 compare_number_of_entries_ =
false;
43 throw_on_error_ =
false;
50 template <
typename t_Scalar>
51 t_Scalar getTolerance()
const;
66 template <
class t_Left,
class t_Right>
75 template <
class t_Ariles>
78 return (ariles_class.arilesGetParameters(*
this));
82 template <
class t_Left,
class t_Right>
83 void start(
const t_Left &left,
const t_Right &right,
const std::string &name,
const Parameters ¶m)
87 this->operator()(left, right, name, param);
91 template <
typename t_Scalar>
106 if (isInfinity(left))
108 if (isInfinity(right))
110 if (((left > 0) && (right > 0)) || ((left < 0) && (right < 0)))
117 return (std::abs(left - right)
118 <= ((std::abs(left) < std::abs(right) ? std::abs(right) : std::abs(left))
123 template <
class t_Left,
class t_Right>
139 catch (
const std::exception &e)
141 ARILES_THROW(
"entry: " + name +
" // " + std::string(e.what()));
148 inline double Visitor::Parameters::getTolerance<double>()
const 154 inline float Visitor::Parameters::getTolerance<float>()
const 160 #ifndef ARILES_METHODS_compare 161 # define ARILES_METHODS_compare \ 162 const ariles::compare::Visitor::Parameters &arilesGetParameters(const ariles::compare::Visitor &visitor) const \ 164 ARILES_TRACE_FUNCTION; \ 165 return (visitor.getDefaultParameters()); \
void ARILES_VISIBILITY_ATTRIBUTE apply_compare(t_Visitor &visitor, const t_Left &left, const t_Right &right, const typename t_Visitor::Parameters ¶m, ARILES_IS_BASE_ENABLER(ariles::Ariles, t_Left))
void apply(t_Visitor &visitor, t_Ariles &ariles_class, const std::string &name, const typename t_Visitor::Parameters ¶m, ARILES_IS_BASE_ENABLER(ariles::visitor::Visitor, t_Visitor))
#define ARILES_TRACE_FUNCTION
compare::Parameters Parameters
bool compare(const t_Left &left, const t_Right &right, const Parameters ¶m)
#define ARILES_TRACE_TYPE(entry)
static bool compareFloats(const t_Scalar left, const t_Scalar right, const Parameters ¶m)
bool compare_number_of_entries_
void operator()(const t_Left &left, const t_Right &right, const std::string &name, const Parameters ¶m)
void start(const t_Left &left, const t_Right &right, const std::string &name, const Parameters ¶m)
const Parameters & getParameters(const t_Ariles &ariles_class) const
#define ARILES_VISIBILITY_ATTRIBUTE
#define ARILES_TRACE_ENTRY(entry_name)