diff --git a/src/main/java/miscellaneous/QueueMemory.java b/src/main/java/miscellaneous/QueueMemory.java index 9acb46108e37f0e11f91d31a8a9a2b2dbf208c53..2db9751ec439cfd39c4d12655129ca18711fca8d 100644 --- a/src/main/java/miscellaneous/QueueMemory.java +++ b/src/main/java/miscellaneous/QueueMemory.java @@ -78,7 +78,7 @@ public class QueueMemory<E extends Number> extends ArrayBlockingQueue<E> { double sum = 0.; double total = 0.; for (E item : this) { - if (this.doubleValue(item) > 0.) { + if (this.doubleValue(item) != 0.) { sum += this.doubleValue(item); total++; } @@ -90,6 +90,23 @@ public class QueueMemory<E extends Number> extends ArrayBlockingQueue<E> { } + public double getMeanWithoutNaN() { + double sum = 0.; + double total = 0.; + for (E item : this) { + Double value = this.doubleValue(item); + if (!Double.isNaN(value)) { + sum += value; + total++; + } + } + if (total > 0) { + sum = sum / total; + } + return (sum); + } + + public double getGeometricMean() { double sum = 0.; for (E item : this) {