fpc/packages/gmp/examples/gmp_test_intf.inc
marco da9458587d * GMP initial version.
git-svn-id: trunk@13667 -
2009-09-07 13:50:31 +00:00

675 lines
19 KiB
PHP

{ Note: This doesn't test GMP per se.
Not covered:
mp_printf
mp_scanf
mpz_array_init
errno
}
{$assertions on - keep this}
type
{ TTestGmpBinding }
TTestGmpBinding = class(TTestCase)
published
procedure mp_get_memory_functions_test;
procedure mp_set_memory_functions_test;
procedure mp_randinit_default_test;
procedure mp_randinit_mt_test;
procedure mp_randinit_lc_2exp_test;
procedure mp_randinit_lc_2exp_size_test;
procedure mp_randinit_set_test;
procedure mp_randclear_test;
procedure mp_randseed_test;
procedure mp_randseed_ui_test;
procedure mp_urandomb_ui_test;
procedure mp_urandomm_ui_test;
procedure mp_asprintf_test;
procedure mp_asprintf_test2;
procedure mp_snprintf_test;
procedure mp_snprintf_test2;
procedure mp_sprintf_test;
procedure mp_sprintf_test2;
procedure mp_sscanf_test;
procedure mp_sscanf_test2;
procedure mpz_init_test;
procedure mpz_clear_test;
procedure mpz_init2_test;
procedure mpz_init_set_si_test;
procedure mpz_init_set_ui_test;
procedure mpz_init_set_d_test;
procedure mpz_init_set_test;
procedure mpz_init_set_str_test;
procedure mpz_realloc_test;
procedure mpz_realloc2_test;
procedure mpz_getlimbn_test;
procedure mpz_export_test;
procedure mpz_import_test;
procedure mpz_swap_test;
procedure mpz_set_test;
procedure mpz_set_d_test;
procedure mpz_set_f_test;
procedure mpz_set_q_test;
procedure mpz_set_si_test;
procedure mpz_set_str_test;
procedure mpz_set_ui_test;
procedure mpz_get_d_test;
procedure mpz_get_d_2exp_test;
procedure mpz_get_si_test;
procedure mpz_get_str_test;
procedure mpz_get_ui_test;
procedure mpz_add_test;
procedure mpz_add_ui_test;
procedure mpz_sub_test;
procedure mpz_sub_ui_test;
procedure mpz_ui_sub_test;
procedure mpz_mul_test;
procedure mpz_mul_si_test;
procedure mpz_mul_ui_test;
procedure mpz_addmul_test;
procedure mpz_addmul_ui_test;
procedure mpz_submul_test;
procedure mpz_submul_ui_test;
procedure mpz_mul_2exp_test;
procedure mpz_neg_test;
procedure mpz_abs_test;
procedure mpz_cdiv_q_test;
procedure mpz_fdiv_q_test;
procedure mpz_tdiv_q_test;
procedure mpz_cdiv_q_2exp_test;
procedure mpz_fdiv_q_2exp_test;
procedure mpz_tdiv_q_2exp_test;
procedure mpz_cdiv_q_ui_test;
procedure mpz_fdiv_q_ui_test;
procedure mpz_tdiv_q_ui_test;
procedure mpz_cdiv_qr_test;
procedure mpz_fdiv_qr_test;
procedure mpz_tdiv_qr_test;
procedure mpz_cdiv_qr_ui_test;
procedure mpz_fdiv_qr_ui_test;
procedure mpz_tdiv_qr_ui_test;
procedure mpz_cdiv_r_test;
procedure mpz_fdiv_r_test;
procedure mpz_tdiv_r_test;
procedure mpz_cdiv_r_2exp_test;
procedure mpz_fdiv_r_2exp_test;
procedure mpz_tdiv_r_2exp_test;
procedure mpz_cdiv_r_ui_test;
procedure mpz_fdiv_r_ui_test;
procedure mpz_tdiv_r_ui_test;
procedure mpz_cdiv_ui_test;
procedure mpz_fdiv_ui_test;
procedure mpz_tdiv_ui_test;
procedure mpz_mod_test;
procedure mpz_divexact_test;
procedure mpz_divexact_ui_test;
procedure mpz_divisible_p_test;
procedure mpz_divisible_ui_p_test;
procedure mpz_divisible_2exp_p_test;
procedure mpz_congruent_p_test;
procedure mpz_congruent_2exp_p_test;
procedure mpz_congruent_ui_p_test;
procedure mpz_powm_test;
procedure mpz_powm_ui_test;
procedure mpz_pow_ui_test;
procedure mpz_ui_pow_ui_test;
procedure mpz_root_test;
procedure mpz_rootrem_test;
procedure mpz_sqrt_test;
procedure mpz_sqrtrem_test;
procedure mpz_perfect_power_p_test;
procedure mpz_perfect_square_p_test;
procedure mpz_probab_prime_p_test;
procedure mpz_nextprime_test;
procedure mpz_gcd_test;
procedure mpz_gcd_ui_test;
procedure mpz_gcdext_test;
procedure mpz_lcm_test;
procedure mpz_lcm_ui_test;
procedure mpz_invert_test;
procedure mpz_jacobi_test;
procedure mpz_kronecker_si_test;
procedure mpz_kronecker_ui_test;
procedure mpz_si_kronecker_test;
procedure mpz_ui_kronecker_test;
procedure mpz_remove_test;
procedure mpz_fac_ui_test;
procedure mpz_bin_ui_test;
procedure mpz_bin_uiui_test;
procedure mpz_fib_ui_test;
procedure mpz_fib2_ui_test;
procedure mpz_lucnum_ui_test;
procedure mpz_lucnum2_ui_test;
procedure mpz_cmp_test;
procedure mpz_cmp_d_test;
procedure mpz_cmp_si_test;
procedure mpz_cmp_ui_test;
procedure mpz_cmpabs_test;
procedure mpz_cmpabs_d_test;
procedure mpz_cmpabs_ui_test;
procedure mpz_and_test;
procedure mpz_ior_test;
procedure mpz_xor_test;
procedure mpz_com_test;
procedure mpz_popcount_test;
procedure mpz_hamdist_test;
procedure mpz_scan0_test;
procedure mpz_scan1_test;
procedure mpz_setbit_test;
procedure mpz_clrbit_test;
procedure mpz_combit_test;
procedure mpz_tstbit_test;
procedure mpz_urandomb_test;
procedure mpz_urandomm_test;
procedure mpz_rrandomb_test;
procedure mpz_fits_ushort_p_test;
procedure mpz_fits_sshort_p_test;
procedure mpz_fits_uint_p_test;
procedure mpz_fits_sint_p_test;
procedure mpz_fits_ulong_p_test;
procedure mpz_fits_slong_p_test;
procedure mpz_sizeinbase_test;
procedure mpz_size_test;
procedure mpq_init_test;
procedure mpq_clear_test;
procedure mpq_set_ui_test;
procedure mpq_set_si_test;
procedure mpq_canonicalize_test;
procedure mpq_set_test;
procedure mpq_setmpz_test;
procedure mpq_set_str_test;
procedure mpq_swap_test;
procedure mpq_get_d_test;
procedure mpq_set_d_test;
procedure mpq_set_f_test;
procedure mpq_get_str_test;
procedure mpq_add_test;
procedure mpq_sub_test;
procedure mpq_mul_test;
procedure mpq_mul_2exp_test;
procedure mpq_div_test;
procedure mpq_div_2exp_test;
procedure mpq_neg_test;
procedure mpq_abs_test;
procedure mpq_inv_test;
procedure mpq_cmp_test;
procedure mpq_cmp_si_test;
procedure mpq_cmp_ui_test;
procedure mpq_equal_test;
procedure mpq_get_num_test;
procedure mpq_get_den_test;
procedure mpq_set_num_test;
procedure mpq_set_den_test;
procedure mpf_get_default_prec_test;
procedure mpf_set_default_prec_test;
procedure mpf_init_test;
procedure mpf_init2_test;
procedure mpf_clear_test;
procedure mpf_get_prec_test;
procedure mpf_set_prec_test;
procedure mpf_set_prec_raw_test;
procedure mpf_set_q_test;
procedure mpf_set_ui_test;
procedure mpf_get_ui_test;
procedure mpf_set_si_test;
procedure mpf_get_si_test;
procedure mpf_set_test;
procedure mpf_set_str_test;
procedure mpf_swap_test;
procedure mpf_get_d_test;
procedure mpf_set_d_test;
procedure mpf_setmpz_test;
procedure mpf_get_d_2exp_test;
procedure mpf_get_str_test;
procedure mpf_add_test;
procedure mpf_add_ui_test;
procedure mpf_sub_test;
procedure mpf_sub_ui_test;
procedure mpf_ui_sub_test;
procedure mpf_mul_test;
procedure mpf_mul_ui_test;
procedure mpf_mul_2exp_test;
procedure mpf_div_test;
procedure mpf_div_ui_test;
procedure mpf_ui_div_test;
procedure mpf_div_2exp_test;
procedure mpf_sqrt_test;
procedure mpf_sqrt_ui_test;
procedure mpf_pow_ui_test;
procedure mpf_neg_test;
procedure mpf_abs_test;
procedure mpf_cmp_test;
procedure mpf_cmp_d_test;
procedure mpf_cmp_si_test;
procedure mpf_cmp_ui_test;
procedure mpf_eq_test;
procedure mpf_reldiff_test;
procedure mpf_ceil_test;
procedure mpf_floor_test;
procedure mpf_trunc_test;
procedure mpf_integer_p_test;
procedure mpf_fits_ushort_p_test;
procedure mpf_fits_sshort_p_test;
procedure mpf_fits_uint_p_test;
procedure mpf_fits_sint_p_test;
procedure mpf_fits_ulong_p_test;
procedure mpf_fits_slong_p_test;
procedure mpf_urandomb_test;
procedure mpf_random2_test;
procedure mpf_init_set_test;
procedure mpf_init_set_d_test;
procedure mpf_init_set_si_test;
procedure mpf_init_set_str_test;
procedure mpf_init_set_ui_test;
procedure mpn_add_n_test;
procedure mpn_add_1_test;
procedure mpn_add_test;
procedure mpn_sub_n_test;
procedure mpn_sub_1_test;
procedure mpn_sub_test;
procedure mpn_mul_n_test;
procedure mpn_mul_1_test;
procedure mpn_mul_test;
procedure mpn_addmul_1_test;
procedure mpn_submul_1_test;
procedure mpn_tdiv_qr_test;
procedure mpn_divrem_1_test;
procedure mpn_divexact_by3c_test;
procedure mpn_mod_1_test;
procedure mpn_lshift_test;
procedure mpn_rshift_test;
procedure mpn_cmp_test;
procedure mpn_gcd_test;
procedure mpn_gcd_1_test;
procedure mpn_gcdext_test;
procedure mpn_sqrtrem_test;
procedure mpn_get_str_test;
procedure mpn_set_str_test;
procedure mpn_scan0_test;
procedure mpn_scan1_test;
procedure mpn_popcount_test;
procedure mpn_hamdist_test;
procedure mpn_perfect_square_p_test;
procedure mpn_random_test;
procedure mpn_random2_test;
procedure bits_per_limb_test;
procedure version_test;
end;
{ TTestGmpExtensions }
TTestGmpExtensions = class(TTestCase)
published
procedure randinit_default_test;
procedure randinit_mt_test;
procedure randinit_lc_2exp_test;
procedure randinit_lc_2exp_size_test;
procedure randinit_set_test;
procedure randclear_test;
procedure randseed_test;
procedure randseed_ui_test;
procedure urandomb_ui_test;
procedure urandomm_ui_test;
procedure z_init_test;
procedure z_clear_test;
procedure z_init2_test;
procedure z_init_set_si_test;
procedure z_init_set_ui_test;
procedure z_init_set_d_test;
procedure z_init_set_test;
procedure z_init_set_str_test;
procedure z_realloc_test;
procedure z_realloc2_test;
procedure z_getlimbn_test;
procedure z_export_test;
procedure z_import_test;
procedure z_swap_test;
procedure z_set_test;
procedure z_set_d_test;
procedure z_set_f_test;
procedure z_set_q_test;
procedure z_set_si_test;
procedure z_set_str_test;
procedure z_set_ui_test;
procedure z_get_d_test;
procedure z_get_d_2exp_test;
procedure z_get_si_test;
procedure z_get_str_test;
procedure z_get_ui_test;
procedure z_add_test;
procedure z_add_ui_test;
procedure z_sub_test;
procedure z_sub_ui_test;
procedure z_ui_sub_test;
procedure z_mul_test;
procedure z_mul_si_test;
procedure z_mul_ui_test;
procedure z_addmul_test;
procedure z_addmul_ui_test;
procedure z_submul_test;
procedure z_submul_ui_test;
procedure z_mul_2exp_test;
procedure z_neg_test;
procedure z_abs_test;
procedure z_cdiv_q_test;
procedure z_fdiv_q_test;
procedure z_tdiv_q_test;
procedure z_cdiv_q_2exp_test;
procedure z_fdiv_q_2exp_test;
procedure z_tdiv_q_2exp_test;
procedure z_cdiv_q_ui_test;
procedure z_fdiv_q_ui_test;
procedure z_tdiv_q_ui_test;
procedure z_cdiv_qr_test;
procedure z_fdiv_qr_test;
procedure z_tdiv_qr_test;
procedure z_cdiv_qr_ui_test;
procedure z_fdiv_qr_ui_test;
procedure z_tdiv_qr_ui_test;
procedure z_cdiv_r_test;
procedure z_fdiv_r_test;
procedure z_tdiv_r_test;
procedure z_cdiv_r_2exp_test;
procedure z_fdiv_r_2exp_test;
procedure z_tdiv_r_2exp_test;
procedure z_cdiv_r_ui_test;
procedure z_fdiv_r_ui_test;
procedure z_tdiv_r_ui_test;
procedure z_cdiv_ui_test;
procedure z_fdiv_ui_test;
procedure z_tdiv_ui_test;
procedure z_mod_test;
procedure z_divexact_test;
procedure z_divexact_ui_test;
procedure z_divisible_p_test;
procedure z_divisible_ui_p_test;
procedure z_divisible_2exp_p_test;
procedure z_congruent_p_test;
procedure z_congruent_2exp_p_test;
procedure z_congruent_ui_p_test;
procedure z_powm_test;
procedure z_powm_ui_test;
procedure z_pow_ui_test;
procedure z_ui_pow_ui_test;
procedure z_root_test;
procedure z_rootrem_test;
procedure z_sqrt_test;
procedure z_sqrtrem_test;
procedure z_perfect_power_p_test;
procedure z_perfect_square_p_test;
procedure z_probab_prime_p_test;
procedure z_nextprime_test;
procedure z_gcd_test;
procedure z_gcd_ui_test;
procedure z_gcdext_test;
procedure z_lcm_test;
procedure z_lcm_ui_test;
procedure z_invert_test;
procedure z_jacobi_test;
procedure z_kronecker_si_test;
procedure z_kronecker_ui_test;
procedure z_si_kronecker_test;
procedure z_ui_kronecker_test;
procedure z_remove_test;
procedure z_fac_ui_test;
procedure z_bin_ui_test;
procedure z_bin_uiui_test;
procedure z_fib_ui_test;
procedure z_fib2_ui_test;
procedure z_lucnum_ui_test;
procedure z_lucnum2_ui_test;
procedure z_cmp_test;
procedure z_cmp_d_test;
procedure z_cmp_si_test;
procedure z_cmp_ui_test;
procedure z_cmpabs_test;
procedure z_cmpabs_d_test;
procedure z_cmpabs_ui_test;
procedure z_and_test;
procedure z_ior_test;
procedure z_xor_test;
procedure z_com_test;
procedure z_popcount_test;
procedure z_hamdist_test;
procedure z_scan0_test;
procedure z_scan1_test;
procedure z_setbit_test;
procedure z_clrbit_test;
procedure z_combit_test;
procedure z_tstbit_test;
procedure z_urandomb_test;
procedure z_urandomm_test;
procedure z_rrandomb_test;
procedure z_fits_ushort_p_test;
procedure z_fits_sshort_p_test;
procedure z_fits_uint_p_test;
procedure z_fits_sint_p_test;
procedure z_fits_ulong_p_test;
procedure z_fits_slong_p_test;
procedure z_sizeinbase_test;
procedure z_size_test;
procedure q_init_test;
procedure q_clear_test;
procedure q_set_ui_test;
procedure q_set_si_test;
procedure q_canonicalize_test;
procedure q_set_test;
procedure q_set_z_test;
procedure q_set_str_test;
procedure q_swap_test;
procedure q_get_d_test;
procedure q_set_d_test;
procedure q_set_f_test;
procedure q_get_str_test;
procedure q_add_test;
procedure q_sub_test;
procedure q_mul_test;
procedure q_mul_2exp_test;
procedure q_div_test;
procedure q_div_2exp_test;
procedure q_neg_test;
procedure q_abs_test;
procedure q_inv_test;
procedure q_cmp_test;
procedure q_cmp_si_test;
procedure q_cmp_ui_test;
procedure q_equal_test;
procedure q_get_num_test;
procedure q_get_den_test;
procedure q_set_num_test;
procedure q_set_den_test;
procedure f_get_default_prec_test;
procedure f_set_default_prec_test;
procedure f_init_test;
procedure f_init2_test;
procedure f_clear_test;
procedure f_get_prec_test;
procedure f_set_prec_test;
procedure f_set_prec_raw_test;
procedure f_set_q_test;
procedure f_set_ui_test;
procedure f_get_ui_test;
procedure f_set_si_test;
procedure f_get_si_test;
procedure f_set_test;
procedure f_set_str_test;
procedure f_swap_test;
procedure f_get_d_test;
procedure f_set_d_test;
procedure f_set_z_test;
procedure f_get_d_2exp_test;
procedure f_get_str_test;
procedure f_add_test;
procedure f_add_ui_test;
procedure f_sub_test;
procedure f_sub_ui_test;
procedure f_ui_sub_test;
procedure f_mul_test;
procedure f_mul_ui_test;
procedure f_mul_2exp_test;
procedure f_div_test;
procedure f_div_ui_test;
procedure f_ui_div_test;
procedure f_div_2exp_test;
procedure f_sqrt_test;
procedure f_sqrt_ui_test;
procedure f_pow_ui_test;
procedure f_neg_test;
procedure f_abs_test;
procedure f_cmp_test;
procedure f_cmp_d_test;
procedure f_cmp_si_test;
procedure f_cmp_ui_test;
procedure f_eq_test;
procedure f_reldiff_test;
procedure f_ceil_test;
procedure f_floor_test;
procedure f_trunc_test;
procedure f_integer_p_test;
procedure f_fits_ushort_p_test;
procedure f_fits_sshort_p_test;
procedure f_fits_uint_p_test;
procedure f_fits_sint_p_test;
procedure f_fits_ulong_p_test;
procedure f_fits_slong_p_test;
procedure f_urandomb_test;
procedure f_random2_test;
procedure f_init_set_test;
procedure f_init_set_d_test;
procedure f_init_set_si_test;
procedure f_init_set_str_test;
procedure f_init_set_ui_test;
end;
{ TTestGmpOperators }
TTestGmpOperators = class(TTestCase)
procedure star__MPFloat__MPFloat__MPFloat_;
procedure star__MPInteger__MPInteger__MPInteger_;
procedure star__MPRational__MPRational__MPRational_;
procedure pow__MPFloat_valuint_MPFloat_;
procedure pow__MPInteger_valuint_MPInteger_;
procedure plus__MPFloat__MPFloat__MPFloat_;
procedure plus__MPInteger__MPInteger__MPInteger_;
procedure plus__MPRational__MPRational__MPRational_;
procedure minus__MPFloat__MPFloat_;
procedure minus__MPInteger__MPInteger_;
procedure minus__MPRational__MPRational_;
procedure minus__MPFloat__MPFloat__MPFloat_;
procedure minus__MPInteger__MPInteger__MPInteger_;
procedure minus__MPRational__MPRational__MPRational_;
procedure slash__MPFloat__MPFloat__MPFloat_;
procedure slash__MPInteger__MPInteger__MPInteger_;
procedure slash__MPRational__MPRational__MPRational_;
procedure assign_double_MPFloat_;
procedure assign_double_MPInteger_;
procedure assign_double_MPRational_;
procedure assign__MPFloat_Cardinal;
procedure assign__MPFloat_double;
procedure assign__MPFloat_integer;
procedure assign__MPFloat_mpf_t;
procedure assign__MPFloat__MPInteger_;
procedure assign__MPFloat__MPRational_;
procedure assign__MPFloat_string;
procedure assign__MPFloat_valsint;
procedure assign__MPFloat_valuint;
procedure assign_mpf_t_MPFloat_;
procedure assign__MPInteger_cardinal;
procedure assign__MPInteger_double;
procedure assign__MPInteger_integer;
procedure assign__MPInteger__MPFloat_;
procedure assign__MPInteger__MPRational_;
procedure assign__MPInteger_mpz_t;
procedure assign__MPInteger_string;
procedure assign__MPInteger_valsint;
procedure assign__MPInteger_valuint;
procedure assign_mpq_t_MPRational_;
procedure assign__MPRandState_randstate_t;
procedure assign__MPRational_double;
procedure assign__MPRational__MPFloat_;
procedure assign__MPRational__MPInteger_;
procedure assign__MPRational_mpq_t;
procedure assign__MPRational_string;
procedure assign_mpz_t_MPInteger_;
procedure assign_randstate_t_MPRandState_;
procedure assign_string_MPFloat_;
procedure assign_string_MPInteger_;
procedure assign_string_MPRational_;
procedure assign_valsint_MPFloat_;
procedure assign_valsint_MPInteger_;
procedure assign_valsint_MPRational_;
procedure assign_valuint_MPFloat_;
procedure assign_valuint_MPInteger_;
procedure assign_valuint_MPRational_;
procedure lt__MPFloat__MPFloat_boolean;
procedure lt__MPInteger__MPInteger_boolean;
procedure lt__MPRational__MPRational_boolean;
procedure le__MPFloat__MPFloat_boolean;
procedure le__MPInteger__MPInteger_boolean;
procedure le__MPRational__MPRational_boolean;
procedure gt__MPFloat__MPFloat_boolean;
procedure gt__MPInteger__MPInteger_boolean;
procedure gt__MPRational__MPRational_boolean;
procedure ge__MPFloat__MPFloat_boolean;
procedure ge__MPInteger__MPInteger_boolean;
procedure ge__MPRational__MPRational_boolean;
end;