Advertisement
kruncher

CompareAlmostEqual(float x, float y, float epsilon)

Feb 13th, 2013
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.38 KB | None | 0 0
  1. public static bool CompareAlmostEqual(float x, float y, float epsilon) {
  2.     // Based upon implementation:
  3.     // http://floating-point-gui.de/errors/comparison/
  4.  
  5.     if (x == y)
  6.         return true;
  7.  
  8.     float absX = Math.Abs(x);
  9.     float absY = Math.Abs(y);
  10.     float diff = Math.Abs(x - y);
  11.  
  12.     if (x * y == 0)
  13.         return diff < (epsilon * epsilon);
  14.     else
  15.         return diff / (absX + absY) < epsilon;
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement