IntModInv
IntModInv
Description
Compute the multiplicative inverse of a value modulo modulus.
Parameters
| Name | Direction | Description |
|---|---|---|
result |
out | Destination for the inverse |
value |
in | Value to invert |
modulus |
in | Modulus |
Usage example (from documentation)
bool ok = IntModInv(&inverse, &value, &modulus);Returns
true when the inverse exists.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Int.c:1465:
bool ok = false;
ok = IntModInv(&inverse, b, modulus);
if (!ok) {
IntDeinit(&inverse);- In
Int.c:1570:
}
bool IntModInv(Int *result, Int *value, Int *modulus) {
ValidateInt(result);
ValidateInt(value);- In
Int.Math.c:701:
bool test_int_mod_inv(void) {
WriteFmt("Testing IntModInv\n");
Int value = IntFrom(3);- In
Int.Math.c:708:
Int check = IntInit();
bool result = IntModInv(&result_value, &value, &mod);
result = result && (IntToU64(&result_value) == 4);- In
Int.Math.c:789:
bool test_int_mod_inv_no_solution(void) {
WriteFmt("Testing IntModInv no-solution case\n");
Int value = IntFrom(6);- In
Int.Math.c:795:
Int result_value = IntFrom(99);
bool result = !IntModInv(&result_value, &value, &mod);
result = result && (IntToU64(&result_value) == 99);
Last updated on