MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / getDigits2

Method getDigits2

ij/src/main/java/ij/gui/Plot.java:3213–3229  ·  view source on GitHub ↗
(double n, double resolution, int maxDigits, int suggestedDigits)

Source from the content-addressed store, hash-verified

3211 }
3212
3213 static int getDigits2(double n, double resolution, int maxDigits, int suggestedDigits) {
3214 if (Double.isNaN(n) || Double.isInfinite(n))
3215 return 0; //no scientific notation
3216 int log10ofN = (int)Math.floor(Math.log10(Math.abs(n))+1e-7);
3217 int digits = resolution != 0 ?
3218 -(int)Math.floor(Math.log10(Math.abs(resolution))+1e-7) :
3219 Math.max(0, -log10ofN+maxDigits-2);
3220 int sciDigits = -Math.max((log10ofN+digits),1);
3221 //IJ.log("n="+(float)n+"digitsRaw="+digits+" log10ofN="+log10ofN+" sciDigits="+sciDigits);
3222 if ((digits < -2 && log10ofN >= maxDigits) || suggestedDigits < 0)
3223 digits = sciDigits; //scientific notation for large numbers or if desired via suggestedDigits (plot.setOptions)
3224 else if (digits < 0)
3225 digits = 0;
3226 else if (digits > maxDigits-1 && log10ofN < -2)
3227 digits = sciDigits; // scientific notation for small numbers
3228 return digits < 0 ? Math.min(sciDigits, suggestedDigits) : Math.max(digits, suggestedDigits);
3229 }
3230
3231 static boolean isInteger(double n) {
3232 return n==Math.round(n);

Callers 1

getDigitsMethod · 0.95

Calls 3

absMethod · 0.45
maxMethod · 0.45
minMethod · 0.45

Tested by

no test coverage detected