Refine search
public void testToStringRadixQuick() { int[] radices = {2, 3, 5, 7, 10, 12, 16, 21, 31, 36}; for (int radix : radices) { for (int l : TEST_INTS) { UnsignedInteger value = UnsignedInteger.fromIntBits(l); assertEquals(value.bigIntegerValue().toString(radix), value.toString(radix)); } } }
/** * Returns an {@code UnsignedInteger} holding the value of the specified {@code String}, parsed as * an unsigned {@code int} value. * * @throws NumberFormatException if the string does not contain a parsable unsigned {@code int} * value */ public static UnsignedInteger valueOf(String string) { return valueOf(string, 10); }
public void testCompare() { for (int a : TEST_INTS) { for (int b : TEST_INTS) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b); assertEquals( aUnsigned.bigIntegerValue().compareTo(bUnsigned.bigIntegerValue()), aUnsigned.compareTo(bUnsigned)); } } }
public void testPlus() { for (int a : TEST_INTS) { for (int b : TEST_INTS) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b); int expected = aUnsigned.bigIntegerValue().add(bUnsigned.bigIntegerValue()).intValue(); UnsignedInteger unsignedSum = aUnsigned.plus(bUnsigned); assertEquals(expected, unsignedSum.intValue()); } } }
public void testDividedBy() { for (int a : TEST_INTS) { for (int b : TEST_INTS) { if (b != 0) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b); int expected = aUnsigned.bigIntegerValue().divide(bUnsigned.bigIntegerValue()).intValue(); UnsignedInteger unsignedDiv = aUnsigned.dividedBy(bUnsigned); assertEquals(expected, unsignedDiv.intValue()); } } } }
/** * Returns a {@code UnsignedInteger} representing the same value as the specified {@link * BigInteger}. This is the inverse operation of {@link #bigIntegerValue()}. * * @throws IllegalArgumentException if {@code value} is negative or {@code value >= 2^32} */ public static UnsignedInteger valueOf(BigInteger value) { checkNotNull(value); checkArgument( value.signum() >= 0 && value.bitLength() <= Integer.SIZE, "value (%s) is outside the range for an unsigned integer value", value); return fromIntBits(value.intValue()); }
public void testMinus() { for (int a : TEST_INTS) { for (int b : TEST_INTS) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b); int expected = force32(aUnsigned.bigIntegerValue().subtract(bUnsigned.bigIntegerValue()).intValue()); UnsignedInteger unsignedSub = aUnsigned.minus(bUnsigned); assertEquals(expected, unsignedSub.intValue()); } } }
public void testValueOfBigInteger() { long min = 0; long max = (1L << 32) - 1; for (long value : TEST_LONGS) { boolean expectSuccess = value >= min && value <= max; try { assertEquals(value, UnsignedInteger.valueOf(BigInteger.valueOf(value)).longValue()); assertTrue(expectSuccess); } catch (IllegalArgumentException e) { assertFalse(expectSuccess); } } }
@GwtIncompatible // multiply public void testTimes() { for (int a : TEST_INTS) { for (int b : TEST_INTS) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b); int expected = force32(aUnsigned.bigIntegerValue().multiply(bUnsigned.bigIntegerValue()).intValue()); UnsignedInteger unsignedMul = aUnsigned.times(bUnsigned); assertEquals(aUnsigned + " * " + bUnsigned, expected, unsignedMul.intValue()); } } }
public void testMod() { for (int a : TEST_INTS) { for (int b : TEST_INTS) { if (b != 0) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b); int expected = aUnsigned.bigIntegerValue().mod(bUnsigned.bigIntegerValue()).intValue(); UnsignedInteger unsignedRem = aUnsigned.mod(bUnsigned); assertEquals(expected, unsignedRem.intValue()); } } } }
public void testIntValue() { for (int a : TEST_INTS) { UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a); int intValue = aUnsigned.bigIntegerValue().intValue(); assertEquals(intValue, aUnsigned.intValue()); } }
public void testDoubleValue() { for (int value : TEST_INTS) { UnsignedInteger unsignedValue = UnsignedInteger.fromIntBits(value); assertEquals(unsignedValue.bigIntegerValue().doubleValue(), unsignedValue.doubleValue()); } }
public void testFloatValue() { for (int value : TEST_INTS) { UnsignedInteger unsignedValue = UnsignedInteger.fromIntBits(value); assertEquals(unsignedValue.bigIntegerValue().floatValue(), unsignedValue.floatValue()); } }
/** * Returns this mod {@code val}. * * @throws ArithmeticException if {@code val} is zero * @since 14.0 */ public UnsignedInteger mod(UnsignedInteger val) { return fromIntBits(UnsignedInts.remainder(value, checkNotNull(val).value)); }
public void testFromIntBitsLongValue() { for (int value : TEST_INTS) { long expected = value & 0xffffffffL; assertEquals( UnsignedInts.toString(value), expected, UnsignedInteger.fromIntBits(value).longValue()); } }
/** * Returns an {@code UnsignedInteger} holding the value of the specified {@code String}, parsed as * an unsigned {@code int} value in the specified radix. * * @throws NumberFormatException if the string does not contain a parsable unsigned {@code int} * value */ public static UnsignedInteger valueOf(String string, int radix) { return fromIntBits(UnsignedInts.parseUnsignedInt(string, radix)); }
public void testFromIntBitsAndIntValueAreInverses() { for (int value : TEST_INTS) { assertEquals( UnsignedInts.toString(value), value, UnsignedInteger.fromIntBits(value).intValue()); } }
/** * Returns the value of this {@code UnsignedInteger} as a {@code float}, analogous to a widening * primitive conversion from {@code int} to {@code float}, and correctly rounded. */ @Override public float floatValue() { return longValue(); }
/** * Returns the result of dividing this by {@code val}. * * @throws ArithmeticException if {@code val} is zero * @since 14.0 */ public UnsignedInteger dividedBy(UnsignedInteger val) { return fromIntBits(UnsignedInts.divide(value, checkNotNull(val).value)); }