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

List:       kde-commits
Subject:    branches/KDE/3.5/kdelibs/kjs
From:       Harri Porten <porten () kde ! org>
Date:       2006-11-05 1:00:10
Message-ID: 1162688410.722895.3427.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 602022 by porten:

fixed toPrecision() calls on 1.0


 M  +7 -0      number_object.cpp  


--- branches/KDE/3.5/kdelibs/kjs/number_object.cpp #602021:602022
@@ -373,11 +373,18 @@
     }
 
     if (x != 0) {
+      // suggestions for a better algorithm welcome!
       e = int(log10(x));
       double n = floor(x/pow(10.0,e-p+1));
       if (n < pow(10.0,p-1)) {
+	// first guess was not good
 	e = e - 1;
 	n = floor(x/pow(10.0,e-p+1));
+	if (n >= pow(10.0,p)) {
+	  // violated constraint. try something else.
+	  n = pow(10.0,p-1);
+	  e = int(log10(x/n)) + p - 1;
+	}
       }
 
       if (fabs((n+1)*pow(10.0,e-p+1)-x) < fabs(n*pow(10.0,e-p+1)-x))
[prev in list] [next in list] [prev in thread] [next in thread] 

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