MathUtil.java [src/java/m/sensitivity/model/util] Revision: default Date:
package m.sensitivity.model.util;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
public final class MathUtil {
private MathUtil() {
}
public static double findMin(double[] values) {
double min = Double.MAX_VALUE;
for (int i = 0; i < values.length; ++i) {
if (values[i] < min) {
min = values[i];
}
}
return min;
}
public static double findMin(List<Double> values) {
double min = Double.MAX_VALUE;
for (double value : values) {
if (value < min) {
min = value;
}
}
return min;
}
public static void normalize(double[] values) {
double sum = 0;
for (int i = 0; i < values.length; ++i) {
sum += values[i];
}
if (sum > 0) {
for (int i = 0; i < values.length; ++i) {
values[i] /= sum;
}
}
}
public static void normalize(List<Double> values) {
double sum = 0;
for (double value : values) {
sum += value;
}
if (sum > 0) {
ListIterator<Double> iterator = values.listIterator();
while (iterator.hasNext()) {
double value = iterator.next();
value /= sum;
iterator.set(value);
}
}
}
public static void normalize(Map<String, Double> values) {
double sum = 0;
for (double value : values.values()) {
sum += value;
}
if (sum > 0) {
for (Map.Entry<String, Double> entry : values.entrySet()) {
double value = entry.getValue();
value /= sum;
entry.setValue(value);
}
}
}
}