MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
numutil.cpp File Reference
#include <cmath>
+ Include dependency graph for numutil.cpp:

Go to the source code of this file.

Macros

#define _NUMUTIL_CPP
 

Functions

bool almostEqual (float x, float y, float epsilon)
 
bool almostEqual (double x, double y, double epsilon)
 
bool almostEqual (long double x, long double y, long double epsilon)
 

Macro Definition Documentation

#define _NUMUTIL_CPP

Definition at line 19 of file numutil.cpp.

Function Documentation

bool almostEqual ( float  x,
float  y,
float  epsilon 
)

Definition at line 27 of file numutil.cpp.

Referenced by Interpol::setXmax(), and Interpol::setXmin().

28 {
29  if (x == 0.0 && y == 0.0) {
30  return true;
31  }
32 
33  if (fabs(x) > fabs(y)) {
34  return fabs((x - y) / x) < epsilon;
35  } else {
36  return fabs((x - y) / y) < epsilon;
37  }
38 }

+ Here is the caller graph for this function:

bool almostEqual ( double  x,
double  y,
double  epsilon 
)

Definition at line 40 of file numutil.cpp.

41 {
42  if (x == 0.0 && y == 0.0){
43  return true;
44  }
45  if (fabs(x) > fabs(y)){
46  return fabs((x - y) / x) < epsilon;
47  } else {
48  return fabs((x - y) / y) < epsilon;
49  }
50 }
bool almostEqual ( long double  x,
long double  y,
long double  epsilon 
)

Definition at line 52 of file numutil.cpp.

53 {
54  if (x == 0.0 && y == 0.0){
55  return true;
56  }
57  if (std::fabs(x) > std::fabs(y)){
58  return std::fabs((x - y) / x) < epsilon;
59  } else {
60  return std::fabs((x - y) / y) < epsilon;
61  }
62 }