rebuild for GMP 5.1.3.

This commit is contained in:
mrg 2014-03-09 20:54:01 +00:00
parent 0afc3eb7f2
commit aeea229482
6 changed files with 753 additions and 912 deletions

View File

@ -1,163 +1,195 @@
# $NetBSD: Makefile.inc,v 1.2 2013/12/04 00:49:18 mrg Exp $
# $NetBSD: Makefile.inc,v 1.3 2014/03/09 20:54:01 mrg Exp $
SRCS+= \
trialdiv.c \
powlo.c \
redc_2.c \
bdiv_q_1.c \
toom62_mul.c \
gcd_lehmer.c \
mod_1_3.c \
sub.c \
bdiv_qr.c \
sbpi1_divappr_q.c \
sqrmod_bnm1.c \
toom6_sqr.c \
toom44_mul.c \
hgcd.c \
tdiv_qr.c \
gcd_subdiv_step.c \
nussbaumer_mul.c \
mod_1_4.c \
sbpi1_bdiv_q.c \
toom43_mul.c \
gcdext.c \
mu_bdiv_qr.c \
sbpi1_div_qr.c \
toom_interpolate_6pts.c \
toom6h_mul.c \
toom52_mul.c \
toom42_mul.c \
gcdext_lehmer.c \
pow_1.c \
lshiftc.c \
sub_1.c \
zero.c \
dcpi1_bdiv_qr.c \
sbpi1_bdiv_qr.c \
matrix22_mul.c \
perfpow.c \
random2.c \
dump.c \
mod_34lsub1.c \
dcpi1_divappr_q.c \
invert.c \
toom_interpolate_8pts.c \
toom33_mul.c \
fib2_ui.c \
powm.c \
divexact.c \
toom_eval_pm2exp.c \
toom4_sqr.c \
toom32_mul.c \
get_d.c \
jacbase.c \
gcdext_subdiv_step.c \
gcdext_1.c \
mul_basecase.c \
add_1.c \
redc_1_sec.c \
mu_divappr_q.c \
toom_interpolate_12pts.c \
toom_interpolate_5pts.c \
toom3_sqr.c \
scan0.c \
set_str.c \
get_str.c \
mul_n.c \
pre_mod_1.c \
subcnd_n.c \
redc_n.c \
dcpi1_div_q.c \
sbpi1_div_q.c \
binvert.c \
toom_eval_pm2rexp.c \
toom_eval_pm1.c \
toom_couple_handling.c \
gcd.c \
perfsqr.c \
scan1.c \
mod_1.c \
divrem.c \
add.c \
remove.c \
toom_interpolate_7pts.c \
toom_eval_pm2.c \
toom8_sqr.c \
toom63_mul.c \
toom22_mul.c \
mullo_n.c \
hgcd2.c \
rootrem.c \
random.c \
mul.c \
bdiv_q.c \
toom_interpolate_7pts.c \
sbpi1_divappr_q.c \
random2.c \
mu_bdiv_q.c \
toom_eval_dgr3_pm1.c \
mulmid_basecase.c \
jacobi_2.c \
toom32_mul.c \
toom44_mul.c \
toom8h_mul.c \
mullo_basecase.c \
sqrtrem.c \
sqr_basecase.c \
powm_sec.c \
dcpi1_bdiv_q.c \
mu_div_q.c \
mu_div_qr.c \
invertappr.c \
toom_interpolate_16pts.c \
toom_eval_dgr3_pm2.c \
toom2_sqr.c \
mod_1_1.c \
divis.c \
diveby3.c \
com.c \
redc_1.c \
zero.c \
mod_1_4.c \
gcdext.c \
add_err3_n.c \
binvert.c \
mu_div_q.c \
invertappr.c \
dump.c \
mu_divappr_q.c \
dcpi1_div_qr.c \
mulmod_bnm1.c \
hgcd_reduce.c \
matrix22_mul1_inverse_vector.c \
toom6_sqr.c \
hgcd_step.c \
sub_err3_n.c \
mod_1.c \
toom42_mulmid.c \
divexact.c \
jacobi.c \
powlo.c \
mul.c \
set_str.c \
toom42_mul.c \
toom54_mul.c \
toom_interpolate_6pts.c \
dcpi1_divappr_q.c \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
com.c \
toom_couple_handling.c \
add.c \
div_qr_2.c \
toom_interpolate_12pts.c \
perfsqr.c \
toom53_mul.c \
toom_eval_pm2exp.c \
mu_div_qr.c \
toom_interpolate_16pts.c \
bdiv_q.c \
toom22_mul.c \
bsqrtinv.c \
toom4_sqr.c \
div_q.c \
cmp.c \
sqr.c \
mul_fft.c \
jacbase.c \
addcnd_n.c \
hgcd_matrix.c \
mullo_n.c \
toom33_mul.c \
toom_eval_dgr3_pm1.c \
mod_1_2.c \
sub_1.c \
add_err2_n.c \
trialdiv.c \
add_1.c \
sqr_basecase.c \
toom_interpolate_5pts.c \
sbpi1_bdiv_q.c \
pre_mod_1.c \
hgcd.c \
sqrtrem.c \
bdiv_q_1.c \
gcdext_1.c \
toom63_mul.c \
div_qr_2u_pi1.c \
mul_basecase.c \
toom8_sqr.c \
neg.c \
gcdext_lehmer.c \
divis.c \
dcpi1_div_q.c \
subcnd_n.c \
toom_eval_pm2.c \
hgcd2.c \
toom62_mul.c \
comb_tables.c \
sbpi1_bdiv_qr.c \
sub_err2_n.c \
scan1.c \
brootinv.c \
perfpow.c \
get_str.c \
mulmod_bnm1.c \
mullo_basecase.c \
tdiv_qr.c \
div_qr_2n_pi1.c \
toom43_mul.c \
mod_1_1.c \
matrix22_mul.c \
powm_sec.c \
divrem.c \
bsqrt.c \
dcpi1_bdiv_qr.c \
mul_n.c \
redc_2.c \
toom6h_mul.c \
sqrmod_bnm1.c \
mul_fft.c \
mulmid.c \
powm.c \
rootrem.c \
toom_interpolate_8pts.c \
remove.c \
cmp.c \
toom_eval_pm1.c \
hgcd_appr.c \
scan0.c \
gcd_subdiv_step.c \
sbpi1_div_qr.c \
invert.c \
sub.c \
toom_eval_pm2rexp.c \
broot.c \
dcpi1_bdiv_q.c \
hgcd2_jacobi.c \
add_err1_n.c \
mulmid_n.c \
redc_1.c \
sqr.c \
nussbaumer_mul.c \
mu_bdiv_qr.c \
pow_1.c \
get_d.c \
toom52_mul.c \
sbpi1_div_q.c \
diveby3.c \
fib2_ui.c \
bdiv_qr.c \
hgcd_jacobi.c \
toom3_sqr.c \
gcd.c \
redc_n.c \
sub_err1_n.c \
C_SRCS_LIST= \
sb_div_r_sec.c mpn/generic/sb_div_sec.c \
sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \
sb_div_qr_sec.c mpn/generic/sb_div_sec.c \
sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \
ASM_SRCS_LIST= \
ior_n.asm mpn/ia64/logops_n.asm \
sqr_diag_addlsh1.asm mpn/ia64/sqr_diag_addlsh1.asm \
nand_n.asm mpn/ia64/logops_n.asm \
addmul_1.asm mpn/ia64/addmul_1.asm \
addlsh1_n.asm mpn/ia64/aorslsh1_n.asm \
iorn_n.asm mpn/ia64/logops_n.asm \
gcd_1.asm mpn/ia64/gcd_1.asm \
popcount.asm mpn/ia64/popcount.asm \
mul_2.asm mpn/ia64/mul_2.asm \
copyd.asm mpn/ia64/copyd.asm \
xor_n.asm mpn/ia64/logops_n.asm \
sqr_diagonal.asm mpn/ia64/sqr_diagonal.asm \
andn_n.asm mpn/ia64/logops_n.asm \
submul_1.asm mpn/ia64/submul_1.asm \
mul_1.asm mpn/ia64/mul_1.asm \
rsh1sub_n.asm mpn/ia64/rsh1aors_n.asm \
add_n.asm mpn/ia64/aors_n.asm \
rsh1add_n.asm mpn/ia64/rsh1aors_n.asm \
sublsh1_n.asm mpn/ia64/aorslsh1_n.asm \
copyi.asm mpn/ia64/copyi.asm \
xor_n.asm mpn/ia64/logops_n.asm \
addmul_2.asm mpn/ia64/addmul_2.asm \
submul_1.asm mpn/ia64/submul_1.asm \
nior_n.asm mpn/ia64/logops_n.asm \
tabselect.asm mpn/ia64/tabselect.asm \
lshift.asm mpn/ia64/lorrshift.asm \
and_n.asm mpn/ia64/logops_n.asm \
hamdist.asm mpn/ia64/hamdist.asm \
sub_n.asm mpn/ia64/aors_n.asm \
nior_n.asm mpn/ia64/logops_n.asm \
add_n.asm mpn/ia64/aors_n.asm \
invert_limb.asm mpn/ia64/invert_limb.asm \
bdiv_dbm1c.asm mpn/ia64/bdiv_dbm1c.asm \
rshift.asm mpn/ia64/lorrshift.asm \
rsh1sub_n.asm mpn/ia64/rsh1aors_n.asm \
xnor_n.asm mpn/ia64/logops_n.asm \
divrem_2.asm mpn/ia64/divrem_2.asm \
rsh1add_n.asm mpn/ia64/rsh1aors_n.asm \
dive_1.asm mpn/ia64/dive_1.asm \
lshift.asm mpn/ia64/lorrshift.asm \
addmul_2.asm mpn/ia64/addmul_2.asm \
mode1o.asm mpn/ia64/mode1o.asm \
mul_1.asm mpn/ia64/mul_1.asm \
addlsh2_n.asm mpn/ia64/aorslsh2_n.asm \
divrem_1.asm mpn/ia64/divrem_1.asm \
copyd.asm mpn/ia64/copyd.asm \
bdiv_dbm1c.asm mpn/ia64/bdiv_dbm1c.asm \
dive_1.asm mpn/ia64/dive_1.asm \
andn_n.asm mpn/ia64/logops_n.asm \
add_n_sub_n.asm mpn/ia64/add_n_sub_n.asm \
copyi.asm mpn/ia64/copyi.asm \
rshift.asm mpn/ia64/lorrshift.asm \
iorn_n.asm mpn/ia64/logops_n.asm \
ior_n.asm mpn/ia64/logops_n.asm \
mod_34lsub1.asm mpn/ia64/mod_34lsub1.asm \
popcount.asm mpn/ia64/popcount.asm \
sublsh2_n.asm mpn/ia64/aorslsh2_n.asm \
xnor_n.asm mpn/ia64/logops_n.asm \
lshiftc.asm mpn/ia64/lshiftc.asm \
mode1o.asm mpn/ia64/mode1o.asm \
addlsh1_n.asm mpn/ia64/aorslsh1_n.asm \
mul_2.asm mpn/ia64/mul_2.asm \
invert_limb.asm mpn/ia64/invert_limb.asm \
addmul_1.asm mpn/ia64/addmul_1.asm \
divrem_2.asm mpn/ia64/divrem_2.asm \
sub_n.asm mpn/ia64/aors_n.asm \
gcd_1.asm mpn/ia64/gcd_1.asm \
GMP_LIMB_BITS=64

View File

@ -1,10 +1,10 @@
/* config.h. Generated from config.in by configure. */
/* config.in. Generated from configure.in by autoheader. */
/* config.in. Generated from configure.ac by autoheader. */
/*
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@ -37,7 +37,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* #undef HAVE_ALLOCA_H */
/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */
#define HAVE_ATTRIBUTE_CONST 1
@ -62,8 +62,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* Define to 1 if you have the `clock' function. */
#define HAVE_CLOCK 1
/* Define to 1 if you have the `clock_gettime' function. */
/* #undef HAVE_CLOCK_GETTIME */
/* Define to 1 if you have the `clock_gettime' function */
#define HAVE_CLOCK_GETTIME 1
/* Define to 1 if you have the `cputime' function. */
/* #undef HAVE_CPUTIME */
@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* #undef HAVE_HOST_CPU_pentiumpro */
/* #undef HAVE_HOST_CPU_pentium2 */
/* #undef HAVE_HOST_CPU_pentium3 */
/* #undef HAVE_HOST_CPU_s390_z900 */
/* #undef HAVE_HOST_CPU_s390_z990 */
/* #undef HAVE_HOST_CPU_s390_z9 */
/* #undef HAVE_HOST_CPU_s390_z10 */
/* #undef HAVE_HOST_CPU_s390_z196 */
/* Define to 1 iff we have a s390 with 64-bit registers. */
/* #undef HAVE_HOST_CPU_s390_zarch */
/* Define to 1 if the system has the type `intmax_t'. */
#define HAVE_INTMAX_T 1
@ -214,12 +222,28 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* Define to 1 each of the following for which a native (ie. CPU specific)
implementation of the corresponding routine exists. */
#define HAVE_NATIVE_mpn_add_n 1
/* #undef HAVE_NATIVE_mpn_add_n_sub_n */
/* #undef HAVE_NATIVE_mpn_add_nc */
#define HAVE_NATIVE_mpn_add_n_sub_n 1
#define HAVE_NATIVE_mpn_add_nc 1
/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */
/* #undef HAVE_NATIVE_mpn_addcnd_n */
#define HAVE_NATIVE_mpn_addlsh1_n 1
/* #undef HAVE_NATIVE_mpn_addlsh2_n */
#define HAVE_NATIVE_mpn_addlsh2_n 1
/* #undef HAVE_NATIVE_mpn_addlsh_n */
/* #undef HAVE_NATIVE_mpn_addlsh1_nc */
/* #undef HAVE_NATIVE_mpn_addlsh2_nc */
/* #undef HAVE_NATIVE_mpn_addlsh_nc */
/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */
/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */
/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */
/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */
/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */
/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */
/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */
/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */
/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */
/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */
/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */
/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */
/* #undef HAVE_NATIVE_mpn_addmul_1c */
#define HAVE_NATIVE_mpn_addmul_2 1
/* #undef HAVE_NATIVE_mpn_addmul_3 */
@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* #undef HAVE_NATIVE_mpn_addmul_6 */
/* #undef HAVE_NATIVE_mpn_addmul_7 */
/* #undef HAVE_NATIVE_mpn_addmul_8 */
#define HAVE_NATIVE_mpn_addmul_2s 1
#define HAVE_NATIVE_mpn_and_n 1
#define HAVE_NATIVE_mpn_andn_n 1
#define HAVE_NATIVE_mpn_bdiv_dbm1c 1
@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* #undef HAVE_NATIVE_mpn_com */
#define HAVE_NATIVE_mpn_copyd 1
#define HAVE_NATIVE_mpn_copyi 1
/* #undef HAVE_NATIVE_mpn_div_qr_2 */
#define HAVE_NATIVE_mpn_divexact_1 1
/* #undef HAVE_NATIVE_mpn_divexact_by3c */
#define HAVE_NATIVE_mpn_divrem_1 1
@ -247,14 +273,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define HAVE_NATIVE_mpn_ior_n 1
#define HAVE_NATIVE_mpn_iorn_n 1
#define HAVE_NATIVE_mpn_lshift 1
/* #undef HAVE_NATIVE_mpn_lshiftc */
#define HAVE_NATIVE_mpn_lshiftc 1
/* #undef HAVE_NATIVE_mpn_lshsub_n */
/* #undef HAVE_NATIVE_mpn_mod_1 */
/* #undef HAVE_NATIVE_mpn_mod_1_1p */
/* #undef HAVE_NATIVE_mpn_mod_1c */
/* #undef HAVE_NATIVE_mpn_mod_1s_2p */
/* #undef HAVE_NATIVE_mpn_mod_1s_4p */
/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */
#define HAVE_NATIVE_mpn_mod_34lsub1 1
/* #undef HAVE_NATIVE_mpn_modexact_1_odd */
#define HAVE_NATIVE_mpn_modexact_1c_odd 1
#define HAVE_NATIVE_mpn_mul_1 1
@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define HAVE_NATIVE_mpn_mul_2 1
/* #undef HAVE_NATIVE_mpn_mul_3 */
/* #undef HAVE_NATIVE_mpn_mul_4 */
/* #undef HAVE_NATIVE_mpn_mul_5 */
/* #undef HAVE_NATIVE_mpn_mul_6 */
/* #undef HAVE_NATIVE_mpn_mul_basecase */
#define HAVE_NATIVE_mpn_nand_n 1
#define HAVE_NATIVE_mpn_nior_n 1
@ -273,19 +301,34 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* #undef HAVE_NATIVE_mpn_rsblsh1_n */
/* #undef HAVE_NATIVE_mpn_rsblsh2_n */
/* #undef HAVE_NATIVE_mpn_rsblsh_n */
/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */
/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */
/* #undef HAVE_NATIVE_mpn_rsblsh_nc */
#define HAVE_NATIVE_mpn_rsh1add_n 1
/* #undef HAVE_NATIVE_mpn_rsh1add_nc */
#define HAVE_NATIVE_mpn_rsh1sub_n 1
/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */
#define HAVE_NATIVE_mpn_rshift 1
/* #undef HAVE_NATIVE_mpn_sqr_basecase */
#define HAVE_NATIVE_mpn_sqr_diagonal 1
/* #undef HAVE_NATIVE_mpn_sqr_diagonal */
#define HAVE_NATIVE_mpn_sqr_diag_addlsh1 1
#define HAVE_NATIVE_mpn_sub_n 1
/* #undef HAVE_NATIVE_mpn_sub_nc */
#define HAVE_NATIVE_mpn_sub_nc 1
/* #undef HAVE_NATIVE_mpn_subcnd_n */
#define HAVE_NATIVE_mpn_sublsh1_n 1
/* #undef HAVE_NATIVE_mpn_sublsh2_n */
#define HAVE_NATIVE_mpn_sublsh2_n 1
/* #undef HAVE_NATIVE_mpn_sublsh_n */
/* #undef HAVE_NATIVE_mpn_sublsh1_nc */
/* #undef HAVE_NATIVE_mpn_sublsh2_nc */
/* #undef HAVE_NATIVE_mpn_sublsh_nc */
/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */
/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */
/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */
/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */
/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */
/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */
/* #undef HAVE_NATIVE_mpn_submul_1c */
#define HAVE_NATIVE_mpn_tabselect 1
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd */
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
@ -328,13 +371,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* #undef HAVE_READ_REAL_TIME */
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* #undef HAVE_SIGACTION */
/* Define to 1 if you have the `sigaltstack' function. */
#define HAVE_SIGALTSTACK 1
/* Define to 1 if you have the `sigstack' function. */
#define HAVE_SIGSTACK 1
/* #undef HAVE_SIGSTACK */
/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */
#define HAVE_SPEED_CYCLECOUNTER 2
@ -388,7 +431,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define HAVE_SYSCTL 1
/* Define to 1 if you have the `sysctlbyname' function. */
/* #undef HAVE_SYSCTLBYNAME */
#define HAVE_SYSCTLBYNAME 1
/* Define to 1 if you have the `syssgi' function. */
/* #undef HAVE_SYSSGI */
@ -421,7 +464,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define HAVE_SYS_SYSCTL_H 1
/* Define to 1 if you have the <sys/sysinfo.h> header file. */
#define HAVE_SYS_SYSINFO_H 1
/* #undef HAVE_SYS_SYSINFO_H */
/* Define to 1 if you have the <sys/syssgi.h> header file. */
/* #undef HAVE_SYS_SYSSGI_H */
@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
/* Define to 1 if you have the `vsnprintf' function and it works properly. */
#define HAVE_VSNPRINTF 1
/* Define to 1 for Windos/64 */
/* #undef HOST_DOS64 */
/* Assembler local label prefix */
#define LSYM_PREFIX ".L"
@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define PACKAGE "gmp"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org"
#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html"
/* Define to the full name of this package. */
#define PACKAGE_NAME "GNU MP"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GNU MP 5.0.2"
#define PACKAGE_STRING "GNU MP 5.1.3"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gmp"
@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define PACKAGE_URL "http://www.gnu.org/software/gmp/"
/* Define to the version of this package. */
#define PACKAGE_VERSION "5.0.2"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
#define PACKAGE_VERSION "5.1.3"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC
/* Version number of package */
#define VERSION "5.0.2"
#define VERSION "5.1.3"
/* Defined to 1 as per --enable-assembly */
#define WANT_ASSEMBLY 1
/* Define to 1 to enable ASSERT checking, per --enable-assert */
/* #undef WANT_ASSERT */
@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
`char[]'. */
#define YYTEXT_POINTER 1
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus

View File

@ -10,14 +10,14 @@ define(<LABEL_SUFFIX>, <:>)
define(<GLOBL>, <.global>)
define(<GLOBL_ATTR>, <>)
define(<GSYM_PREFIX>, <>)
define(<RODATA>, <.text>)
define(<RODATA>, < .section .rodata>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<no>)
define(<IA64_ALIGN_OK>, <`yes'>)
define(<SQR_TOOM2_THRESHOLD>,<119>)
define(<SQR_TOOM2_THRESHOLD>,<84>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,64)
define(<GMP_NAIL_BITS>,0)

View File

@ -1,6 +1,6 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010 Free Software
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011 Free Software
Foundation, Inc.
This file is part of the GNU MP Library.
@ -21,187 +21,169 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define GMP_LIMB_BITS 64
#define BYTES_PER_MP_LIMB 8
/* 1300MHz Itanium2 (babe.fsffrance.org) */
/* 900MHz Itanium2 (titanic.gmplib.org) */
#define MOD_1_1P_METHOD 2
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 14
#define MOD_1U_TO_MOD_1_1_THRESHOLD 8
#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0
#define MOD_1_2_TO_MOD_1_4_THRESHOLD 14
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 22
#define MOD_1N_TO_MOD_1_1_THRESHOLD 3
#define MOD_1U_TO_MOD_1_1_THRESHOLD 5
#define MOD_1_1_TO_MOD_1_2_THRESHOLD 26
#define MOD_1_2_TO_MOD_1_4_THRESHOLD 0 /* never mpn_mod_1s_2p */
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 10
#define USE_PREINV_DIVREM_1 1 /* native */
#define DIV_QR_2_PI2_THRESHOLD 12
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define BMOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */
#define MUL_TOOM22_THRESHOLD 44
#define MUL_TOOM33_THRESHOLD 89
#define MUL_TOOM44_THRESHOLD 232
#define MUL_TOOM6H_THRESHOLD 351
#define MUL_TOOM8H_THRESHOLD 454
#define MUL_TOOM22_THRESHOLD 36
#define MUL_TOOM33_THRESHOLD 129
#define MUL_TOOM44_THRESHOLD 214
#define MUL_TOOM6H_THRESHOLD 318
#define MUL_TOOM8H_THRESHOLD 430
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 101
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 160
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 138
#define MUL_TOOM42_TO_TOOM63_THRESHOLD 159
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 121
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 138
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 121
#define MUL_TOOM42_TO_TOOM63_THRESHOLD 145
#define MUL_TOOM43_TO_TOOM54_THRESHOLD 203
#define SQR_BASECASE_THRESHOLD 26
#define SQR_TOOM2_THRESHOLD 119
#define SQR_TOOM3_THRESHOLD 141
#define SQR_TOOM4_THRESHOLD 282
#define SQR_TOOM6_THRESHOLD 375
#define SQR_TOOM8_THRESHOLD 527
#define SQR_BASECASE_THRESHOLD 11
#define SQR_TOOM2_THRESHOLD 84
#define SQR_TOOM3_THRESHOLD 131
#define SQR_TOOM4_THRESHOLD 494
#define SQR_TOOM6_THRESHOLD 0 /* always */
#define SQR_TOOM8_THRESHOLD 0 /* always */
#define MULMOD_BNM1_THRESHOLD 24
#define SQRMOD_BNM1_THRESHOLD 19
#define MULMID_TOOM42_THRESHOLD 98
#define MUL_FFT_MODF_THRESHOLD 888 /* k = 5 */
#define MULMOD_BNM1_THRESHOLD 21
#define SQRMOD_BNM1_THRESHOLD 25
#define MUL_FFT_MODF_THRESHOLD 468 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 888, 5}, { 31, 6}, { 16, 5}, { 33, 6}, \
{ 17, 5}, { 35, 6}, { 28, 7}, { 15, 6}, \
{ 33, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \
{ 39, 7}, { 29, 8}, { 15, 7}, { 33, 8}, \
{ 17, 7}, { 37, 8}, { 19, 7}, { 41, 8}, \
{ 21, 7}, { 43, 8}, { 23, 7}, { 47, 8}, \
{ 27, 7}, { 55, 8}, { 31, 7}, { 63, 8}, \
{ 37, 9}, { 19, 8}, { 43, 9}, { 23, 8}, \
{ 51, 9}, { 27, 8}, { 55, 9}, { 31, 8}, \
{ 63, 9}, { 35, 8}, { 71, 9}, { 39, 8}, \
{ 79, 9}, { 43,10}, { 23, 9}, { 47, 8}, \
{ 95, 9}, { 55,10}, { 31, 9}, { 71,10}, \
{ { 476, 5}, { 27, 6}, { 14, 5}, { 29, 6}, \
{ 33, 7}, { 17, 6}, { 37, 7}, { 19, 6}, \
{ 39, 7}, { 21, 6}, { 43, 7}, { 33, 8}, \
{ 17, 7}, { 37, 8}, { 19, 7}, { 39, 8}, \
{ 21, 7}, { 43, 8}, { 37, 9}, { 19, 8}, \
{ 43, 9}, { 23, 8}, { 51, 9}, { 27, 8}, \
{ 57, 9}, { 31, 8}, { 63, 9}, { 43,10}, \
{ 23, 9}, { 59,10}, { 31, 9}, { 71,10}, \
{ 39, 9}, { 83,10}, { 47, 9}, { 99,10}, \
{ 55,11}, { 31,10}, { 63, 9}, { 127,10}, \
{ 71, 9}, { 143,10}, { 87,11}, { 47,10}, \
{ 55,11}, { 31,10}, { 87,11}, { 47,10}, \
{ 111,12}, { 31,11}, { 63,10}, { 143,11}, \
{ 79,10}, { 167,11}, { 95,10}, { 199,11}, \
{ 111,12}, { 63,11}, { 127,10}, { 255,11}, \
{ 143,10}, { 287,11}, { 159,10}, { 319,12}, \
{ 95,11}, { 223,13}, { 63,12}, { 127,11}, \
{ 287,12}, { 159,11}, { 335,12}, { 191,11}, \
{ 383,10}, { 767,11}, { 399,12}, { 223,13}, \
{ 127,12}, { 255,11}, { 511,10}, { 1023,12}, \
{ 287,11}, { 575,10}, { 1151,12}, { 319,11}, \
{ 639,10}, { 1279,11}, { 671,13}, { 191,12}, \
{ 383,11}, { 767,10}, { 1535,12}, { 415,11}, \
{ 831,14}, { 127,13}, { 255,12}, { 511,11}, \
{ 1023,12}, { 543,11}, { 1087,12}, { 575,13}, \
{ 319,12}, { 639,11}, { 1279,12}, { 671,11}, \
{ 1343,12}, { 703,11}, { 1471,13}, { 383,12}, \
{ 767,11}, { 1535,12}, { 799,11}, { 1599,12}, \
{ 831,13}, { 447,12}, { 959,14}, { 255,13}, \
{ 511,12}, { 1055,11}, { 2111,12}, { 1087,13}, \
{ 575,12}, { 1215,11}, { 2431,12}, { 1247,13}, \
{ 639,12}, { 1279,11}, { 2559,12}, { 1343,13}, \
{ 703,12}, { 1471,14}, { 383,13}, { 767,12}, \
{ 1599,13}, { 831,12}, { 1663,11}, { 3327,12}, \
{ 1727,13}, { 895,12}, { 1791,13}, { 959,15}, \
{ 255,14}, { 511,13}, { 1023,12}, { 2047,13}, \
{ 1087,12}, { 2175,13}, { 1151,12}, { 2303,13}, \
{ 1215,11}, { 4863,12}, { 2495,14}, { 639,13}, \
{ 1343,12}, { 2687,13}, { 1471,12}, { 2943,14}, \
{ 767,13}, { 1599,12}, { 3199,13}, { 1727,12}, \
{ 3455,14}, { 895,13}, { 1983,12}, { 3967,15}, \
{ 511,14}, { 1023,13}, { 2111,12}, { 4223,13}, \
{ 2239,12}, { 4479,13}, { 2495,14}, { 1279,13}, \
{ 2751,14}, { 1407,13}, { 2943,15}, { 767,14}, \
{ 1535,13}, { 3199,14}, { 1663,13}, { 3455,14}, \
{ 1791,12}, { 7167,14}, { 1919,13}, { 3967,16}, \
{ 511,15}, { 1023,14}, { 2175,13}, { 4351,14}, \
{ 2431,15}, { 1279,14}, { 2943,13}, { 5887,15}, \
{ 1535,14}, { 3199,13}, { 6399,14}, { 16384,15}, \
{ 32768,16}, { 65536,17}, { 131072,18}, { 262144,19}, \
{ 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \
{8388608,24} }
#define MUL_FFT_TABLE3_SIZE 217
#define MUL_FFT_THRESHOLD 9856
#define SQR_FFT_MODF_THRESHOLD 751 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 751, 5}, { 35, 6}, { 18, 5}, { 37, 6}, \
{ 29, 7}, { 15, 6}, { 33, 7}, { 17, 6}, \
{ 35, 7}, { 29, 8}, { 15, 7}, { 37, 8}, \
{ 19, 7}, { 41, 8}, { 21, 7}, { 43, 8}, \
{ 23, 7}, { 47, 8}, { 43, 9}, { 23, 8}, \
{ 51, 9}, { 27, 8}, { 55, 9}, { 31, 8}, \
{ 63, 9}, { 39, 8}, { 79, 9}, { 43,10}, \
{ 23, 9}, { 47, 8}, { 95, 9}, { 55,10}, \
{ 31, 9}, { 67,10}, { 39, 9}, { 83,10}, \
{ 47, 9}, { 99,10}, { 55,11}, { 31,10}, \
{ 63, 9}, { 127,10}, { 79,11}, { 47,10}, \
{ 103,12}, { 31,11}, { 63,10}, { 143,11}, \
{ 79,10}, { 159,11}, { 95,10}, { 199,11}, \
{ 111,12}, { 63,11}, { 127,10}, { 255,11}, \
{ 143,10}, { 287,11}, { 159,12}, { 95,11}, \
{ 191,10}, { 383,11}, { 207,13}, { 63,12}, \
{ 127,11}, { 255,10}, { 511,11}, { 271,12}, \
{ 159,11}, { 319,10}, { 639,11}, { 335,12}, \
{ 191,11}, { 383,10}, { 767,12}, { 223,13}, \
{ 127,11}, { 511,10}, { 1023,11}, { 527,12}, \
{ 287,11}, { 575,10}, { 1151,11}, { 591,12}, \
{ 319,11}, { 639,13}, { 191,12}, { 383,11}, \
{ 767,10}, { 1535,11}, { 799,10}, { 1599, 9}, \
{ 3199,14}, { 127,13}, { 255,12}, { 511, 9}, \
{ 4095,10}, { 2111,12}, { 543,11}, { 1087,10}, \
{ 2239,12}, { 575,10}, { 2303,13}, { 319,12}, \
{ 671,11}, { 1471,13}, { 383,11}, { 1599,12}, \
{ 831,11}, { 1663,12}, { 863,10}, { 3455,13}, \
{ 447,12}, { 895,11}, { 1791,14}, { 255,13}, \
{ 511,12}, { 1023,11}, { 2111,12}, { 1087,11}, \
{ 2239,13}, { 575,12}, { 1215,11}, { 2495,13}, \
{ 639,12}, { 1343,13}, { 703,12}, { 1407,14}, \
{ 383,13}, { 767,12}, { 1599,13}, { 831,12}, \
{ 1727,11}, { 3455,12}, { 1791,15}, { 255,14}, \
{ 511,13}, { 1023,12}, { 2111,11}, { 4223,12}, \
{ 2239,11}, { 4479,10}, { 8959,11}, { 4607,13}, \
{ 1215,14}, { 639,13}, { 1343,12}, { 2815,13}, \
{ 1471,12}, { 2943,14}, { 767,13}, { 1599,12}, \
{ 3199,13}, { 1727,12}, { 3455,14}, { 895,13}, \
{ 1855,12}, { 3711,13}, { 1983,12}, { 3967,15}, \
{ 511,14}, { 1023,13}, { 2111,12}, { 4223,13}, \
{ 2239,12}, { 4479,14}, { 1151,13}, { 2495,14}, \
{ 1279,13}, { 2687,14}, { 1407,13}, { 2943,15}, \
{ 767,14}, { 1535,13}, { 3071,14}, { 1663,13}, \
{ 3327,14}, { 1791,16}, { 511,15}, { 1023,14}, \
{ 2047,13}, { 4223,14}, { 2175,13}, { 4479,12}, \
{ 8959,14}, { 2303,13}, { 4735,14}, { 2431,15}, \
{ 1279,14}, { 2943,15}, { 1535,14}, { 3071,13}, \
{ 6143,14}, { 16384,15}, { 32768,16}, { 65536,17}, \
{ 79,10}, { 167,11}, { 95,10}, { 191,11}, \
{ 111,12}, { 63,11}, { 143,10}, { 287, 9}, \
{ 575,10}, { 303,11}, { 159,10}, { 319,12}, \
{ 95,11}, { 191,10}, { 399,11}, { 207,10}, \
{ 431,13}, { 63,12}, { 127,11}, { 271,10}, \
{ 543,11}, { 287,10}, { 575,11}, { 303,12}, \
{ 159,11}, { 335,10}, { 671,11}, { 367,12}, \
{ 191,11}, { 399,10}, { 799,11}, { 431,12}, \
{ 223,11}, { 447,13}, { 127,12}, { 255,11}, \
{ 543,12}, { 287,11}, { 607,12}, { 319,11}, \
{ 671,12}, { 351,11}, { 703,13}, { 191,12}, \
{ 415,11}, { 863,12}, { 447,14}, { 127,13}, \
{ 255,12}, { 607,13}, { 319,12}, { 735,13}, \
{ 383,12}, { 799,11}, { 1599,12}, { 863,13}, \
{ 447,12}, { 927,11}, { 1855,14}, { 255,13}, \
{ 511,12}, { 1055,13}, { 575,12}, { 1215,13}, \
{ 639,12}, { 1279,13}, { 703,14}, { 383,13}, \
{ 767,12}, { 1535,13}, { 831,12}, { 1663,13}, \
{ 895,12}, { 1791,15}, { 255,14}, { 511,13}, \
{ 1087,12}, { 2175,13}, { 1215,14}, { 639,13}, \
{ 1343,12}, { 2687,13}, { 1471,14}, { 767,13}, \
{ 1599,12}, { 3199,13}, { 1663,14}, { 895,13}, \
{ 1855,15}, { 511,14}, { 1023,13}, { 2175,14}, \
{ 1151,13}, { 2431,14}, { 1279,13}, { 2687,14}, \
{ 1407,15}, { 767,14}, { 1535,13}, { 3199,14}, \
{ 1663,13}, { 3455,14}, { 1791,16}, { 65536,17}, \
{ 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
{2097152,22}, {4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 203
#define SQR_FFT_THRESHOLD 7552
#define MUL_FFT_TABLE3_SIZE 155
#define MUL_FFT_THRESHOLD 6272
#define MULLO_BASECASE_THRESHOLD 17
#define MULLO_DC_THRESHOLD 91
#define MULLO_MUL_N_THRESHOLD 19187
#define SQR_FFT_MODF_THRESHOLD 440 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 436, 5}, { 14, 4}, { 29, 5}, { 31, 6}, \
{ 35, 7}, { 18, 6}, { 37, 7}, { 37, 8}, \
{ 19, 7}, { 40, 8}, { 37, 9}, { 19, 8}, \
{ 43, 9}, { 23, 8}, { 49, 9}, { 27, 8}, \
{ 57, 9}, { 43,10}, { 23, 9}, { 55,10}, \
{ 31, 9}, { 71,10}, { 39, 9}, { 83,10}, \
{ 47, 9}, { 99,10}, { 55,11}, { 31,10}, \
{ 87,11}, { 47,10}, { 111,12}, { 31,11}, \
{ 63,10}, { 135,11}, { 79,10}, { 167,11}, \
{ 95,10}, { 191,11}, { 111,12}, { 63,11}, \
{ 127,10}, { 255,11}, { 143,10}, { 287, 9}, \
{ 575,10}, { 303,11}, { 159,10}, { 319,12}, \
{ 95,11}, { 191,10}, { 399,11}, { 207,10}, \
{ 431,13}, { 63,12}, { 127,11}, { 271,10}, \
{ 543,11}, { 303,12}, { 159,11}, { 335,10}, \
{ 671,11}, { 367,10}, { 735,12}, { 191,11}, \
{ 399,10}, { 799,11}, { 431,12}, { 223,11}, \
{ 463,13}, { 127,12}, { 255,11}, { 543,12}, \
{ 287,11}, { 607,12}, { 319,11}, { 671,12}, \
{ 351,11}, { 735,13}, { 191,12}, { 383,11}, \
{ 799,12}, { 415,11}, { 863,12}, { 447,11}, \
{ 895,14}, { 127,13}, { 255,12}, { 543,11}, \
{ 1087,12}, { 607,13}, { 319,12}, { 735,13}, \
{ 383,12}, { 863,13}, { 447,12}, { 959,14}, \
{ 255,13}, { 511,12}, { 1087,13}, { 575,12}, \
{ 1183,13}, { 639,12}, { 1279,13}, { 703,12}, \
{ 1407,14}, { 383,13}, { 767,12}, { 1535,13}, \
{ 831,12}, { 1663,13}, { 895,12}, { 1791,13}, \
{ 959,15}, { 255,14}, { 511,13}, { 1087,12}, \
{ 2175,13}, { 1215,14}, { 639,13}, { 1343,12}, \
{ 2687,13}, { 1471,14}, { 767,13}, { 1663,14}, \
{ 895,13}, { 1919,15}, { 511,14}, { 1023,13}, \
{ 2175,14}, { 1151,13}, { 2431,14}, { 1279,13}, \
{ 2687,14}, { 1407,15}, { 767,14}, { 1535,13}, \
{ 3199,14}, { 1663,13}, { 3455,14}, { 1791,13}, \
{ 8192,14}, { 16384,15}, { 32768,16}, { 65536,17}, \
{ 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
{2097152,22}, {4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 151
#define SQR_FFT_THRESHOLD 4032
#define DC_DIV_QR_THRESHOLD 72
#define DC_DIVAPPR_Q_THRESHOLD 254
#define DC_BDIV_QR_THRESHOLD 117
#define DC_BDIV_Q_THRESHOLD 292
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 62
#define MULLO_MUL_N_THRESHOLD 12322
#define INV_MULMOD_BNM1_THRESHOLD 103
#define INV_NEWTON_THRESHOLD 178
#define INV_APPR_THRESHOLD 179
#define DC_DIV_QR_THRESHOLD 55
#define DC_DIVAPPR_Q_THRESHOLD 220
#define DC_BDIV_QR_THRESHOLD 92
#define DC_BDIV_Q_THRESHOLD 252
#define BINV_NEWTON_THRESHOLD 300
#define REDC_1_TO_REDC_2_THRESHOLD 10
#define REDC_2_TO_REDC_N_THRESHOLD 167
#define INV_MULMOD_BNM1_THRESHOLD 70
#define INV_NEWTON_THRESHOLD 156
#define INV_APPR_THRESHOLD 154
#define MU_DIV_QR_THRESHOLD 1787
#define MU_DIVAPPR_Q_THRESHOLD 1470
#define BINV_NEWTON_THRESHOLD 248
#define REDC_1_TO_REDC_2_THRESHOLD 0 /* always */
#define REDC_2_TO_REDC_N_THRESHOLD 149
#define MU_DIV_QR_THRESHOLD 1142
#define MU_DIVAPPR_Q_THRESHOLD 1142
#define MUPI_DIV_QR_THRESHOLD 0 /* always */
#define MU_BDIV_QR_THRESHOLD 1787
#define MU_BDIV_Q_THRESHOLD 2089
#define MU_BDIV_QR_THRESHOLD 1142
#define MU_BDIV_Q_THRESHOLD 1470
#define MATRIX22_STRASSEN_THRESHOLD 27
#define HGCD_THRESHOLD 139
#define GCD_DC_THRESHOLD 469
#define GCDEXT_DC_THRESHOLD 496
#define JACOBI_BASE_METHOD 1
#define POWM_SEC_TABLE 2,29,298,1897
#define GET_STR_DC_THRESHOLD 14
#define GET_STR_PRECOMPUTE_THRESHOLD 22
#define SET_STR_DC_THRESHOLD 1474
#define SET_STR_PRECOMPUTE_THRESHOLD 3495
#define MATRIX22_STRASSEN_THRESHOLD 19
#define HGCD_THRESHOLD 115
#define HGCD_APPR_THRESHOLD 181
#define HGCD_REDUCE_THRESHOLD 3014
#define GCD_DC_THRESHOLD 555
#define GCDEXT_DC_THRESHOLD 368
#define JACOBI_BASE_METHOD 4
#define GET_STR_DC_THRESHOLD 13
#define GET_STR_PRECOMPUTE_THRESHOLD 21
#define SET_STR_DC_THRESHOLD 1216
#define SET_STR_PRECOMPUTE_THRESHOLD 3170
#define FAC_DSC_THRESHOLD 746
#define FAC_ODD_THRESHOLD 0 /* always */

File diff suppressed because it is too large Load Diff

View File

@ -1,164 +0,0 @@
/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*-
BSD mp compatible functions.
Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software
Foundation, Inc.
This file is part of the GNU MP Library.
The GNU MP Library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
The GNU MP Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#ifndef __MP_H__
/* The following (everything under ifndef __GNU_MP__) must be identical in
gmp.h and mp.h to allow both to be included in an application or during
the library build. Use the t-gmp-mp-h.pl script to check. */
#ifndef __GNU_MP__
#define __GNU_MP__ 5
#define __need_size_t /* tell gcc stddef.h we only want size_t */
#if defined (__cplusplus)
#include <cstddef> /* for size_t */
#else
#include <stddef.h> /* for size_t */
#endif
#undef __need_size_t
/* The following instantiated by configure, for internal use only */
#if ! defined (__GMP_WITHIN_CONFIGURE)
/* #undef _LONG_LONG_LIMB */
#define __GMP_LIBGMP_DLL 0
#endif
#if defined (__STDC__) \
|| defined (__cplusplus) \
|| defined (_AIX) \
|| defined (__DECC) \
|| (defined (__mips) && defined (_SYSTYPE_SVR4)) \
|| defined (_MSC_VER) \
|| defined (_WIN32)
#define __GMP_HAVE_CONST 1
#define __GMP_HAVE_PROTOTYPES 1
#define __GMP_HAVE_TOKEN_PASTE 1
#else
#define __GMP_HAVE_CONST 0
#define __GMP_HAVE_PROTOTYPES 0
#define __GMP_HAVE_TOKEN_PASTE 0
#endif
#if __GMP_HAVE_CONST
#define __gmp_const const
#define __gmp_signed signed
#else
#define __gmp_const
#define __gmp_signed
#endif
#if defined (__GNUC__)
#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__)
#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__)
#endif
#if defined (_MSC_VER) || defined (__BORLANDC__)
#define __GMP_DECLSPEC_EXPORT __declspec(dllexport)
#define __GMP_DECLSPEC_IMPORT __declspec(dllimport)
#endif
#ifdef __WATCOMC__
#define __GMP_DECLSPEC_EXPORT __export
#define __GMP_DECLSPEC_IMPORT __import
#endif
#ifdef __IBMC__
#define __GMP_DECLSPEC_EXPORT _Export
#define __GMP_DECLSPEC_IMPORT _Import
#endif
#if __GMP_LIBGMP_DLL
#if __GMP_WITHIN_GMP
#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT
#else
#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT
#endif
#else
#define __GMP_DECLSPEC
#endif
#ifdef __GMP_SHORT_LIMB
typedef unsigned int mp_limb_t;
typedef int mp_limb_signed_t;
#else
#ifdef _LONG_LONG_LIMB
typedef unsigned long long int mp_limb_t;
typedef long long int mp_limb_signed_t;
#else
typedef unsigned long int mp_limb_t;
typedef long int mp_limb_signed_t;
#endif
#endif
typedef unsigned long int mp_bitcnt_t;
typedef struct
{
int _mp_alloc; /* Number of *limbs* allocated and pointed
to by the _mp_d field. */
int _mp_size; /* abs(_mp_size) is the number of limbs the
last field points to. If _mp_size is
negative this is a negative number. */
mp_limb_t *_mp_d; /* Pointer to the limbs. */
} __mpz_struct;
#endif /* __GNU_MP__ */
/* User-visible types. */
typedef __mpz_struct MINT;
#if __GMP_HAVE_PROTOTYPES
#define __GMP_PROTO(x) x
#else
#define __GMP_PROTO(x) ()
#endif
#if defined (__cplusplus)
extern "C" {
#endif
#define mp_set_memory_functions __gmp_set_memory_functions
__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t),
void *(*) (void *, size_t, size_t),
void (*) (void *, size_t)));
__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int));
__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *));
__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *));
__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *));
__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *));
__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *));
__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *));
__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *));
__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *));
__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *));
__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *));
__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *));
__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *));
__GMP_DECLSPEC void min __GMP_PROTO ((MINT *));
__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *));
__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *));
__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *));
#if defined (__cplusplus)
}
#endif
#define __MP_H__
#endif /* __MP_H__ */