IntModSqrt
IntModSqrt
Description
Compute a modular square root.
Parameters
| Name | Direction | Description |
|---|---|---|
result |
out | Destination for the root |
value |
in | Value whose square root is requested |
modulus |
in | Modulus |
Usage example (from documentation)
bool ok = IntModSqrt(&root, &value, &modulus);Returns
true when a modular square root exists.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Int.c:1641:
}
bool IntModSqrt(Int *result, Int *value, Int *modulus) {
ValidateInt(result);
ValidateInt(value);- In
Int.Math.c:722:
bool test_int_mod_sqrt(void) {
WriteFmt("Testing IntModSqrt\n");
Int value = IntFrom(10);- In
Int.Math.c:729:
Int check = IntInit();
bool result = IntModSqrt(&root, &value, &mod);
IntSquareMod(&check, &root, &mod);
result = result && (IntCompare(&check, 10) == 0);- In
Int.Math.c:741:
bool test_int_mod_sqrt_no_solution(void) {
WriteFmt("Testing IntModSqrt no-solution case\n");
Int value = IntFrom(3);- In
Int.Math.c:747:
Int root = IntFrom(99);
bool result = !IntModSqrt(&root, &value, &mod);
result = result && (IntCompare(&root, 99) == 0);
Last updated on