From 97e4e91fe9e1c1b473051fcf8919624b5fd66236 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (laptop)" <j.wuttke@fz-juelich.de>
Date: Tue, 17 Nov 2009 19:35:44 +0100
Subject: [PATCH] no longer require tack in log axis

---
 pub/src/plotaux.cpp | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pub/src/plotaux.cpp b/pub/src/plotaux.cpp
index 318d20d3..8e2e8b4a 100644
--- a/pub/src/plotaux.cpp
+++ b/pub/src/plotaux.cpp
@@ -70,7 +70,7 @@ void plotaux::calc_ticks(int logscale, double vmin, double vmax,
 
         static double eins = 1.0000009999999999;
         double rlgmin, rlgmax, rlgrel, d1, d2, r0; 
-        int    minexp, maxexp, incr, i1, i2;
+        int    minexp, maxexp, incr;
 
         if (vmin <= 0)
             throw string( "PROGRAM ERROR/ Ticks/ negative log argument" );
@@ -102,11 +102,9 @@ void plotaux::calc_ticks(int logscale, double vmin, double vmax,
         *tack = (double*) malloc(sizeof(double)*mt);
 
         *ntack = 0;
-        i1 = maxexp;
-        i2 = incr;
         d1 = vmin / eins;
         d2 = vmax * eins;
-        for ( i = minexp; i2 < 0 ? i >= i1 : i <= i1; i += i2 ) {
+        for ( i = minexp; incr < 0 ? i >= maxexp : i <= maxexp; i += incr ) {
             r0 = pow(10., i);
             if (d1<=r0 && r0<=d2) {
                 if(*ntack>=mt)
@@ -118,9 +116,11 @@ void plotaux::calc_ticks(int logscale, double vmin, double vmax,
         if (*ntack >= 1) {
             ticklim[0] = (*tack)[0]          / pow(10., incr);
             ticklim[1] = (*tack)[(*ntack)-1] * pow(10., incr);
-        } else
-            throw string( "plotaux::calc_ticks not implemented:"
-                          "tacks when no 10^n in range" );
+        } else {
+            // untested. just to allow plots when no tacks in window
+            ticklim[0] = pow( 10., minexp );
+            ticklim[1] = pow( 10., maxexp+1 );
+        }
 
         /** determine # ticks / tack **/
         if        (incr==1 && rlgrel<=7) {
-- 
GitLab