edu.harvard.econcs.util
Class FloatingUtil
java.lang.Object
edu.harvard.econcs.util.FloatingUtil
public class FloatingUtil
- extends java.lang.Object
Mipinator.MaxValue is 29 bits. Java double representation is 52 bits for the mantissa.
This leaves 23 bits for the floating point part, at worst. So at worst, this means
that values this huge have a (2^-23)/2 = 0.000000059604644775390625 representation error.
With an epsilon of .001f, this means that we can have ~16,000 operations with max error and
still be ok. This seems like a lot and probably fine for the exchange.
- Since:
- Dec 2, 2004
- Version:
- $Revision: 1.9 $ on $Date: 2006/08/23 20:17:58 $
Field Summary |
static double |
EPSILON
0.001953125 == (1/512) == 1/(2^-9) -> power of two representable cleanly in floating point. |
Method Summary |
static boolean |
equal(double a,
double b)
|
static boolean |
equal(double a,
double b,
double eps)
|
static boolean |
greater(double a,
double b)
|
static boolean |
greater(double a,
double b,
double eps)
|
static boolean |
greaterEqual(double a,
double b)
|
static boolean |
greaterEqual(double a,
double b,
double eps)
|
static boolean |
less(double a,
double b)
|
static boolean |
less(double a,
double b,
double eps)
|
static boolean |
lessEqual(double a,
double b)
|
static boolean |
lessEqual(double a,
double b,
double eps)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EPSILON
public static double EPSILON
- 0.001953125 == (1/512) == 1/(2^-9) -> power of two representable cleanly in floating point.
FloatingUtil
public FloatingUtil()
equal
public static boolean equal(double a,
double b)
equal
public static boolean equal(double a,
double b,
double eps)
greater
public static boolean greater(double a,
double b)
greater
public static boolean greater(double a,
double b,
double eps)
less
public static boolean less(double a,
double b)
less
public static boolean less(double a,
double b,
double eps)
greaterEqual
public static boolean greaterEqual(double a,
double b)
greaterEqual
public static boolean greaterEqual(double a,
double b,
double eps)
lessEqual
public static boolean lessEqual(double a,
double b)
lessEqual
public static boolean lessEqual(double a,
double b,
double eps)