Hi Claes!
Wouldn't it be better to use do-while here:
339 while (charPos > offset) {
340 buf[--charPos] = Integer.digits[val & mask];
341 val >>>= shift;
342 }
given the precondition
// assert len > 0 && (offset + len) <= buf.length : "illegal length";
(charPos > offset) condition should always hold for the first time.
This would save one comparison.
Sincerely yours,
Ivan
On 19.07.2014 1:14, Claes Redestad wrote:
Hi,
Mike Duigou suggested some simplifications to the formatUnsigned
methods. Shows a slight speed-upon some micros as well:
http://cr.openjdk.java.net/~redestad/8050114/webrev.2/
/Claes
On 2014-07-13 00:26, Claes Redestad wrote:
Hi,
please review this patch to expose formatUnsignedInt/-Long through
JavaLangAccess.
webrev: http://cr.openjdk.java.net/~redestad/8050114/webrev.1/
bug: https://bugs.openjdk.java.net/browse/JDK-8050114
The behavior of the methods have been adjusted to be zero-padding in
case the number formatted is shorter than the specified length, since
that simplifies use cases for which this utility is exposed
internally, e.g., JDK-8006627
<https://bugs.openjdk.java.net/browse/JDK-8006627>. Microbenchmarks
show that this does not adversely affect performance of current uses
through toHexString, toOctalString etc.
Thanks!
/Claes