[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kspread
From:       Marijn Kruisselbrink <m.kruisselbrink () student ! tue ! nl>
Date:       2009-10-30 20:13:57
Message-ID: 1256933637.959204.5847.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1042829 by mkruisselbrink:

the sum of an empty list should be 0, not '' (sorry for the whitespace changes)


 M  +25 -25    ValueCalc.cpp  
 M  +2 -2      functions/math.cpp  


--- trunk/koffice/kspread/ValueCalc.cpp #1042828:1042829
@@ -1257,7 +1257,7 @@
   bool reflect;
 
   double gamma = GammaHelp( val, reflect);
-  
+
   gamma = ::pow(val+5.5, val+0.5) * gamma/::exp(val+5.5);
 
   if (reflect)
@@ -1284,13 +1284,13 @@
 //   double x = numToDouble (converter->toFloat (_x));
 //   double alpha = numToDouble (converter->toFloat (_alpha));
 //   double beta = numToDouble (converter->toFloat (_beta));
-// 
+//
 //   if (x == 0.0)
 //     return Value (0.0);
-// 
+//
 //   x /= beta;
 //   double gamma = alpha;
-// 
+//
 //   double c = 0.918938533204672741;
 //   double d[10] = {
 //     0.833333333333333333E-1,
@@ -1304,18 +1304,18 @@
 //     0.179644372368830573,
 //     -0.139243221690590111E1
 //   };
-// 
+//
 //   double dx = x;
 //   double dgamma = gamma;
 //   int maxit = 10000;
-// 
+//
 //   double z = dgamma;
 //   double den = 1.0;
 //   while ( z < 10.0 ) {
 //     den *= z;
 //     z += 1.0;
 //   }
-// 
+//
 //   double z2 = z*z;
 //   double z3 = z*z2;
 //   double z4 = z2*z2;
@@ -1324,12 +1324,12 @@
 //   double b = d[0]/z + d[1]/z3 + d[2]/z5 + d[3]/(z2*z5) + d[4]/(z4*z5) +
 //     d[5]/(z*z5*z5) + d[6]/(z3*z5*z5) + d[7]/(z5*z5*z5) + d[8]/(z2*z5*z5*z5);
 //   // double g = exp(a+b) / den;
-// 
+//
 //   double sum = 1.0 / dgamma;
 //   double term = 1.0 / dgamma;
 //   double cut1 = dx - dgamma;
 //   double cut2 = dx * 10000000000.0;
-// 
+//
 //   for ( int i=1; i<=maxit; i++ ) {
 //     double ai = i;
 //     term = dx * term / ( dgamma + ai );
@@ -1341,14 +1341,14 @@
 //       return Value (::exp( dgamma * ::log(dx) - dx - a - b ) * t * den);
 //     }
 //   }
-// 
+//
 //   return Value (1.0);             // should not happen ...
 // }
 
 Value ValueCalc::GetGammaDist (Value _x, Value _alpha, Value _beta)
 {
   // Algorithm adopted from StatLib (http://lib.stat.cmu.edu/apstat/239):
-  // Algorithm AS 239: Chi-Squared and Incomplete Gamma Integral 
+  // Algorithm AS 239: Chi-Squared and Incomplete Gamma Integral
   // B. L. Shea
   // Applied Statistics, Vol. 37, No. 3 (1988), pp. 466-473
 
@@ -1363,7 +1363,7 @@
 
   int lower_tail=1; //
   int pearson;      // flag is set if pearson was used
-  
+
   const static double xlarge = 1.0e+37;
 
   double res; // result
@@ -1377,7 +1377,7 @@
   if (x <= 0.0)
     return Value(0.0);
 
-  if (x <= 1.0 || x < alpha) 
+  if (x <= 1.0 || x < alpha)
   {
     //
     // Result = e^log(alpha * log(x) - x - log( gamma( alpha+1 ) ) )
@@ -1393,15 +1393,15 @@
     c   = 1.0;
     sum = 1.0;
     a = alpha;
-    do 
+    do
     {
       a += 1.0;
       c *= x / a;
       sum += c;
     } while (c > DBL_EPSILON * sum);
   }
-  else 
-  { 
+  else
+  {
     // x >= max( 1, alpha)
     pearson = 0; // clear flag -> use a continued fraction expansion
 
@@ -1411,8 +1411,8 @@
 //     kDebug()<<"Continued fraction expression res="<<res;
 
     //
-    //  
     //
+    //
 
     a = 1.0 - alpha;
     b = a + x + 1.0;
@@ -1421,7 +1421,7 @@
     pn3 = x + 1.0;
     pn4 = x * b;
     sum = pn3 / pn4;
-    for (n = 1; ; n++) 
+    for (n = 1; ; n++)
     {
 //       kDebug()<<"n="<<n<<" sum="<< sum;
       a += 1.0; // =   n+1 -alpha
@@ -1430,7 +1430,7 @@
       pn5 = b * pn3 - an * pn1;
       pn6 = b * pn4 - an * pn2;
 //       kDebug()<<"a ="<<a<<" an="<<an<<" b="<<b<<" pn5="<<pn5<<" pn6="<<pn6;
-      if (fabs(pn6) > 0.0) 
+      if (fabs(pn6) > 0.0)
       {
         osum = sum;
         sum = pn5 / pn6;
@@ -1442,7 +1442,7 @@
       pn2 = pn4;
       pn3 = pn5;
       pn4 = pn6;
-      if (fabs(pn5) >= xlarge) 
+      if (fabs(pn5) >= xlarge)
       {
         // re-scale the terms in continued fraction if they are large
         kDebug()<<"the terms are to large -> rescaleling by "<<xlarge;
@@ -1688,7 +1688,7 @@
 template <typename func_ptr>
 Value CalcBessel(
   func_ptr       *func,
-  ValueConverter *converter, 
+  ValueConverter *converter,
   Value v, Value x)
 {
   double vv = numToDouble (converter->toFloat (v));
@@ -1828,14 +1828,14 @@
 
 Value ValueCalc::sum (const Value &range, bool full)
 {
-  Value res;
+  Value res(0);
   arrayWalk (range, res, awFunc (full ? "suma" : "sum"), Value(0));
   return res;
 }
 
 Value ValueCalc::sum (QVector<Value> range, bool full)
 {
-  Value res;
+  Value res(0);
   arrayWalk (range, res, awFunc (full ? "suma" : "sum"), Value(0));
   return res;
 }
@@ -1843,7 +1843,7 @@
 // sum of squares
 Value ValueCalc::sumsq (const Value &range, bool full)
 {
-  Value res;
+  Value res(0);
   arrayWalk (range, res, awFunc (full ? "sumsqa" : "sumsq"), Value(0));
   return res;
 }
@@ -1862,7 +1862,7 @@
   }
 
   //if we are here, we have an array
-  Value res;
+  Value res(0);
   Value tmp;
 
   unsigned int rows = range.rows ();
--- trunk/koffice/kspread/functions/math.cpp #1042828:1042829
@@ -576,12 +576,12 @@
     return Value::errorNUM();
 
   double res = 0.0;
- 
+
   if ( fX != 0.0 )
   {
 
     for ( unsigned int i = 0 ; i < args[3].count(); i++ )
-    {       
+    {
       res += args[3].element(i).asFloat() * pow( fX, fN );
       fN += fM;
     }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic