You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/05/26 22:47:07 UTC

svn commit: r1901300 - in /poi/trunk/poi/src/main/java/org/apache/poi/ss/formula: eval/FunctionEval.java functions/AggregateFunction.java

Author: fanningpj
Date: Thu May 26 22:47:07 2022
New Revision: 1901300

URL: http://svn.apache.org/viewvc?rev=1901300&view=rev
Log:
add VARPA and STDEVPA functions

Modified:
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/FunctionEval.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/AggregateFunction.java

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/FunctionEval.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/FunctionEval.java?rev=1901300&r1=1901299&r2=1901300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/FunctionEval.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/FunctionEval.java Thu May 26 22:47:07 2022
@@ -336,8 +336,8 @@ public final class FunctionEval {
         retval[361] = AggregateFunction.AVERAGEA;
         retval[362] = MinaMaxa.MAXA;
         retval[363] = MinaMaxa.MINA;
-        // 364: STDEVPA
-        // 365: VARPA
+        retval[364] = AggregateFunction.STDEVPA;
+        retval[365] = AggregateFunction.VARPA;
         retval[366] = AggregateFunction.STDEVA;
         retval[367] = AggregateFunction.VARA;
 

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/AggregateFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/AggregateFunction.java?rev=1901300&r1=1901299&r2=1901300&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/AggregateFunction.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/AggregateFunction.java Thu May 26 22:47:07 2022
@@ -265,6 +265,20 @@ public abstract class AggregateFunction
             return StatsLib.stdev(values);
         }
     };
+    public static final Function STDEVPA = new AggregateFunction() {
+        @Override
+        protected boolean handleLogicalValues() {
+            return true;
+        }
+
+        @Override
+        protected double evaluate(double[] values) throws EvaluationException {
+            if (values.length < 1) {
+                throw new EvaluationException(ErrorEval.DIV_ZERO);
+            }
+            return StatsLib.stdevp(values);
+        }
+    };
     public static final Function SUM = new AggregateFunction() {
         protected double evaluate(double[] values) {
             return MathX.sum(values);
@@ -296,7 +310,7 @@ public abstract class AggregateFunction
         protected boolean handleLogicalValues() {
             return true;
         }
-        
+
         @Override
         protected double evaluate(double[] values) throws EvaluationException {
             if (values.length < 1) {
@@ -305,6 +319,20 @@ public abstract class AggregateFunction
             return StatsLib.var(values);
         }
     };
+    public static final Function VARPA = new AggregateFunction() {
+        @Override
+        protected boolean handleLogicalValues() {
+            return true;
+        }
+
+        @Override
+        protected double evaluate(double[] values) throws EvaluationException {
+            if (values.length < 1) {
+                throw new EvaluationException(ErrorEval.DIV_ZERO);
+            }
+            return StatsLib.varp(values);
+        }
+    };
     public static final Function GEOMEAN = new Geomean();
 
     private static class Product extends AggregateFunction {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org