| /* |
| * test-info.c |
| * |
| * Arbitrary precision integer arithmetic library |
| * |
| * This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| /* Table mapping test suite names to index numbers */ |
| const int g_count = 41; |
| const char *g_names[] = { |
| "list", /* print out a list of the available test suites */ |
| "copy", /* test assignment of mp-int structures */ |
| "exchange", /* test exchange of mp-int structures */ |
| "zero", /* test zeroing of an mp-int */ |
| "set", /* test setting an mp-int to a small constant */ |
| "absolute-value", /* test the absolute value function */ |
| "negate", /* test the arithmetic negation function */ |
| "add-digit", /* test digit addition */ |
| "add", /* test full addition */ |
| "subtract-digit", /* test digit subtraction */ |
| "subtract", /* test full subtraction */ |
| "multiply-digit", /* test digit multiplication */ |
| "multiply", /* test full multiplication */ |
| "square", /* test full squaring function */ |
| "divide-digit", /* test digit division */ |
| "divide-2", /* test division by two */ |
| "divide-2d", /* test division & remainder by 2^d */ |
| "divide", /* test full division */ |
| "expt-digit", /* test digit exponentiation */ |
| "expt", /* test full exponentiation */ |
| "expt-2", /* test power-of-two exponentiation */ |
| "modulo-digit", /* test digit modular reduction */ |
| "modulo", /* test full modular reduction */ |
| "mod-add", /* test modular addition */ |
| "mod-subtract", /* test modular subtraction */ |
| "mod-multiply", /* test modular multiplication */ |
| "mod-square", /* test modular squaring function */ |
| "mod-expt", /* test full modular exponentiation */ |
| "mod-expt-digit", /* test digit modular exponentiation */ |
| "mod-inverse", /* test modular inverse function */ |
| "compare-digit", /* test digit comparison function */ |
| "compare-zero", /* test zero comparison function */ |
| "compare", /* test general signed comparison */ |
| "compare-magnitude", /* test general magnitude comparison */ |
| "parity", /* test parity comparison functions */ |
| "gcd", /* test greatest common divisor functions */ |
| "lcm", /* test least common multiple function */ |
| "conversion", /* test general radix conversion facilities */ |
| "binary", /* test raw output format */ |
| "pprime", /* test probabilistic primality tester */ |
| "fermat" /* test Fermat pseudoprimality tester */ |
| }; |
| |
| /* Test function prototypes */ |
| int test_list(void); |
| int test_copy(void); |
| int test_exch(void); |
| int test_zero(void); |
| int test_set(void); |
| int test_abs(void); |
| int test_neg(void); |
| int test_add_d(void); |
| int test_add(void); |
| int test_sub_d(void); |
| int test_sub(void); |
| int test_mul_d(void); |
| int test_mul(void); |
| int test_sqr(void); |
| int test_div_d(void); |
| int test_div_2(void); |
| int test_div_2d(void); |
| int test_div(void); |
| int test_expt_d(void); |
| int test_expt(void); |
| int test_2expt(void); |
| int test_mod_d(void); |
| int test_mod(void); |
| int test_addmod(void); |
| int test_submod(void); |
| int test_mulmod(void); |
| int test_sqrmod(void); |
| int test_exptmod(void); |
| int test_exptmod_d(void); |
| int test_invmod(void); |
| int test_cmp_d(void); |
| int test_cmp_z(void); |
| int test_cmp(void); |
| int test_cmp_mag(void); |
| int test_parity(void); |
| int test_gcd(void); |
| int test_lcm(void); |
| int test_convert(void); |
| int test_raw(void); |
| int test_pprime(void); |
| int test_fermat(void); |
| |
| /* Table mapping index numbers to functions */ |
| int (*g_tests[])(void) = { |
| test_list, test_copy, test_exch, test_zero, |
| test_set, test_abs, test_neg, test_add_d, |
| test_add, test_sub_d, test_sub, test_mul_d, |
| test_mul, test_sqr, test_div_d, test_div_2, |
| test_div_2d, test_div, test_expt_d, test_expt, |
| test_2expt, test_mod_d, test_mod, |
| test_addmod, test_submod, test_mulmod, test_sqrmod, |
| test_exptmod, test_exptmod_d, test_invmod, test_cmp_d, |
| test_cmp_z, test_cmp, test_cmp_mag, test_parity, |
| test_gcd, test_lcm, test_convert, test_raw, |
| test_pprime, test_fermat |
| }; |
| |
| /* Table mapping index numbers to descriptions */ |
| const char *g_descs[] = { |
| "print out a list of the available test suites", |
| "test assignment of mp-int structures", |
| "test exchange of mp-int structures", |
| "test zeroing of an mp-int", |
| "test setting an mp-int to a small constant", |
| "test the absolute value function", |
| "test the arithmetic negation function", |
| "test digit addition", |
| "test full addition", |
| "test digit subtraction", |
| "test full subtraction", |
| "test digit multiplication", |
| "test full multiplication", |
| "test full squaring function", |
| "test digit division", |
| "test division by two", |
| "test division & remainder by 2^d", |
| "test full division", |
| "test digit exponentiation", |
| "test full exponentiation", |
| "test power-of-two exponentiation", |
| "test digit modular reduction", |
| "test full modular reduction", |
| "test modular addition", |
| "test modular subtraction", |
| "test modular multiplication", |
| "test modular squaring function", |
| "test full modular exponentiation", |
| "test digit modular exponentiation", |
| "test modular inverse function", |
| "test digit comparison function", |
| "test zero comparison function", |
| "test general signed comparison", |
| "test general magnitude comparison", |
| "test parity comparison functions", |
| "test greatest common divisor functions", |
| "test least common multiple function", |
| "test general radix conversion facilities", |
| "test raw output format", |
| "test probabilistic primality tester", |
| "test Fermat pseudoprimality tester" |
| }; |