Adding some generic sum and average functions to MathUtils
This commit is contained in:
parent
e1d69e4060
commit
3dd6a1f962
|
|
@ -137,6 +137,10 @@ public class MathUtils {
|
|||
|
||||
return size;
|
||||
}
|
||||
|
||||
public static double average(Collection<Integer> x) {
|
||||
return (double) sum(x) / x.size();
|
||||
}
|
||||
|
||||
public static double average(Collection<Number> numbers, boolean ignoreNan) {
|
||||
if (ignoreNan) {
|
||||
|
|
@ -176,6 +180,13 @@ public class MathUtils {
|
|||
return s;
|
||||
}
|
||||
|
||||
public static long sum(int[] x) {
|
||||
long total = 0;
|
||||
for (int v : x)
|
||||
total += v;
|
||||
return total;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calculates the log10 cumulative sum of an array with log10 probabilities
|
||||
|
|
@ -722,6 +733,13 @@ public class MathUtils {
|
|||
return average(vals, vals.size());
|
||||
}
|
||||
|
||||
public static double average(int[] x) {
|
||||
int sum = 0;
|
||||
for (int v : x)
|
||||
sum += v;
|
||||
return (double) sum / x.length;
|
||||
}
|
||||
|
||||
public static byte average(byte[] vals) {
|
||||
int sum = 0;
|
||||
for (byte v : vals) {
|
||||
|
|
@ -1079,6 +1097,13 @@ public class MathUtils {
|
|||
return getQScoreOrderStatistic(reads, offsets, (int) Math.floor(reads.size() / 2.));
|
||||
}
|
||||
|
||||
public static long sum(Collection<Integer> x) {
|
||||
long sum = 0;
|
||||
for (int v : x)
|
||||
sum += v;
|
||||
return sum;
|
||||
}
|
||||
|
||||
/**
|
||||
* A utility class that computes on the fly average and standard deviation for a stream of numbers.
|
||||
* The number of observations does not have to be known in advance, and can be also very big (so that
|
||||
|
|
|
|||
Loading…
Reference in New Issue