JDK 8 code review request for initial unsigned integer arithmetic library support (original) (raw)
Ulf Zibis Ulf.Zibis at gmx.de
Thu Jan 19 03:52:21 UTC 2012
- Previous message: JDK 8 code review request for initial unsigned integer arithmetic library support
- Next message: JDK 8 code review request for initial unsigned integer arithmetic library support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am 18.01.2012 03:54, schrieb Joe Darcy:
I've posted a revised webrev at
Instead
'\u0030'
you can use
{@code '\u005Cu0030'}
Byte:
459 public static int toUnsignedInt(byte x) { 460 return ((int) x) & 0xff; 461 } This should be good enough (similar at Short, Integer): 459 public static int toUnsignedInt(byte x) { 460 return x & 0xff; 461 } (This notation if regularly used in sun.nio.cs coders.)
missing: public static short toUnsignedShort(byte x)
superfluous: public static long toUnsignedInt(byte x) public static long toUnsignedLong(byte x) (similar at Short) one can use: int i = toUnsignedShort(x) long l = toUnsignedShort(x) (similar at Short)
Integer:
623 *
598 * Parses the string argument as an unsigned integer in the radix 599 * specified by the second argument. IMHO, there should be a note about what happens on values above 2^31 - 1.
672 * Parses the string argument as an unsigned decimal integer. The 673 * characters in the string must all be decimal digits, except Better, like lines 598ff, or contrariwise (similar at Long): 672 * Parses the string argument as an unsigned decimal integer. 673 * 674 * The characters in the string must all be decimal digits, except
Long:
What about: private static final BigInteger BEYOND_UNSIGNED_LONG = BigInteger.valueOf(1).shiftLeft(64); private static BigInteger toUnsignedBigInteger(long i) { BigInteger result = BigInteger.valueOf(i); if (i < 0L) result = result.add(BEYOND_UNSIGNED_LONG); return result; }
Instead private static BigInteger toUnsignedBigInteger(long i) at class BigInteger we more generally could have: public static BigInteger unsignedValueOf(long i)
610 * Parses the string argument as an unsigned {@code long} in the 611 * radix specified by the second argument. IMHO, there should be a note about what happens on values above 2^63 - 1.
-Ulf
- Previous message: JDK 8 code review request for initial unsigned integer arithmetic library support
- Next message: JDK 8 code review request for initial unsigned integer arithmetic library support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]