[Libreoffice-commits] core.git: sc/source

Winfried Donkers winfrieddonkers at libreoffice.org
Fri Dec 16 15:01:53 UTC 2016


 sc/source/core/tool/interpr3.cxx |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

New commits:
commit 245b615400904274e264d5051baf63b3613db935
Author: Winfried Donkers <winfrieddonkers at libreoffice.org>
Date:   Mon Dec 12 16:09:04 2016 +0100

    tdf#104581 handle constraints for NEGBINOMDIST in compliance with ODFF1.2.
    
    Also changed varaiable names for easier understanding of their meaning.
    
    Change-Id: I7c6f338c04898c7b07ebeb97fb331d51fa691f5b
    Reviewed-on: https://gerrit.libreoffice.org/31910
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
index d05c34d..1b6a367 100644
--- a/sc/source/core/tool/interpr3.cxx
+++ b/sc/source/core/tool/interpr3.cxx
@@ -1493,17 +1493,17 @@ void ScInterpreter::ScNegBinomDist()
 {
     if ( MustHaveParamCount( GetByte(), 3 ) )
     {
-        double p      = GetDouble();                    // p
-        double r      = GetDouble();                    // r
-        double x      = GetDouble();                    // x
-        if (r < 0.0 || x < 0.0 || p < 0.0 || p > 1.0)
+        double p = GetDouble();                            // probability
+        double s = ::rtl::math::approxFloor(GetDouble());  // No of successes
+        double f = ::rtl::math::approxFloor(GetDouble());  // No of failures
+        if ((f + s) <= 1.0 || p < 0.0 || p > 1.0)
             PushIllegalArgument();
         else
         {
             double q = 1.0 - p;
-            double fFactor = pow(p,r);
-            for (double i = 0.0; i < x; i++)
-                fFactor *= (i+r)/(i+1.0)*q;
+            double fFactor = pow(p,s);
+            for (double i = 0.0; i < f; i++)
+                fFactor *= (i+s)/(i+1.0)*q;
             PushDouble(fFactor);
         }
     }


More information about the Libreoffice-commits mailing list