Hi Ivan, > On Aug 23, 2019, at 12:41 PM, Ivan Gerasimov <ivan.gerasi...@oracle.com> > wrote: > > One minor comment. Here: > 3990 if (digits > 0) { > 3991 padWithZeros(buf, digits); > 3992 } else { > 3993 buf.append('0'); > 3994 } > > I cannot really see how digits may be <= 0, so it seems to me it can be > safely replaced by just one line `padWithZeros(buf, digits);`.
Actually I don’t see how digits may be non-positive for signum == 0 either. I’ve reduced the above to one line (L3990) in [1]. That is the only change versus version .04. > Alternatively, the entire branch `if (signum == 0) {` can be removed from > smallToString (so that this method will only work with strictly positive > numbers), and done only for results[1] at line 4083 because it is the only > possible source of ZERO values in the process. > > It also seems that the arithmetic in the very internal loop at 4005-4017 can > be slightly optimized, but this probably can be left for another enhancement. I think I’ll leave it as is for now. Thanks! Brian [1] http://cr.openjdk.java.net/~bpb/8229845/webrev.05/