question: protected double computeLogCeil ( double upper ) { double logCeil ; if ( this . allowNegativesFlag ) { if ( upper > 10.0 ) { logCeil = Math . log ( upper ) / LOG10_VALUE ; logCeil = Math . ceil ( logCeil ) ; logCeil = Math . pow ( 10 , logCeil ) ; } else if ( upper < - 10.0 ) { logCeil = Math . log ( - upper ) / LOG10_VALUE ; logCeil = Math . ceil ( - logCeil ) ; logCeil = - Math . pow ( 10 , - logCeil ) ; } else { logCeil = Math . ceil ( upper ) ; } } else { if ( upper > 0.0 ) { logCeil = Math . log ( upper ) / LOG10_VALUE ; logCeil = Math . ceil ( logCeil ) ; logCeil = Math . pow ( 10 , logCeil ) ; } else { logCeil = Math . ceil ( upper ) ; } } return logCeil ; }
target:  Returns the smallest (closest to negative infinity) double value that is not less than the argument, is equal to a mathematical integer and satisfying the condition that log base 10 of the value is an integer (i.e., the value returned will be a power of 10: 1, 10, 100, 1000, etc.).