JDK 8 code review request for initial unsigned integer arithmetic library support

Mike Duigou mike.duigou at oracle.com
Sat Jan 14 05:51:32 UTC 2012


Really cool stuff Joe. 

One initial note:

parseUnsigned*() returns a signed value that may not be able to hold the entire result. I would rather see a larger size be returned to be sure that subsequent operations don't have to be special cased for > MAX_VALUE. At minimum some documentation describing the interpretation of negative return values is needed.

Mike

On Jan 13 2012, at 21:26 , Joe Darcy wrote:

> Hello,
> 
> Polishing up some work I've had *almost* done for a long time, please review an initial take on providing library support for unsigned integer arithmetic:
> 
>    4504839 Java libraries should provide support for unsigned integer arithmetic
>    4215269 Some Integer.toHexString(int) results cannot be decoded back to an int
>    6322074 Converting integers to string as if unsigned
> 
>    http://cr.openjdk.java.net/~darcy/4504839.1/
> 
> For the first cut, I've favored keeping the code straightforward over trickier but potentially faster algorithms.  Tests need to be written for the unsigned divide and remainder methods, but otherwise the regression tests are fairly extensive.
> 
> To avoid the overhead of having to deal with boxed objects, the unsigned functionality is implemented as static methods on Integer and Long, etc. as opposed to introducing new types like UnsignedInteger and UnsignedLong.
> 
> (This work is not meant to preclude other integer arithmetic enhancements from going into JDK 8, such as add/subtract/multiply/divide methods that throw exceptions on overflow.)
> 
> Thanks,
> 
> -Joe
> 
> 




More information about the core-libs-dev mailing list