summaryrefslogtreecommitdiffstats
path: root/moon-abe/pbc-0.5.14/guru/quadratic_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'moon-abe/pbc-0.5.14/guru/quadratic_test.c')
-rw-r--r--moon-abe/pbc-0.5.14/guru/quadratic_test.c62
1 files changed, 0 insertions, 62 deletions
diff --git a/moon-abe/pbc-0.5.14/guru/quadratic_test.c b/moon-abe/pbc-0.5.14/guru/quadratic_test.c
deleted file mode 100644
index 3f78e95a..00000000
--- a/moon-abe/pbc-0.5.14/guru/quadratic_test.c
+++ /dev/null
@@ -1,62 +0,0 @@
-// Test quadratic field extensions.
-
-#include "pbc.h"
-#include "pbc_fp.h"
-#include "pbc_fieldquadratic.h"
-#include "pbc_test.h"
-
-int main(void) {
- field_t fp, fp2;
- mpz_t prime;
- element_t a, b, c;
-
- mpz_init(prime);
- // Prime is 3 mod 4 so that -1 is a quadratic nonresidue.
- // For smaller tests, try the prime 83.
- mpz_setbit(prime, 256);
- do {
- mpz_nextprime(prime, prime);
- } while (mpz_fdiv_ui(prime, 4) != 3);
-
- field_init_fp(fp, prime);
- field_init_fi(fp2, fp);
- element_init(a, fp2);
- element_init(b, fp2);
- element_init(c, fp2);
-
- element_printf("field: %Z^2\n", prime);
-
- element_random(a);
- element_random(b);
- element_printf("a = %B, b = %B\n", a, b);
-
- element_add(c, a, b);
- element_printf("a + b = %B\n", c);
-
- element_mul(c, a, b);
- element_printf("a * b = %B\n", c);
-
- for (;;) {
- element_random(a);
- element_printf("new a = %B\n", a);
-
- if (element_is_sqr(a)) break;
- printf(" is not a square\n");
- }
- element_sqrt(c, a);
- element_printf("sqrt(a) = %B\n", c);
- element_mul(c, c, c);
- element_printf("sqrt(a) * sqrt(a) = %B\n", c);
- element_invert(c, a);
- element_printf("1/a = %B\n", c);
- element_mul(c, c, a);
- element_printf("1/a * a = %B\n", c);
-
- element_clear(a);
- element_clear(b);
- element_clear(c);
- field_clear(fp);
- field_clear(fp2);
- mpz_clear(prime);
- return 0;
-}