diff --git a/TODO b/TODO index 0f9d2f7879eb5474267db91c7e58daac8e9e3658..c182f37446056e3b2c68c566bfb72dec1515da64 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,6 @@ SHOWSTOPPER TOFTOF -Fehlerbalken BUGS -- S(2th,w) statt S(q,w) WISHLIST TOFTOF - Symbolerklärungen zu Plot @@ -15,7 +14,6 @@ WISHLIST TOFTOF WISHLIST JWu - distribute wupscat, wupsbb -- frida.ini location via -D ? - restore ask callback help for lists (prompt for list, not for string) - restore help on "?" - wenn oio mehrere einzelne Spektren liefert, automatisch in einen File packen @@ -29,6 +27,11 @@ CHECK - gd: commandos -> gnuplot (für Fanni) - mfj remove redundant doc lines - dp output for #spec>1 is obfuscated +- customization + - frida.ini location via -D + - private ini file + - additional settings: graph mode + SEBASTIAN = erledigt = @@ -38,6 +41,7 @@ SEBASTIAN - in calc mode: ni[0.1] should not exit calc mode - after "g\n": gxl is mixed up with gxf+/gxf- - when oio is called with parameter, do not print list + - deal better with inf scale = vorrangig = @@ -64,7 +68,6 @@ SEBASTIAN - allow "for loops" in fit functions - cut file with many z values - allow a w-dependent expression for the resolution - - deal better with inf scale - make comments in ps file complete (was somehow not complete in the apparent elastic intensity case) - extract these commands from a ps file and "\i" it (to change limits, for example) - command to show only fit function (and then possibly "> file.txt") diff --git a/pub/CHANGELOG b/pub/CHANGELOG index 403997a5bcede1aa98be3e095dcb2c92b0842690..cfcd6e8bf4b7a915e76997870e413056fbf154a9 100644 --- a/pub/CHANGELOG +++ b/pub/CHANGELOG @@ -1,3 +1,10 @@ +- major code refactoring: + - online memory and z-entry main vector now based on shared_ptr + - sources split (olf/mem, opr/special1, dualplot/axis) + - scan and parts of curve now unified in zentry + - reduce .h dependencies (keyword "class"; move implementation to .cpp) +- suppress menu when answer is already given (oio, ..) +- bugfix in plot axis rounding - bugfix mfj: z coordinates, rPar - add \wh meta command: write history, using GNU history - purge and simplify macro engine; separate meta commands and macros diff --git a/pub/src/axis.cpp b/pub/src/axis.cpp index 69af2d2001dd5a8e2cacd29bf94338f0d9a90a57..ccb9607bdeb2c3f1305c357294a8c60c99988620 100644 --- a/pub/src/axis.cpp +++ b/pub/src/axis.cpp @@ -89,13 +89,13 @@ void CAxis::setRoundedLimits( string axnam, double _inf, double _sup ) static double digits = 2; if ( _inf==-INFINITY || _sup==+INFINITY ) - throw "unexpected inf limits when rounding " + axnam + " plot range"; - if( _inf>=_sup ) - throw "Cannot round " + axnam + " plot range " + - strg(_inf) + " .. " + strg(_sup); + throw "BUG: rounding " + axnam + " limits: unexpected inf limits"; + if( _inf>_sup ) + throw "BUG: rounding " + axnam + " limits: invalid plot range " + + strg(_inf) + " > " + strg(_sup); if( logflag && _inf<=0 ) - throw "Cannot round log " + axnam + " plot range " + - strg(_inf) + " .. " + strg(_sup); + throw "BUG: rounding " + axnam + " limits: nonpositive log inf " + + strg(_inf); inf = _inf; sup = _sup; @@ -104,9 +104,15 @@ void CAxis::setRoundedLimits( string axnam, double _inf, double _sup ) if( logflag ){ inf /= 10; sup *= 10; + } else if ( inf>0 ) { + inf *= 0.9; + sup *= 1.1; + } else if ( sup<0 ) { + inf *= 1.1; + sup *= 0.9; } else { - inf -= 1; - sup += 1; + inf = -1; + sup = +1; } return; }