Chaste Release::3.1
CompareDoubles Class Reference

#include <MathsCustomFunctions.hpp>

List of all members.

Static Public Member Functions

static bool IsNearZero (double number, double tolerance)
static bool WithinRelativeTolerance (double number1, double number2, double tolerance)
static bool WithinAbsoluteTolerance (double number1, double number2, double tolerance)
static bool WithinTolerance (double number1, double number2, double tolerance, bool toleranceIsAbsolute)
static bool WithinAnyTolerance (double number1, double number2, double relTol=DBL_EPSILON, double absTol=DBL_EPSILON, bool printError=false)
static double Difference (double number1, double number2, bool toleranceIsAbsolute)

Detailed Description

Utility static methods for comparing floating point numbers, based on boost/test/floating_point_comparison.hpp.

Definition at line 70 of file MathsCustomFunctions.hpp.


Member Function Documentation

double CompareDoubles::Difference ( double  number1,
double  number2,
bool  toleranceIsAbsolute 
) [static]

Compute the relative or absolute difference between two numbers.

Parameters:
number1the first number to compare
number2the second number to compare
toleranceIsAbsolutewhether the tolerance is absolute (true) or relative (false)

Definition at line 175 of file MathsCustomFunctions.cpp.

bool CompareDoubles::IsNearZero ( double  number,
double  tolerance 
) [static]

Test whether a number is close to zero, as defined by the given tolerance. A number equal in magnitude to the tolerance is OK.

Parameters:
numberthe number to compare
tolerancehow close it must be

Definition at line 101 of file MathsCustomFunctions.cpp.

bool CompareDoubles::WithinAbsoluteTolerance ( double  number1,
double  number2,
double  tolerance 
) [static]

Test whether two numbers are close within the given absolute tolerance. A difference of exactly the tolerance is OK.

Parameters:
number1the first number to compare
number2the second number to compare
tolerancethe absolute tolerance to use

Definition at line 138 of file MathsCustomFunctions.cpp.

Referenced by WithinAnyTolerance(), and WithinTolerance().

bool CompareDoubles::WithinAnyTolerance ( double  number1,
double  number2,
double  relTol = DBL_EPSILON,
double  absTol = DBL_EPSILON,
bool  printError = false 
) [static]

Test whether two numbers are close within the given tolerances. If either the relative or absolute tolerance is satisfied, then the result is true.

Parameters:
number1the first number to compare
number2the second number to compare
relTolthe relative tolerance to compare under
absTolthe absolute tolerance to compare under
printErrorwhether to print an error message to stdout

Definition at line 143 of file MathsCustomFunctions.cpp.

References WithinAbsoluteTolerance(), and WithinRelativeTolerance().

Referenced by NumericFileComparison::CompareFiles(), CvodeAdaptor::SetupCvode(), and AbstractCvodeSystem::SetupCvode().

bool CompareDoubles::WithinRelativeTolerance ( double  number1,
double  number2,
double  tolerance 
) [static]

Test whether two numbers are close within the given relative tolerance.

Parameters:
number1the first number to compare
number2the second number to compare
tolerancethe relative tolerance to use

Definition at line 129 of file MathsCustomFunctions.cpp.

Referenced by WithinAnyTolerance(), and WithinTolerance().

bool CompareDoubles::WithinTolerance ( double  number1,
double  number2,
double  tolerance,
bool  toleranceIsAbsolute 
) [static]

Test whether two numbers are close within the given tolerance, and print an error message to stdout if not.

Parameters:
number1the first number to compare
number2the second number to compare
tolerancethe tolerance to use
toleranceIsAbsolutewhether the tolerance is absolute (true) or relative (false)

Definition at line 155 of file MathsCustomFunctions.cpp.

References WithinAbsoluteTolerance(), and WithinRelativeTolerance().


The documentation for this class was generated from the following files: