Added several useful routines to MathUtils for summing and bounds checking of doubles

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1379 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
depristo 2009-08-05 00:41:31 +00:00
parent 68309408e4
commit 5487ab0ee6
1 changed files with 36 additions and 0 deletions

View File

@ -11,6 +11,42 @@ public class MathUtils {
/** Private constructor. No instantiating this class! */
private MathUtils() {}
public static double sum(double[] values) {
double s = 0.0;
for ( double v : values) s += v;
return s;
}
public static double sumLog10(double[] log10values) {
double s = 0.0;
for ( double v : log10values) s += Math.pow(10.0, v);
return s;
}
public static boolean wellFormedDouble(double val) {
return ! Double.isInfinite(val) && ! Double.isNaN(val);
}
public static boolean isBounded(double val, double lower, double upper) {
return val >= lower && val <= upper;
}
public static boolean isPositive(double val) {
return ! isNegativeOrZero(val);
}
public static boolean isPositiveOrZero(double val) {
return isBounded(val, 0.0, Double.POSITIVE_INFINITY);
}
public static boolean isNegativeOrZero(double val) {
return isBounded(val, Double.NEGATIVE_INFINITY, 0.0);
}
public static boolean isNegative(double val) {
return ! isPositiveOrZero(val);
}
/**
* Compares double values for equality (within 1e-6), or inequality.
*