@Test void shouldThrowForMultiplyModOfModZero() { Throwable exception = assertThrows(ArithmeticException.class, () -> v(0).multiplyMod(v(1), UInt384.ZERO)); assertEquals("multiplyMod with zero modulus", exception.getMessage()); }
@Override public T multiplyMod(T value, UInt384 modulus) { return multiplyMod(value.toUInt384(), modulus); }
BaseUInt384Value implements UInt384Value<T> { @Override public T multiplyMod(T value, UInt384 modulus) { return multiplyMod(value.toUInt384(), modulus); } }
BaseUInt384Value implements UInt384Value<T> { @Override public T multiplyMod(T value, UInt384 modulus) { return multiplyMod(value.toUInt384(), modulus); } protected  BaseUInt384Value(UInt384 value, Function<UInt384, T> ctor); protected  BaseUInt384Value(long value, Function<UInt384, T> ctor); protected  BaseUInt384Value(BigInteger value, Function<UInt384, T> ctor); }
BaseUInt384Value implements UInt384Value<T> { @Override public T multiplyMod(T value, UInt384 modulus) { return multiplyMod(value.toUInt384(), modulus); } protected  BaseUInt384Value(UInt384 value, Function<UInt384, T> ctor); protected  BaseUInt384Value(long value, Function<UInt384, T> ctor); protected  BaseUInt384Value(BigInteger value, Function<UInt384, T> ctor); @Override T add(T value); T add(UInt384 value); @Override T add(long value); @Override T addMod(T value, UInt384 modulus); T addMod(UInt384 value, UInt384 modulus); @Override T addMod(long value, UInt384 modulus); @Override T addMod(long value, long modulus); @Override T subtract(T value); T subtract(UInt384 value); @Override T subtract(long value); @Override T multiply(T value); T multiply(UInt384 value); @Override T multiply(long value); @Override T multiplyMod(T value, UInt384 modulus); T multiplyMod(UInt384 value, UInt384 modulus); @Override T multiplyMod(long value, UInt384 modulus); @Override T multiplyMod(long value, long modulus); @Override T divide(T value); T divide(UInt384 value); @Override T divide(long value); @Override T pow(UInt384 exponent); @Override T pow(long exponent); @Override T mod(UInt384 modulus); @Override T mod(long modulus); @Override int compareTo(T other); int compareTo(UInt384 other); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); @Override UInt384 toUInt384(); @Override Bytes48 toBytes(); @Override Bytes toMinimalBytes(); }
BaseUInt384Value implements UInt384Value<T> { @Override public T multiplyMod(T value, UInt384 modulus) { return multiplyMod(value.toUInt384(), modulus); } protected  BaseUInt384Value(UInt384 value, Function<UInt384, T> ctor); protected  BaseUInt384Value(long value, Function<UInt384, T> ctor); protected  BaseUInt384Value(BigInteger value, Function<UInt384, T> ctor); @Override T add(T value); T add(UInt384 value); @Override T add(long value); @Override T addMod(T value, UInt384 modulus); T addMod(UInt384 value, UInt384 modulus); @Override T addMod(long value, UInt384 modulus); @Override T addMod(long value, long modulus); @Override T subtract(T value); T subtract(UInt384 value); @Override T subtract(long value); @Override T multiply(T value); T multiply(UInt384 value); @Override T multiply(long value); @Override T multiplyMod(T value, UInt384 modulus); T multiplyMod(UInt384 value, UInt384 modulus); @Override T multiplyMod(long value, UInt384 modulus); @Override T multiplyMod(long value, long modulus); @Override T divide(T value); T divide(UInt384 value); @Override T divide(long value); @Override T pow(UInt384 exponent); @Override T pow(long exponent); @Override T mod(UInt384 modulus); @Override T mod(long modulus); @Override int compareTo(T other); int compareTo(UInt384 other); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); @Override UInt384 toUInt384(); @Override Bytes48 toBytes(); @Override Bytes toMinimalBytes();  }