IntModDiv
IntModDiv
Description
Compute modular division a / b (mod modulus).
Parameters
| Name | Direction | Description |
|---|---|---|
result |
out | Destination for the reduced quotient |
a |
in | Numerator |
b |
in | Denominator |
modulus |
in | Modulus |
Usage example (from documentation)
bool ok = IntModDiv(&result, &a, &b, &modulus);Returns
true when a modular inverse for b exists.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Int.c:1451:
}
bool IntModDiv(Int *result, Int *a, Int *b, Int *modulus) {
ValidateInt(result);
ValidateInt(a);- In
Int.Math.c:642:
bool test_int_mod_div(void) {
WriteFmt("Testing IntModDiv\n");
Int a = IntFrom(10);- In
Int.Math.c:650:
Int check = IntInit();
bool result = IntModDiv(&result_value, &a, &b, &m);
result = result && (IntToU64(&result_value) == 12);- In
Int.Math.c:805:
bool test_int_mod_div_no_solution(void) {
WriteFmt("Testing IntModDiv no-solution case\n");
Int a = IntFrom(1);- In
Int.Math.c:812:
Int result_value = IntFrom(99);
bool result = !IntModDiv(&result_value, &a, &b, &m);
result = result && (IntCompare(&result_value, 99) == 0);- In
Int.Math.c:883:
bool test_int_mod_div_zero_modulus(void) {
WriteFmt("Testing IntModDiv zero modulus handling\n");
Int a = IntFrom(10);- In
Int.Math.c:890:
Int result_value = IntInit();
(void)IntModDiv(&result_value, &a, &b, &m);
return false;
}
Last updated on