diff layer/LogNumericalScale.cpp @ 904:e0f08e108064 cxx11

Move to using double rather than float for floating-point calculations (float only for storage); more build fixes
author Chris Cannam
date Mon, 09 Mar 2015 12:02:10 +0000
parents 3ca3b8fbbcee
children b66fb15de477
line wrap: on
line diff
--- a/layer/LogNumericalScale.cpp	Mon Mar 09 08:43:20 2015 +0000
+++ b/layer/LogNumericalScale.cpp	Mon Mar 09 12:02:10 2015 +0000
@@ -38,18 +38,18 @@
 				 const VerticalScaleLayer *layer,
 				 QPainter &paint,
 				 int x0,
-				 float minlog,
-				 float maxlog)
+				 double minlog,
+				 double maxlog)
 {
     int w = getWidth(v, paint) + x0;
 
     int n = 10;
 
-    float val = minlog;
-    float inc = (maxlog - val) / n; // even increments of log scale
+    double val = minlog;
+    double inc = (maxlog - val) / n; // even increments of log scale
 
     // smallest increment as displayed
-    float minDispInc = LogRange::unmap(minlog + inc) - LogRange::unmap(minlog);
+    double minDispInc = LogRange::unmap(minlog + inc) - LogRange::unmap(minlog);
 
 #ifdef DEBUG_TIME_VALUE_LAYER
     cerr << "min = " << minlog << ", max = " << maxlog << ", inc = " << inc << ", minDispInc = " << minDispInc << endl;
@@ -58,7 +58,7 @@
     const int buflen = 40;
     char buffer[buflen];
 
-    float round = 1.f;
+    double round = 1.f;
     int dp = 0;
 
     if (minDispInc > 0) {
@@ -83,7 +83,7 @@
 	    if (layer->getScaleUnits() != "") drawText = false;
 	}
 
-        float dispval = LogRange::unmap(val);
+        double dispval = LogRange::unmap(val);
 	dispval = floor(dispval / round) * round;
 
 #ifdef DEBUG_TIME_VALUE_LAYER