new files to build mips64 gmp

This commit is contained in:
mrg 2011-07-03 13:43:23 +00:00
parent 786cadb243
commit 0520daf5cd
13 changed files with 6791 additions and 0 deletions

View File

@ -0,0 +1,194 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 13:43:23 mrg Exp $
SRCS+= \
random.c \
divrem_2.c \
toom_interpolate_7pts.c \
sbpi1_divappr_q.c \
random2.c \
mu_bdiv_q.c \
toom32_mul.c \
toom44_mul.c \
toom8h_mul.c \
toom2_sqr.c \
zero.c \
mod_1_4.c \
gcdext.c \
binvert.c \
mu_div_q.c \
invertappr.c \
dump.c \
mu_divappr_q.c \
dcpi1_div_qr.c \
redc_1_sec.c \
toom6_sqr.c \
divrem_1.c \
mod_1.c \
divexact.c \
powlo.c \
mul.c \
set_str.c \
toom42_mul.c \
toom_interpolate_6pts.c \
dcpi1_divappr_q.c \
copyd.c \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
com.c \
copyi.c \
toom_couple_handling.c \
add.c \
toom_interpolate_12pts.c \
perfsqr.c \
toom53_mul.c \
toom_eval_pm2exp.c \
mu_div_qr.c \
toom_interpolate_16pts.c \
mod_34lsub1.c \
bdiv_q.c \
toom22_mul.c \
toom4_sqr.c \
div_q.c \
jacbase.c \
gcdext_subdiv_step.c \
mullo_n.c \
toom33_mul.c \
toom_eval_dgr3_pm1.c \
mod_1_2.c \
sub_1.c \
trialdiv.c \
add_1.c \
sqr_basecase.c \
toom_interpolate_5pts.c \
sbpi1_bdiv_q.c \
pre_mod_1.c \
hgcd.c \
bdiv_dbm1c.c \
sqrtrem.c \
bdiv_q_1.c \
gcdext_1.c \
toom63_mul.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 \
sbpi1_bdiv_qr.c \
scan1.c \
pre_divrem_1.c \
perfpow.c \
get_str.c \
mullo_basecase.c \
mulmod_bnm1.c \
tdiv_qr.c \
toom43_mul.c \
mod_1_1.c \
matrix22_mul.c \
powm_sec.c \
divrem.c \
gcd_1.c \
dcpi1_bdiv_qr.c \
mul_n.c \
redc_2.c \
toom6h_mul.c \
mul_fft.c \
sqrmod_bnm1.c \
powm.c \
rootrem.c \
mode1o.c \
toom_interpolate_8pts.c \
remove.c \
lshiftc.c \
dive_1.c \
cmp.c \
toom_eval_pm1.c \
scan0.c \
gcd_subdiv_step.c \
sbpi1_div_qr.c \
invert.c \
sub.c \
toom_eval_pm2rexp.c \
dcpi1_bdiv_q.c \
redc_1.c \
sqr.c \
nussbaumer_mul.c \
mu_bdiv_qr.c \
pow_1.c \
gcd_lehmer.c \
get_d.c \
toom52_mul.c \
sbpi1_div_q.c \
diveby3.c \
fib2_ui.c \
bdiv_qr.c \
toom3_sqr.c \
gcd.c \
redc_n.c \
C_SRCS_LIST= \
xor_n.c mpn/generic/logops_n.c \
nand_n.c mpn/generic/logops_n.c \
nior_n.c mpn/generic/logops_n.c \
hamdist.c mpn/generic/popham.c \
popcount.c mpn/generic/popham.c \
and_n.c mpn/generic/logops_n.c \
ior_n.c mpn/generic/logops_n.c \
xnor_n.c mpn/generic/logops_n.c \
iorn_n.c mpn/generic/logops_n.c \
andn_n.c mpn/generic/logops_n.c \
ASM_SRCS_LIST= \
sqr_diagonal.asm mpn/mips64/sqr_diagonal.asm \
add_n.asm mpn/mips64/add_n.asm \
submul_1.asm mpn/mips64/submul_1.asm \
umul.asm mpn/mips64/umul.asm \
lshift.asm mpn/mips64/lshift.asm \
mul_1.asm mpn/mips64/mul_1.asm \
rshift.asm mpn/mips64/rshift.asm \
addmul_1.asm mpn/mips64/addmul_1.asm \
sub_n.asm mpn/mips64/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
# XXX is this right?
GMP_LIMB_BITS=64
trialdiv.c: trialdivtab.h
trialdivtab.h: gen-trialdivtab
${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h
CLEANFILES+= trialdivtab.h
# XXX stuff looks for "../config.m4"
dummy:
mkdir dummy
${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4
cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET}
.for _build _src in ${ASM_SRCS_LIST}
${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET}
SRCS+= ${_build:R}.s
CLEANFILES+= ${_build:R}.s
.endfor
.for _build _src in ${C_SRCS_LIST}
mpn_${_build}: Makefile
echo '#include "${_src}"' > ${.TARGET}
CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R}
SRCS+= mpn_${_build}
CLEANFILES+= mpn_${_build}
.endfor
COPTS+= -Wno-error

View File

@ -0,0 +1,152 @@
SRCS+= \
random.c \
divrem_2.c \
toom_interpolate_7pts.c \
sbpi1_divappr_q.c \
random2.c \
mu_bdiv_q.c \
toom32_mul.c \
toom44_mul.c \
toom8h_mul.c \
toom2_sqr.c \
zero.c \
mod_1_4.c \
gcdext.c \
binvert.c \
mu_div_q.c \
invertappr.c \
dump.c \
mu_divappr_q.c \
dcpi1_div_qr.c \
redc_1_sec.c \
toom6_sqr.c \
divrem_1.c \
mod_1.c \
divexact.c \
powlo.c \
mul.c \
set_str.c \
toom42_mul.c \
toom_interpolate_6pts.c \
dcpi1_divappr_q.c \
copyd.c \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
com.c \
copyi.c \
toom_couple_handling.c \
add.c \
toom_interpolate_12pts.c \
perfsqr.c \
toom53_mul.c \
toom_eval_pm2exp.c \
mu_div_qr.c \
toom_interpolate_16pts.c \
mod_34lsub1.c \
bdiv_q.c \
toom22_mul.c \
toom4_sqr.c \
div_q.c \
jacbase.c \
gcdext_subdiv_step.c \
mullo_n.c \
toom33_mul.c \
toom_eval_dgr3_pm1.c \
mod_1_2.c \
sub_1.c \
trialdiv.c \
add_1.c \
sqr_basecase.c \
toom_interpolate_5pts.c \
sbpi1_bdiv_q.c \
pre_mod_1.c \
hgcd.c \
bdiv_dbm1c.c \
sqrtrem.c \
bdiv_q_1.c \
gcdext_1.c \
toom63_mul.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 \
sbpi1_bdiv_qr.c \
scan1.c \
pre_divrem_1.c \
perfpow.c \
get_str.c \
mullo_basecase.c \
mulmod_bnm1.c \
tdiv_qr.c \
toom43_mul.c \
mod_1_1.c \
matrix22_mul.c \
powm_sec.c \
divrem.c \
gcd_1.c \
dcpi1_bdiv_qr.c \
mul_n.c \
redc_2.c \
toom6h_mul.c \
mul_fft.c \
sqrmod_bnm1.c \
powm.c \
rootrem.c \
mode1o.c \
toom_interpolate_8pts.c \
remove.c \
lshiftc.c \
dive_1.c \
cmp.c \
toom_eval_pm1.c \
scan0.c \
gcd_subdiv_step.c \
sbpi1_div_qr.c \
invert.c \
sub.c \
toom_eval_pm2rexp.c \
dcpi1_bdiv_q.c \
redc_1.c \
sqr.c \
nussbaumer_mul.c \
mu_bdiv_qr.c \
pow_1.c \
gcd_lehmer.c \
get_d.c \
toom52_mul.c \
sbpi1_div_q.c \
diveby3.c \
fib2_ui.c \
bdiv_qr.c \
toom3_sqr.c \
gcd.c \
redc_n.c \
C_SRCS_LIST= \
xor_n.c mpn/generic/logops_n.c \
nand_n.c mpn/generic/logops_n.c \
nior_n.c mpn/generic/logops_n.c \
hamdist.c mpn/generic/popham.c \
popcount.c mpn/generic/popham.c \
and_n.c mpn/generic/logops_n.c \
ior_n.c mpn/generic/logops_n.c \
xnor_n.c mpn/generic/logops_n.c \
iorn_n.c mpn/generic/logops_n.c \
andn_n.c mpn/generic/logops_n.c \
ASM_SRCS_LIST= \
sqr_diagonal.asm mpn/mips64/sqr_diagonal.asm \
add_n.asm mpn/mips64/add_n.asm \
submul_1.asm mpn/mips64/submul_1.asm \
umul.asm mpn/mips64/umul.asm \
lshift.asm mpn/mips64/lshift.asm \
mul_1.asm mpn/mips64/mul_1.asm \
rshift.asm mpn/mips64/rshift.asm \
addmul_1.asm mpn/mips64/addmul_1.asm \
sub_n.asm mpn/mips64/sub_n.asm \

View File

@ -0,0 +1,587 @@
/* config.h. Generated from config.in by configure. */
/* config.in. Generated from configure.in by autoheader. */
/*
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010 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/.
*/
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* The gmp-mparam.h file (a string) the tune program should suggest updating.
*/
#define GMP_MPARAM_H_SUGGEST "/usr/src3/external/lgpl3/gmp/dist/mpn/mips64/gmp-mparam.h"
/* Define to 1 if you have the `alarm' function. */
#define HAVE_ALARM 1
/* Define to 1 if alloca() works (via gmp-impl.h). */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
/* #undef HAVE_ALLOCA_H */
/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */
#define HAVE_ATTRIBUTE_CONST 1
/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */
#define HAVE_ATTRIBUTE_MALLOC 1
/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX)))
*/
#define HAVE_ATTRIBUTE_MODE 1
/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */
#define HAVE_ATTRIBUTE_NORETURN 1
/* Define to 1 if you have the `attr_get' function. */
/* #undef HAVE_ATTR_GET */
/* Define to 1 if tests/libtests has calling conventions checking for the CPU
*/
/* #undef HAVE_CALLING_CONVENTIONS */
/* Define to 1 if you have the `clock' function. */
#define HAVE_CLOCK 1
/* 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 */
/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't.
*/
#define HAVE_DECL_FGETC 1
/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't.
*/
#define HAVE_DECL_FSCANF 1
/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't.
*/
#define HAVE_DECL_OPTARG 1
/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
don't. */
#define HAVE_DECL_SYS_ERRLIST 1
/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you
don't. */
#define HAVE_DECL_SYS_NERR 1
/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't.
*/
#define HAVE_DECL_UNGETC 1
/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you
don't. */
#define HAVE_DECL_VFPRINTF 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define one of the following to 1 for the format of a `double'.
If your format is not among these choices, or you don't know what it is,
then leave all undefined.
IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves
swapped, as used by ARM CPUs in little endian mode. */
#define HAVE_DOUBLE_IEEE_BIG_ENDIAN 1
/* #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN */
/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */
/* #undef HAVE_DOUBLE_VAX_D */
/* #undef HAVE_DOUBLE_VAX_G */
/* #undef HAVE_DOUBLE_CRAY_CFP */
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1
/* Define to 1 if you have the `getpagesize' function. */
#define HAVE_GETPAGESIZE 1
/* Define to 1 if you have the `getrusage' function. */
#define HAVE_GETRUSAGE 1
/* Define to 1 if you have the `getsysinfo' function. */
/* #undef HAVE_GETSYSINFO */
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define one of these to 1 for the host CPU family.
If your CPU is not in any of these families, leave all undefined.
For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */
/* #undef HAVE_HOST_CPU_FAMILY_alpha */
/* #undef HAVE_HOST_CPU_FAMILY_m68k */
/* #undef HAVE_HOST_CPU_FAMILY_power */
/* #undef HAVE_HOST_CPU_FAMILY_powerpc */
/* #undef HAVE_HOST_CPU_FAMILY_x86 */
/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */
/* Define one of the following to 1 for the host CPU, as per the output of
./config.guess. If your CPU is not listed here, leave all undefined. */
/* #undef HAVE_HOST_CPU_alphaev67 */
/* #undef HAVE_HOST_CPU_alphaev68 */
/* #undef HAVE_HOST_CPU_alphaev7 */
/* #undef HAVE_HOST_CPU_m68020 */
/* #undef HAVE_HOST_CPU_m68030 */
/* #undef HAVE_HOST_CPU_m68040 */
/* #undef HAVE_HOST_CPU_m68060 */
/* #undef HAVE_HOST_CPU_m68360 */
/* #undef HAVE_HOST_CPU_powerpc604 */
/* #undef HAVE_HOST_CPU_powerpc604e */
/* #undef HAVE_HOST_CPU_powerpc750 */
/* #undef HAVE_HOST_CPU_powerpc7400 */
/* #undef HAVE_HOST_CPU_supersparc */
/* #undef HAVE_HOST_CPU_i386 */
/* #undef HAVE_HOST_CPU_i586 */
/* #undef HAVE_HOST_CPU_i686 */
/* #undef HAVE_HOST_CPU_pentium */
/* #undef HAVE_HOST_CPU_pentiummmx */
/* #undef HAVE_HOST_CPU_pentiumpro */
/* #undef HAVE_HOST_CPU_pentium2 */
/* #undef HAVE_HOST_CPU_pentium3 */
/* Define to 1 if the system has the type `intmax_t'. */
#define HAVE_INTMAX_T 1
/* Define to 1 if the system has the type `intptr_t'. */
#define HAVE_INTPTR_T 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <invent.h> header file. */
/* #undef HAVE_INVENT_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define one of these to 1 for the endianness of `mp_limb_t'.
If the endianness is not a simple big or little, or you don't know what
it is, then leave both undefined. */
#define HAVE_LIMB_BIG_ENDIAN 1
/* #undef HAVE_LIMB_LITTLE_ENDIAN */
/* Define to 1 if you have the `localeconv' function. */
#define HAVE_LOCALECONV 1
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if the system has the type `long double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the system has the type `long long'. */
#define HAVE_LONG_LONG 1
/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
/* #undef HAVE_MACHINE_HAL_SYSINFO_H */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the `mmap' function. */
#define HAVE_MMAP 1
/* Define to 1 if you have the `mprotect' function. */
#define HAVE_MPROTECT 1
/* 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 */
/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */
/* #undef HAVE_NATIVE_mpn_addlsh1_n */
/* #undef HAVE_NATIVE_mpn_addlsh2_n */
/* #undef HAVE_NATIVE_mpn_addlsh_n */
/* #undef HAVE_NATIVE_mpn_addmul_1c */
/* #undef HAVE_NATIVE_mpn_addmul_2 */
/* #undef HAVE_NATIVE_mpn_addmul_3 */
/* #undef HAVE_NATIVE_mpn_addmul_4 */
/* #undef HAVE_NATIVE_mpn_addmul_5 */
/* #undef HAVE_NATIVE_mpn_addmul_6 */
/* #undef HAVE_NATIVE_mpn_addmul_7 */
/* #undef HAVE_NATIVE_mpn_addmul_8 */
/* #undef HAVE_NATIVE_mpn_and_n */
/* #undef HAVE_NATIVE_mpn_andn_n */
/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */
/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_com */
/* #undef HAVE_NATIVE_mpn_copyd */
/* #undef HAVE_NATIVE_mpn_copyi */
/* #undef HAVE_NATIVE_mpn_divexact_1 */
/* #undef HAVE_NATIVE_mpn_divexact_by3c */
/* #undef HAVE_NATIVE_mpn_divrem_1 */
/* #undef HAVE_NATIVE_mpn_divrem_1c */
/* #undef HAVE_NATIVE_mpn_divrem_2 */
/* #undef HAVE_NATIVE_mpn_gcd_1 */
/* #undef HAVE_NATIVE_mpn_hamdist */
/* #undef HAVE_NATIVE_mpn_invert_limb */
/* #undef HAVE_NATIVE_mpn_ior_n */
/* #undef HAVE_NATIVE_mpn_iorn_n */
#define HAVE_NATIVE_mpn_lshift 1
/* #undef HAVE_NATIVE_mpn_lshiftc */
/* #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 */
/* #undef HAVE_NATIVE_mpn_modexact_1_odd */
/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */
#define HAVE_NATIVE_mpn_mul_1 1
/* #undef HAVE_NATIVE_mpn_mul_1c */
/* #undef HAVE_NATIVE_mpn_mul_2 */
/* #undef HAVE_NATIVE_mpn_mul_3 */
/* #undef HAVE_NATIVE_mpn_mul_4 */
/* #undef HAVE_NATIVE_mpn_mul_basecase */
/* #undef HAVE_NATIVE_mpn_nand_n */
/* #undef HAVE_NATIVE_mpn_nior_n */
/* #undef HAVE_NATIVE_mpn_popcount */
/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */
/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */
/* #undef HAVE_NATIVE_mpn_redc_1 */
/* #undef HAVE_NATIVE_mpn_redc_2 */
/* #undef HAVE_NATIVE_mpn_rsblsh1_n */
/* #undef HAVE_NATIVE_mpn_rsblsh2_n */
/* #undef HAVE_NATIVE_mpn_rsblsh_n */
/* #undef HAVE_NATIVE_mpn_rsh1add_n */
/* #undef HAVE_NATIVE_mpn_rsh1add_nc */
/* #undef HAVE_NATIVE_mpn_rsh1sub_n */
/* #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
#define HAVE_NATIVE_mpn_sub_n 1
/* #undef HAVE_NATIVE_mpn_sub_nc */
/* #undef HAVE_NATIVE_mpn_sublsh1_n */
/* #undef HAVE_NATIVE_mpn_sublsh2_n */
/* #undef HAVE_NATIVE_mpn_sublsh_n */
/* #undef HAVE_NATIVE_mpn_submul_1c */
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd */
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */
#define HAVE_NATIVE_mpn_umul_ppmm 1
/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */
/* #undef HAVE_NATIVE_mpn_xor_n */
/* #undef HAVE_NATIVE_mpn_xnor_n */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the <nl_types.h> header file. */
#define HAVE_NL_TYPES_H 1
/* Define to 1 if you have the `obstack_vprintf' function. */
/* #undef HAVE_OBSTACK_VPRINTF */
/* Define to 1 if you have the `popen' function. */
#define HAVE_POPEN 1
/* Define to 1 if you have the `processor_info' function. */
/* #undef HAVE_PROCESSOR_INFO */
/* Define to 1 if <sys/pstat.h> `struct pst_processor' exists and contains
`psp_iticksperclktick'. */
/* #undef HAVE_PSP_ITICKSPERCLKTICK */
/* Define to 1 if you have the `pstat_getprocessor' function. */
/* #undef HAVE_PSTAT_GETPROCESSOR */
/* Define to 1 if the system has the type `ptrdiff_t'. */
#define HAVE_PTRDIFF_T 1
/* Define to 1 if the system has the type `quad_t'. */
#define HAVE_QUAD_T 1
/* Define to 1 if you have the `raise' function. */
#define HAVE_RAISE 1
/* Define to 1 if you have the `read_real_time' function. */
/* #undef HAVE_READ_REAL_TIME */
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the `sigaltstack' function. */
#define HAVE_SIGALTSTACK 1
/* Define to 1 if you have the `sigstack' function. */
/* #undef HAVE_SIGSTACK */
/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */
/* #undef HAVE_SPEED_CYCLECOUNTER */
/* Define to 1 if you have the <sstream> header file. */
/* #undef HAVE_SSTREAM */
/* Define to 1 if the system has the type `stack_t'. */
#define HAVE_STACK_T 1
/* Define to 1 if <stdarg.h> exists and works */
#define HAVE_STDARG 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if the system has the type `std::locale'. */
/* #undef HAVE_STD__LOCALE */
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if cpp supports the ANSI # stringizing operator. */
#define HAVE_STRINGIZE 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if you have the `sysconf' function. */
#define HAVE_SYSCONF 1
/* Define to 1 if you have the `sysctl' function. */
#define HAVE_SYSCTL 1
/* Define to 1 if you have the `sysctlbyname' function. */
#define HAVE_SYSCTLBYNAME 1
/* Define to 1 if you have the `syssgi' function. */
/* #undef HAVE_SYSSGI */
/* Define to 1 if you have the <sys/attributes.h> header file. */
/* #undef HAVE_SYS_ATTRIBUTES_H */
/* Define to 1 if you have the <sys/iograph.h> header file. */
/* #undef HAVE_SYS_IOGRAPH_H */
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/processor.h> header file. */
/* #undef HAVE_SYS_PROCESSOR_H */
/* Define to 1 if you have the <sys/pstat.h> header file. */
/* #undef HAVE_SYS_PSTAT_H */
/* Define to 1 if you have the <sys/resource.h> header file. */
#define HAVE_SYS_RESOURCE_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#define HAVE_SYS_SYSCTL_H 1
/* Define to 1 if you have the <sys/sysinfo.h> header file. */
/* #undef HAVE_SYS_SYSINFO_H */
/* Define to 1 if you have the <sys/syssgi.h> header file. */
/* #undef HAVE_SYS_SYSSGI_H */
/* Define to 1 if you have the <sys/systemcfg.h> header file. */
/* #undef HAVE_SYS_SYSTEMCFG_H */
/* Define to 1 if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the `times' function. */
#define HAVE_TIMES 1
/* Define to 1 if the system has the type `uint_least32_t'. */
#define HAVE_UINT_LEAST32_T 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `vsnprintf' function and it works properly. */
#define HAVE_VSNPRINTF 1
/* Assembler local label prefix */
#define LSYM_PREFIX ".L"
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "gmp"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org"
/* 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 to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gmp"
/* Define to the home page for this package. */
#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 as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* The size of `mp_limb_t', as computed by sizeof. */
#define SIZEOF_MP_LIMB_T 8
/* The size of `unsigned', as computed by sizeof. */
#define SIZEOF_UNSIGNED 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* The size of `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 4
/* Define to 1 if sscanf requires writable inputs */
/* #undef SSCANF_WRITABLE_INPUT */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */
#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC
/* Version number of package */
#define VERSION "5.0.2"
/* Define to 1 to enable ASSERT checking, per --enable-assert */
/* #undef WANT_ASSERT */
/* Define to 1 when building a fat binary. */
/* #undef WANT_FAT_BINARY */
/* Define to 1 to enable FFTs for multiplication, per --enable-fft */
#define WANT_FFT 1
/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per
--enable-old-fft-full */
/* #undef WANT_OLD_FFT_FULL */
/* Define to 1 if --enable-profiling=gprof */
/* #undef WANT_PROFILING_GPROF */
/* Define to 1 if --enable-profiling=instrument */
/* #undef WANT_PROFILING_INSTRUMENT */
/* Define to 1 if --enable-profiling=prof */
/* #undef WANT_PROFILING_PROF */
/* Define one of these to 1 for the desired temporary memory allocation
method, per --enable-alloca. */
#define WANT_TMP_ALLOCA 1
/* #undef WANT_TMP_REENTRANT */
/* #undef WANT_TMP_NOTREENTRANT */
/* #undef WANT_TMP_DEBUG */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`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
/* #undef inline */
#endif
/* Define to the equivalent of the C99 'restrict' keyword, or to
nothing if this is not supported. Do not define if restrict is
supported directly. */
#define restrict __restrict
/* Work around a bug in Sun C++: it does not support _Restrict or
__restrict__, even though the corresponding Sun C compiler ends up with
"#define restrict _Restrict" or "#define restrict __restrict__" in the
previous line. Perhaps some future version of Sun C++ will work with
restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
#if defined __SUNPRO_CC && !defined __RESTRICT
# define _Restrict
# define __restrict__
#endif
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
/* #undef volatile */

View File

@ -0,0 +1,35 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
define(<CONFIG_TOP_SRCDIR>,<`/usr/src3/external/lgpl3/gmp/dist'>)
define(<WANT_ASSERT>,0)
define(<WANT_PROFILING>,<`no'>)
define(<M4WRAP_SPURIOUS>,<no>)
define(<TEXT>, <.text>)
define(<DATA>, <.data>)
define(<LABEL_SUFFIX>, <:>)
define(<GLOBL>, <.globl>)
define(<GLOBL_ATTR>, <>)
define(<GSYM_PREFIX>, <>)
define(<RODATA>, < .rdata>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<yes>)
define(<SQR_TOOM2_THRESHOLD>,<32>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,64)
define(<GMP_NAIL_BITS>,0)
define(<GMP_NUMB_BITS>,eval(GMP_LIMB_BITS-GMP_NAIL_BITS))
>)
changequote(`,')
ifdef(`__CONFIG_M4_INCLUDED__',,`
include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4')
include_mpn(`mips32/mips-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_mips64')
define_not_for_expansion(`HAVE_ABI_n32')
define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN')
define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN')
')
define(`__CONFIG_M4_INCLUDED__')

View File

@ -0,0 +1,62 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 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/. */
#define GMP_LIMB_BITS 64
#define BYTES_PER_MP_LIMB 8
/* Generated by tuneup.c, 2004-02-10, gcc 3.2 & MIPSpro C 7.2.1 (R1x000) */
#define MUL_TOOM22_THRESHOLD 16
#define MUL_TOOM33_THRESHOLD 89
#define SQR_BASECASE_THRESHOLD 6
#define SQR_TOOM2_THRESHOLD 32
#define SQR_TOOM3_THRESHOLD 98
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
#define DIV_DC_THRESHOLD 53
#define POWM_THRESHOLD 61
#define HGCD_THRESHOLD 116
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 492
#define JACOBI_BASE_METHOD 2
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define USE_PREINV_DIVREM_1 1
#define USE_PREINV_MOD_1 1
#define DIVREM_2_THRESHOLD 0 /* always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always */
#define GET_STR_DC_THRESHOLD 21
#define GET_STR_PRECOMPUTE_THRESHOLD 26
#define SET_STR_THRESHOLD 3962
#define MUL_FFT_TABLE { 368, 736, 1600, 3328, 7168, 20480, 49152, 0 }
#define MUL_FFT_MODF_THRESHOLD 264
#define MUL_FFT_THRESHOLD 1920
#define SQR_FFT_TABLE { 368, 736, 1856, 3328, 7168, 20480, 49152, 0 }
#define SQR_FFT_MODF_THRESHOLD 280
#define SQR_FFT_THRESHOLD 1920

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,164 @@
/* 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)
#define _LONG_LONG_LIMB 1
#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__ */

View File

@ -0,0 +1,181 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 13:43:23 mrg Exp $
SRCS+= \
random.c \
divrem_2.c \
toom_interpolate_7pts.c \
sbpi1_divappr_q.c \
random2.c \
mu_bdiv_q.c \
toom32_mul.c \
toom44_mul.c \
toom8h_mul.c \
toom2_sqr.c \
zero.c \
mod_1_4.c \
gcdext.c \
binvert.c \
mu_div_q.c \
invertappr.c \
dump.c \
mu_divappr_q.c \
dcpi1_div_qr.c \
redc_1_sec.c \
toom6_sqr.c \
divrem_1.c \
mod_1.c \
divexact.c \
powlo.c \
mul.c \
set_str.c \
toom42_mul.c \
toom_interpolate_6pts.c \
dcpi1_divappr_q.c \
copyd.c \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
com.c \
copyi.c \
lshift.c \
toom_couple_handling.c \
add.c \
toom_interpolate_12pts.c \
perfsqr.c \
toom53_mul.c \
toom_eval_pm2exp.c \
mu_div_qr.c \
toom_interpolate_16pts.c \
mod_34lsub1.c \
bdiv_q.c \
toom22_mul.c \
rshift.c \
toom4_sqr.c \
div_q.c \
jacbase.c \
gcdext_subdiv_step.c \
mullo_n.c \
toom33_mul.c \
toom_eval_dgr3_pm1.c \
mod_1_2.c \
sub_1.c \
trialdiv.c \
add_1.c \
sqr_basecase.c \
toom_interpolate_5pts.c \
sbpi1_bdiv_q.c \
pre_mod_1.c \
hgcd.c \
bdiv_dbm1c.c \
sqrtrem.c \
bdiv_q_1.c \
gcdext_1.c \
toom63_mul.c \
mul_basecase.c \
toom8_sqr.c \
addmul_1.c \
neg.c \
gcdext_lehmer.c \
divis.c \
dcpi1_div_q.c \
mul_1.c \
sub_n.c \
subcnd_n.c \
add_n.c \
toom_eval_pm2.c \
hgcd2.c \
toom62_mul.c \
sbpi1_bdiv_qr.c \
scan1.c \
pre_divrem_1.c \
perfpow.c \
get_str.c \
mulmod_bnm1.c \
mullo_basecase.c \
tdiv_qr.c \
toom43_mul.c \
mod_1_1.c \
matrix22_mul.c \
powm_sec.c \
divrem.c \
gcd_1.c \
dcpi1_bdiv_qr.c \
mul_n.c \
redc_2.c \
submul_1.c \
toom6h_mul.c \
sqrmod_bnm1.c \
mul_fft.c \
powm.c \
rootrem.c \
mode1o.c \
toom_interpolate_8pts.c \
remove.c \
lshiftc.c \
dive_1.c \
cmp.c \
toom_eval_pm1.c \
scan0.c \
gcd_subdiv_step.c \
sbpi1_div_qr.c \
invert.c \
sub.c \
toom_eval_pm2rexp.c \
dcpi1_bdiv_q.c \
redc_1.c \
sqr.c \
nussbaumer_mul.c \
mu_bdiv_qr.c \
pow_1.c \
gcd_lehmer.c \
get_d.c \
toom52_mul.c \
sbpi1_div_q.c \
diveby3.c \
fib2_ui.c \
bdiv_qr.c \
toom3_sqr.c \
gcd.c \
redc_n.c \
C_SRCS_LIST= \
xor_n.c mpn/generic/logops_n.c \
nand_n.c mpn/generic/logops_n.c \
nior_n.c mpn/generic/logops_n.c \
hamdist.c mpn/generic/popham.c \
popcount.c mpn/generic/popham.c \
and_n.c mpn/generic/logops_n.c \
ior_n.c mpn/generic/logops_n.c \
xnor_n.c mpn/generic/logops_n.c \
iorn_n.c mpn/generic/logops_n.c \
andn_n.c mpn/generic/logops_n.c \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
# XXX is this right?
GMP_LIMB_BITS=64
trialdiv.c: trialdivtab.h
trialdivtab.h: gen-trialdivtab
${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h
CLEANFILES+= trialdivtab.h
# XXX stuff looks for "../config.m4"
dummy:
mkdir dummy
${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4
cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET}
.for _build _src in ${C_SRCS_LIST}
mpn_${_build}: Makefile
echo '#include "${_src}"' > ${.TARGET}
CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R}
SRCS+= mpn_${_build}
CLEANFILES+= mpn_${_build}
.endfor
COPTS+= -Wno-error

View File

@ -0,0 +1,587 @@
/* config.h. Generated from config.in by configure. */
/* config.in. Generated from configure.in by autoheader. */
/*
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010 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/.
*/
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* The gmp-mparam.h file (a string) the tune program should suggest updating.
*/
#define GMP_MPARAM_H_SUGGEST "/usr/src3/external/lgpl3/gmp/dist/mpn/mips64/gmp-mparam.h"
/* Define to 1 if you have the `alarm' function. */
#define HAVE_ALARM 1
/* Define to 1 if alloca() works (via gmp-impl.h). */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
/* #undef HAVE_ALLOCA_H */
/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */
#define HAVE_ATTRIBUTE_CONST 1
/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */
#define HAVE_ATTRIBUTE_MALLOC 1
/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX)))
*/
#define HAVE_ATTRIBUTE_MODE 1
/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */
#define HAVE_ATTRIBUTE_NORETURN 1
/* Define to 1 if you have the `attr_get' function. */
/* #undef HAVE_ATTR_GET */
/* Define to 1 if tests/libtests has calling conventions checking for the CPU
*/
/* #undef HAVE_CALLING_CONVENTIONS */
/* Define to 1 if you have the `clock' function. */
#define HAVE_CLOCK 1
/* 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 */
/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't.
*/
#define HAVE_DECL_FGETC 1
/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't.
*/
#define HAVE_DECL_FSCANF 1
/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't.
*/
#define HAVE_DECL_OPTARG 1
/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
don't. */
#define HAVE_DECL_SYS_ERRLIST 1
/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you
don't. */
#define HAVE_DECL_SYS_NERR 1
/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't.
*/
#define HAVE_DECL_UNGETC 1
/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you
don't. */
#define HAVE_DECL_VFPRINTF 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define one of the following to 1 for the format of a `double'.
If your format is not among these choices, or you don't know what it is,
then leave all undefined.
IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves
swapped, as used by ARM CPUs in little endian mode. */
/* #undef HAVE_DOUBLE_IEEE_BIG_ENDIAN */
#define HAVE_DOUBLE_IEEE_LITTLE_ENDIAN 1
/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */
/* #undef HAVE_DOUBLE_VAX_D */
/* #undef HAVE_DOUBLE_VAX_G */
/* #undef HAVE_DOUBLE_CRAY_CFP */
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1
/* Define to 1 if you have the `getpagesize' function. */
#define HAVE_GETPAGESIZE 1
/* Define to 1 if you have the `getrusage' function. */
#define HAVE_GETRUSAGE 1
/* Define to 1 if you have the `getsysinfo' function. */
/* #undef HAVE_GETSYSINFO */
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define one of these to 1 for the host CPU family.
If your CPU is not in any of these families, leave all undefined.
For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */
/* #undef HAVE_HOST_CPU_FAMILY_alpha */
/* #undef HAVE_HOST_CPU_FAMILY_m68k */
/* #undef HAVE_HOST_CPU_FAMILY_power */
/* #undef HAVE_HOST_CPU_FAMILY_powerpc */
/* #undef HAVE_HOST_CPU_FAMILY_x86 */
/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */
/* Define one of the following to 1 for the host CPU, as per the output of
./config.guess. If your CPU is not listed here, leave all undefined. */
/* #undef HAVE_HOST_CPU_alphaev67 */
/* #undef HAVE_HOST_CPU_alphaev68 */
/* #undef HAVE_HOST_CPU_alphaev7 */
/* #undef HAVE_HOST_CPU_m68020 */
/* #undef HAVE_HOST_CPU_m68030 */
/* #undef HAVE_HOST_CPU_m68040 */
/* #undef HAVE_HOST_CPU_m68060 */
/* #undef HAVE_HOST_CPU_m68360 */
/* #undef HAVE_HOST_CPU_powerpc604 */
/* #undef HAVE_HOST_CPU_powerpc604e */
/* #undef HAVE_HOST_CPU_powerpc750 */
/* #undef HAVE_HOST_CPU_powerpc7400 */
/* #undef HAVE_HOST_CPU_supersparc */
/* #undef HAVE_HOST_CPU_i386 */
/* #undef HAVE_HOST_CPU_i586 */
/* #undef HAVE_HOST_CPU_i686 */
/* #undef HAVE_HOST_CPU_pentium */
/* #undef HAVE_HOST_CPU_pentiummmx */
/* #undef HAVE_HOST_CPU_pentiumpro */
/* #undef HAVE_HOST_CPU_pentium2 */
/* #undef HAVE_HOST_CPU_pentium3 */
/* Define to 1 if the system has the type `intmax_t'. */
#define HAVE_INTMAX_T 1
/* Define to 1 if the system has the type `intptr_t'. */
#define HAVE_INTPTR_T 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <invent.h> header file. */
/* #undef HAVE_INVENT_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define one of these to 1 for the endianness of `mp_limb_t'.
If the endianness is not a simple big or little, or you don't know what
it is, then leave both undefined. */
/* #undef HAVE_LIMB_BIG_ENDIAN */
#define HAVE_LIMB_LITTLE_ENDIAN 1
/* Define to 1 if you have the `localeconv' function. */
#define HAVE_LOCALECONV 1
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if the system has the type `long double'. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the system has the type `long long'. */
#define HAVE_LONG_LONG 1
/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
/* #undef HAVE_MACHINE_HAL_SYSINFO_H */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the `mmap' function. */
#define HAVE_MMAP 1
/* Define to 1 if you have the `mprotect' function. */
#define HAVE_MPROTECT 1
/* 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 */
/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */
/* #undef HAVE_NATIVE_mpn_addlsh1_n */
/* #undef HAVE_NATIVE_mpn_addlsh2_n */
/* #undef HAVE_NATIVE_mpn_addlsh_n */
/* #undef HAVE_NATIVE_mpn_addmul_1c */
/* #undef HAVE_NATIVE_mpn_addmul_2 */
/* #undef HAVE_NATIVE_mpn_addmul_3 */
/* #undef HAVE_NATIVE_mpn_addmul_4 */
/* #undef HAVE_NATIVE_mpn_addmul_5 */
/* #undef HAVE_NATIVE_mpn_addmul_6 */
/* #undef HAVE_NATIVE_mpn_addmul_7 */
/* #undef HAVE_NATIVE_mpn_addmul_8 */
/* #undef HAVE_NATIVE_mpn_and_n */
/* #undef HAVE_NATIVE_mpn_andn_n */
/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */
/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_com */
/* #undef HAVE_NATIVE_mpn_copyd */
/* #undef HAVE_NATIVE_mpn_copyi */
/* #undef HAVE_NATIVE_mpn_divexact_1 */
/* #undef HAVE_NATIVE_mpn_divexact_by3c */
/* #undef HAVE_NATIVE_mpn_divrem_1 */
/* #undef HAVE_NATIVE_mpn_divrem_1c */
/* #undef HAVE_NATIVE_mpn_divrem_2 */
/* #undef HAVE_NATIVE_mpn_gcd_1 */
/* #undef HAVE_NATIVE_mpn_hamdist */
/* #undef HAVE_NATIVE_mpn_invert_limb */
/* #undef HAVE_NATIVE_mpn_ior_n */
/* #undef HAVE_NATIVE_mpn_iorn_n */
#define HAVE_NATIVE_mpn_lshift 1
/* #undef HAVE_NATIVE_mpn_lshiftc */
/* #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 */
/* #undef HAVE_NATIVE_mpn_modexact_1_odd */
/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */
#define HAVE_NATIVE_mpn_mul_1 1
/* #undef HAVE_NATIVE_mpn_mul_1c */
/* #undef HAVE_NATIVE_mpn_mul_2 */
/* #undef HAVE_NATIVE_mpn_mul_3 */
/* #undef HAVE_NATIVE_mpn_mul_4 */
/* #undef HAVE_NATIVE_mpn_mul_basecase */
/* #undef HAVE_NATIVE_mpn_nand_n */
/* #undef HAVE_NATIVE_mpn_nior_n */
/* #undef HAVE_NATIVE_mpn_popcount */
/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */
/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */
/* #undef HAVE_NATIVE_mpn_redc_1 */
/* #undef HAVE_NATIVE_mpn_redc_2 */
/* #undef HAVE_NATIVE_mpn_rsblsh1_n */
/* #undef HAVE_NATIVE_mpn_rsblsh2_n */
/* #undef HAVE_NATIVE_mpn_rsblsh_n */
/* #undef HAVE_NATIVE_mpn_rsh1add_n */
/* #undef HAVE_NATIVE_mpn_rsh1add_nc */
/* #undef HAVE_NATIVE_mpn_rsh1sub_n */
/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */
#define HAVE_NATIVE_mpn_rshift 1
/* #undef HAVE_NATIVE_mpn_sqr_basecase */
/* #undef HAVE_NATIVE_mpn_sqr_diagonal */
#define HAVE_NATIVE_mpn_sub_n 1
/* #undef HAVE_NATIVE_mpn_sub_nc */
/* #undef HAVE_NATIVE_mpn_sublsh1_n */
/* #undef HAVE_NATIVE_mpn_sublsh2_n */
/* #undef HAVE_NATIVE_mpn_sublsh_n */
/* #undef HAVE_NATIVE_mpn_submul_1c */
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd */
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */
#define HAVE_NATIVE_mpn_umul_ppmm 1
/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */
/* #undef HAVE_NATIVE_mpn_xor_n */
/* #undef HAVE_NATIVE_mpn_xnor_n */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the <nl_types.h> header file. */
#define HAVE_NL_TYPES_H 1
/* Define to 1 if you have the `obstack_vprintf' function. */
/* #undef HAVE_OBSTACK_VPRINTF */
/* Define to 1 if you have the `popen' function. */
#define HAVE_POPEN 1
/* Define to 1 if you have the `processor_info' function. */
/* #undef HAVE_PROCESSOR_INFO */
/* Define to 1 if <sys/pstat.h> `struct pst_processor' exists and contains
`psp_iticksperclktick'. */
/* #undef HAVE_PSP_ITICKSPERCLKTICK */
/* Define to 1 if you have the `pstat_getprocessor' function. */
/* #undef HAVE_PSTAT_GETPROCESSOR */
/* Define to 1 if the system has the type `ptrdiff_t'. */
#define HAVE_PTRDIFF_T 1
/* Define to 1 if the system has the type `quad_t'. */
#define HAVE_QUAD_T 1
/* Define to 1 if you have the `raise' function. */
#define HAVE_RAISE 1
/* Define to 1 if you have the `read_real_time' function. */
/* #undef HAVE_READ_REAL_TIME */
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the `sigaltstack' function. */
#define HAVE_SIGALTSTACK 1
/* Define to 1 if you have the `sigstack' function. */
/* #undef HAVE_SIGSTACK */
/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */
/* #undef HAVE_SPEED_CYCLECOUNTER */
/* Define to 1 if you have the <sstream> header file. */
/* #undef HAVE_SSTREAM */
/* Define to 1 if the system has the type `stack_t'. */
#define HAVE_STACK_T 1
/* Define to 1 if <stdarg.h> exists and works */
#define HAVE_STDARG 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if the system has the type `std::locale'. */
/* #undef HAVE_STD__LOCALE */
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if cpp supports the ANSI # stringizing operator. */
#define HAVE_STRINGIZE 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if you have the `sysconf' function. */
#define HAVE_SYSCONF 1
/* Define to 1 if you have the `sysctl' function. */
#define HAVE_SYSCTL 1
/* Define to 1 if you have the `sysctlbyname' function. */
#define HAVE_SYSCTLBYNAME 1
/* Define to 1 if you have the `syssgi' function. */
/* #undef HAVE_SYSSGI */
/* Define to 1 if you have the <sys/attributes.h> header file. */
/* #undef HAVE_SYS_ATTRIBUTES_H */
/* Define to 1 if you have the <sys/iograph.h> header file. */
/* #undef HAVE_SYS_IOGRAPH_H */
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/processor.h> header file. */
/* #undef HAVE_SYS_PROCESSOR_H */
/* Define to 1 if you have the <sys/pstat.h> header file. */
/* #undef HAVE_SYS_PSTAT_H */
/* Define to 1 if you have the <sys/resource.h> header file. */
#define HAVE_SYS_RESOURCE_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#define HAVE_SYS_SYSCTL_H 1
/* Define to 1 if you have the <sys/sysinfo.h> header file. */
/* #undef HAVE_SYS_SYSINFO_H */
/* Define to 1 if you have the <sys/syssgi.h> header file. */
/* #undef HAVE_SYS_SYSSGI_H */
/* Define to 1 if you have the <sys/systemcfg.h> header file. */
/* #undef HAVE_SYS_SYSTEMCFG_H */
/* Define to 1 if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the `times' function. */
#define HAVE_TIMES 1
/* Define to 1 if the system has the type `uint_least32_t'. */
#define HAVE_UINT_LEAST32_T 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `vsnprintf' function and it works properly. */
#define HAVE_VSNPRINTF 1
/* Assembler local label prefix */
#define LSYM_PREFIX ".L"
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "gmp"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org"
/* 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 to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gmp"
/* Define to the home page for this package. */
#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 as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* The size of `mp_limb_t', as computed by sizeof. */
#define SIZEOF_MP_LIMB_T 8
/* The size of `unsigned', as computed by sizeof. */
#define SIZEOF_UNSIGNED 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* The size of `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 4
/* Define to 1 if sscanf requires writable inputs */
/* #undef SSCANF_WRITABLE_INPUT */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */
#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC
/* Version number of package */
#define VERSION "5.0.2"
/* Define to 1 to enable ASSERT checking, per --enable-assert */
/* #undef WANT_ASSERT */
/* Define to 1 when building a fat binary. */
/* #undef WANT_FAT_BINARY */
/* Define to 1 to enable FFTs for multiplication, per --enable-fft */
#define WANT_FFT 1
/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per
--enable-old-fft-full */
/* #undef WANT_OLD_FFT_FULL */
/* Define to 1 if --enable-profiling=gprof */
/* #undef WANT_PROFILING_GPROF */
/* Define to 1 if --enable-profiling=instrument */
/* #undef WANT_PROFILING_INSTRUMENT */
/* Define to 1 if --enable-profiling=prof */
/* #undef WANT_PROFILING_PROF */
/* Define one of these to 1 for the desired temporary memory allocation
method, per --enable-alloca. */
#define WANT_TMP_ALLOCA 1
/* #undef WANT_TMP_REENTRANT */
/* #undef WANT_TMP_NOTREENTRANT */
/* #undef WANT_TMP_DEBUG */
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`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
/* #undef inline */
#endif
/* Define to the equivalent of the C99 'restrict' keyword, or to
nothing if this is not supported. Do not define if restrict is
supported directly. */
#define restrict __restrict
/* Work around a bug in Sun C++: it does not support _Restrict or
__restrict__, even though the corresponding Sun C compiler ends up with
"#define restrict _Restrict" or "#define restrict __restrict__" in the
previous line. Perhaps some future version of Sun C++ will work with
restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
#if defined __SUNPRO_CC && !defined __RESTRICT
# define _Restrict
# define __restrict__
#endif
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
/* #undef volatile */

View File

@ -0,0 +1,35 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
define(<CONFIG_TOP_SRCDIR>,<`/usr/src3/external/lgpl3/gmp/dist'>)
define(<WANT_ASSERT>,0)
define(<WANT_PROFILING>,<`no'>)
define(<M4WRAP_SPURIOUS>,<no>)
define(<TEXT>, <.text>)
define(<DATA>, <.data>)
define(<LABEL_SUFFIX>, <:>)
define(<GLOBL>, <.globl>)
define(<GLOBL_ATTR>, <>)
define(<GSYM_PREFIX>, <>)
define(<RODATA>, < .rdata>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<yes>)
define(<SQR_TOOM2_THRESHOLD>,<32>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,64)
define(<GMP_NAIL_BITS>,0)
define(<GMP_NUMB_BITS>,eval(GMP_LIMB_BITS-GMP_NAIL_BITS))
>)
changequote(`,')
ifdef(`__CONFIG_M4_INCLUDED__',,`
include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4')
include_mpn(`mips32/mips-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_mips64el')
define_not_for_expansion(`HAVE_ABI_n32')
define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN')
define_not_for_expansion(`HAVE_DOUBLE_IEEE_LITTLE_ENDIAN')
')
define(`__CONFIG_M4_INCLUDED__')

View File

@ -0,0 +1,62 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 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/. */
#define GMP_LIMB_BITS 64
#define BYTES_PER_MP_LIMB 8
/* Generated by tuneup.c, 2004-02-10, gcc 3.2 & MIPSpro C 7.2.1 (R1x000) */
#define MUL_TOOM22_THRESHOLD 16
#define MUL_TOOM33_THRESHOLD 89
#define SQR_BASECASE_THRESHOLD 6
#define SQR_TOOM2_THRESHOLD 32
#define SQR_TOOM3_THRESHOLD 98
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
#define DIV_DC_THRESHOLD 53
#define POWM_THRESHOLD 61
#define HGCD_THRESHOLD 116
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 492
#define JACOBI_BASE_METHOD 2
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define USE_PREINV_DIVREM_1 1
#define USE_PREINV_MOD_1 1
#define DIVREM_2_THRESHOLD 0 /* always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always */
#define GET_STR_DC_THRESHOLD 21
#define GET_STR_PRECOMPUTE_THRESHOLD 26
#define SET_STR_THRESHOLD 3962
#define MUL_FFT_TABLE { 368, 736, 1600, 3328, 7168, 20480, 49152, 0 }
#define MUL_FFT_MODF_THRESHOLD 264
#define MUL_FFT_THRESHOLD 1920
#define SQR_FFT_TABLE { 368, 736, 1856, 3328, 7168, 20480, 49152, 0 }
#define SQR_FFT_MODF_THRESHOLD 280
#define SQR_FFT_THRESHOLD 1920

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,164 @@
/* 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)
#define _LONG_LONG_LIMB 1
#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__ */