|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.stanford.nlp.math.SloppyMath
public final class SloppyMath
The class SloppyMath
contains methods for performing basic
numeric operations. In some cases, such as max and min, they cut a few
corners in
the implementation for the sake of efficiency. In particular, they may
not handle special notions like NaN and -0.0 correctly. This was the
origin of the class name, but some other operations are just useful
math additions, such as logSum.
Constructor Summary | |
---|---|
SloppyMath()
|
Method Summary | |
---|---|
static double |
chiSquare2by2(int k,
int n,
int r,
int m)
Find a 2x2 chi-square value. |
static double |
exactBinomial(int k,
int n,
double p)
Find a one tailed exact binomial test probability. |
static double |
hypergeometric(int k,
int n,
int r,
int m)
Find a hypergeometric distribution. |
static double |
intPow(double b,
int e)
exponentiation like we learned in grade school: multiply b by itself e times. |
static float |
intPow(float b,
int e)
exponentiation like we learned in grade school: multiply b by itself e times. |
static int |
intPow(int b,
int e)
exponentiation like we learned in grade school: multiply b by itself e times. |
static boolean |
isDangerous(double d)
Returns true if the argument is a "dangerous" double to have around, namely one that is infinite, NaN or zero. |
static boolean |
isVeryDangerous(double d)
Returns true if the argument is a "very dangerous" double to have around, namely one that is infinite or NaN. |
static double |
logAdd(double lx,
double ly)
Returns the log of the sum of two numbers, which are themselves input in log form. |
static float |
logAdd(float lx,
float ly)
Returns the log of the sum of two numbers, which are themselves input in log form. |
static void |
main(String[] args)
Tests the hypergeometric distribution code, or other functions provided in this module. |
static double |
max(double a,
double b)
Returns the greater of two double values. |
static float |
max(float a,
float b)
Returns the greater of two float values. |
static int |
max(int a,
int b,
int c)
Returns the minimum of three int values. |
static double |
min(double a,
double b)
Returns the smaller of two double values. |
static float |
min(float a,
float b)
Returns the smaller of two float values. |
static int |
min(int a,
int b,
int c)
Returns the minimum of three int values. |
static int |
nChooseK(int n,
int k)
Computes n choose k in an efficient way. |
static double |
oneTailedFishersExact(int k,
int n,
int r,
int m)
Find a one-tailed Fisher's exact probability. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SloppyMath()
Method Detail |
---|
public static int max(int a, int b, int c)
public static int min(int a, int b, int c)
public static float max(float a, float b)
float
values. That is,
the result is the argument closer to positive infinity. If the
arguments have the same value, the result is that same
value. Does none of the special checks for NaN or -0.0f that
Math.max
does.
a
- an argument.b
- another argument.
a
and b
.public static double max(double a, double b)
double
values. That
is, the result is the argument closer to positive infinity. If
the arguments have the same value, the result is that same
value. Does none of the special checks for NaN or -0.0f that
Math.max
does.
a
- an argument.b
- another argument.
a
and b
.public static float min(float a, float b)
float
values. That is,
the result is the value closer to negative infinity. If the
arguments have the same value, the result is that same
value. Does none of the special checks for NaN or -0.0f that
Math.max
does.
a
- an argument.b
- another argument.
a
and b.
public static double min(double a, double b)
double
values. That
is, the result is the value closer to negative infinity. If the
arguments have the same value, the result is that same
value. Does none of the special checks for NaN or -0.0f that
Math.max
does.
a
- an argument.b
- another argument.
a
and b
.public static boolean isDangerous(double d)
public static boolean isVeryDangerous(double d)
public static float logAdd(float lx, float ly)
lx
- First number, in log formly
- Second number, in log form
public static double logAdd(double lx, double ly)
lx
- First number, in log formly
- Second number, in log form
public static int nChooseK(int n, int k)
n
- k
-
public static int intPow(int b, int e)
b
- basee
- exponent
public static float intPow(float b, int e)
b
- basee
- exponent
public static double intPow(double b, int e)
b
- basee
- exponent
public static double hypergeometric(int k, int n, int r, int m)
k
- The number of black balls drawnn
- The total number of ballsr
- The number of black ballsm
- The number of balls drawn
public static double exactBinomial(int k, int n, double p)
k
- number of successesn
- Number of trialsp
- Probability of a successpublic static double oneTailedFishersExact(int k, int n, int r, int m)
k
- The number of black balls drawnn
- The total number of ballsr
- The number of black ballsm
- The number of balls drawn
public static double chiSquare2by2(int k, int n, int r, int m)
k
- The number of black balls drawnn
- The total number of ballsr
- The number of black ballsm
- The number of balls drawn
public static void main(String[] args)
args
- Either none, and the log add rountines are tested, or the
following 4 arguments: k (cell), n (total), r (row), m (col)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |