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 63 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:
number1 the first number to compare
number2 the second number to compare
toleranceIsAbsolute whether the tolerance is absolute (true) or relative (false)

Definition at line 168 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:
number the number to compare
tolerance how close it must be

Definition at line 94 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:
number1 the first number to compare
number2 the second number to compare
tolerance the absolute tolerance to use

Definition at line 131 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:
number1 the first number to compare
number2 the second number to compare
relTol the relative tolerance to compare under
absTol the absolute tolerance to compare under
printError whether to print an error message to stdout

Definition at line 136 of file MathsCustomFunctions.cpp.

References WithinAbsoluteTolerance(), and WithinRelativeTolerance().

Referenced by NumericFileComparison::CompareFiles().

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

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

Parameters:
number1 the first number to compare
number2 the second number to compare
tolerance the relative tolerance to use

Definition at line 122 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:
number1 the first number to compare
number2 the second number to compare
tolerance the tolerance to use
toleranceIsAbsolute whether the tolerance is absolute (true) or relative (false)

Definition at line 148 of file MathsCustomFunctions.cpp.

References WithinAbsoluteTolerance(), and WithinRelativeTolerance().


The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:03:32 2011 for Chaste by  doxygen 1.6.3