On Sun, 24 Dec 2023 at 16:58, <aherb...@apache.org> wrote: > > This is an automated email from the ASF dual-hosted git repository. > > aherbert pushed a commit to branch master > in repository https://gitbox.apache.org/repos/asf/commons-numbers.git > > > The following commit(s) were added to refs/heads/master by this push: > new a15b3e68 Simplify conversion of numbers to unsigned > a15b3e68 is described below > > commit a15b3e68136dd94ea20e4085afc45aa73d46362e > Author: Alex Herbert <aherb...@apache.org> > AuthorDate: Sun Dec 24 16:57:58 2023 +0000 > > Simplify conversion of numbers to unsigned > --- > .../java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java | 8 > ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git > a/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java > > b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java > index 4063f440..0b4aa797 100644 > --- > a/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java > +++ > b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/ArithmeticUtilsTest.java > @@ -28,6 +28,8 @@ import org.junit.jupiter.api.Test; > * > */ > class ArithmeticUtilsTest { > + /** 2^63. */ > + private static final BigInteger TWO_POW_63 = > BigInteger.ONE.shiftLeft(63); > > @Test > void testGcd() { > @@ -538,7 +540,7 @@ class ArithmeticUtilsTest { > } > > private static long toUnsignedLong(int number) { > - return number < 0 ? 0x100000000L + (long)number : (long)number; > + return Integer.toUnsignedLong(number); > }
The private method could now be dropped. > private static int remainderUnsignedExpected(int dividend, int divisor) { > @@ -550,7 +552,9 @@ class ArithmeticUtilsTest { > } > > private static BigInteger toUnsignedBigInteger(long number) { > - return number < 0L ? > BigInteger.ONE.shiftLeft(64).add(BigInteger.valueOf(number)) : > BigInteger.valueOf(number); > + return number < 0 ? > + TWO_POW_63.or(BigInteger.valueOf(number & Long.MAX_VALUE)) : > + BigInteger.valueOf(number); > } > > private static long remainderUnsignedExpected(long dividend, long > divisor) { > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org