Import lib{mpc,gmp,mpfr}

This decreases external dependencies for crosscompilation. Note that
these libraries are not built nor used by Minix itself.

Furthermore, the shell scripts that download the tarballs for these
libraries, gcc, binutils, and gmake now also support curl in addition
to wget.
This commit is contained in:
Thomas Veerman 2012-06-25 09:15:27 +00:00
parent f8c6b27b69
commit e3209ae766
135 changed files with 64846 additions and 7 deletions

26
external/lgpl2/mpc/fetch.sh vendored Executable file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# Make sure we're in our directory (i.e., where this shell script is)
echo $0
cd `dirname $0`
url="http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz"
# Fetch sources if not available
if [ ! -d dist ];
then
if [ ! -f mpc-0.9.tar.gz ];
then
which curl >/dev/null
if [ $? -eq 0 ]; then
curl -O $url
else
# Default to wget
wget $url
fi
fi
tar -xf mpc-0.9.tar.gz
mv mpc-0.9 dist
fi

102
external/lgpl2/mpc/lib/libmpc/Makefile vendored Normal file
View file

@ -0,0 +1,102 @@
# $NetBSD: Makefile,v 1.5 2011/09/21 02:06:42 mrg Exp $
.include <bsd.init.mk>
# We don't install mpc, just provide it for GCC.
LIBISPRIVATE?= yes
.if ${LIBISPRIVATE} != "yes"
INCS= mpc.h mpc-log.h
INCSDIR= /usr/include
.endif
LIB= mpc
LIBDPLIBS+= gmp ${.CURDIR}/../../../../lgpl3/gmp/lib/libgmp
LIBDPLIBS+= mpfr ${.CURDIR}/../../../../lgpl3/mpfr/lib/libmpfr
SRCS= \
abs.c \
acos.c \
acosh.c \
add.c \
add_fr.c \
add_si.c \
add_ui.c \
arg.c \
asin.c \
asinh.c \
atan.c \
atanh.c \
clear.c \
cmp.c \
cmp_si_si.c \
conj.c \
cosh.c \
div_2exp.c \
div.c \
div_fr.c \
div_ui.c \
exp.c \
fma.c \
fr_div.c \
fr_sub.c \
get.c \
get_prec2.c \
get_prec.c \
get_str.c \
get_version.c \
imag.c \
init2.c \
init3.c \
inp_str.c \
log.c \
mem.c \
mul_2exp.c \
mul.c \
mul_fr.c \
mul_i.c \
mul_si.c \
mul_ui.c \
neg.c \
norm.c \
out_str.c \
pow.c \
pow_fr.c \
pow_ld.c \
pow_d.c \
pow_si.c \
pow_ui.c \
pow_z.c \
proj.c \
real.c \
urandom.c \
set.c \
set_prec.c \
set_str.c \
set_x.c \
set_x_x.c \
sin_cos.c \
sinh.c \
sqr.c \
sqrt.c \
strtoc.c \
sub.c \
sub_fr.c \
sub_ui.c \
swap.c \
tan.c \
tanh.c \
uceil_log2.c \
ui_div.c \
ui_ui_sub.c
CPPFLAGS+= -I${.CURDIR}
# Find <mpfr.h> and <gmp.h>
CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${MACHINE_ARCH}
CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/mpfr/dist
.include <bsd.lib.mk>
.PATH: ${.CURDIR}/../../dist/src

118
external/lgpl2/mpc/lib/libmpc/config.h vendored Normal file
View file

@ -0,0 +1,118 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have the <complex.h> header file. */
#define HAVE_COMPLEX_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the `dup' function. */
#define HAVE_DUP 1
/* Define to 1 if you have the `dup2' function. */
#define HAVE_DUP2 1
/* Define to 1 if you have the `fileno' function. */
#define HAVE_FILENO 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if the system has the type `intptr_t'. */
/* #undef HAVE_INTPTR_T */
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Library dl present */
/* #undef HAVE_LIBDL */
/* Define to 1 if you have the `m' library (-lm). */
#define HAVE_LIBM 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 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 you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 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 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 <sys/stat.h> header file. */
#define HAVE_SYS_STAT_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 <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Do not check mpc_out_str on stdout */
/* #undef NO_STREAM_REDIRECTION */
/* Name of package */
#define PACKAGE "mpc"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "mpc-discuss@lists.gforge.inria.fr"
/* Define to the full name of this package. */
#define PACKAGE_NAME "mpc"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "mpc 0.9"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "mpc"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "0.9"
/* Define to 1 if you have the ANSI C header files. */
/* #undef STDC_HEADERS */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Version number of package */
#define VERSION "0.9"
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to the type of a signed integer type wide enough to hold a pointer,
if such a type exists, and if the system does not define it. */
/* #undef intptr_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */

View file

@ -0,0 +1,6 @@
# $NetBSD: shlib_version,v 1.1 2011/06/21 04:23:56 mrg Exp $
# Remember to update distrib/sets/lists/base/shl.* when changing
#
major=2
minor=0

19
external/lgpl3/gmp/Makefile.netbsd-gmp vendored Normal file
View file

@ -0,0 +1,19 @@
# $NetBSD: Makefile.netbsd-gmp,v 1.1 2011/10/30 01:50:32 mrg Exp $
# hack makefile to help build gmp ./configure
.include <bsd.own.mk>
CCADDFLAGS= --sysroot=${DESTDIR} -L${DESTDIR}/lib -L${DESTDIR}/usr/lib -B${DESTDIR}/usr/lib/ -I${.OBJDIR}/.native/gcc/include
TARGET=hppa-netbsd
#TARGET=mips64el-netbsd
ENV_ARGS=\
CC=${CC:Q}' '${CCADDFLAGS:Q} \
CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \
AS=${AS:Q} AWK=${TOOL_AWK:Q} LD=${LD:Q} \
NM=${NM:Q} OBJDUMP=${OBJDUMP:Q} \
LIBS=-lintl
all:
env ${ENV_ARGS} /usr/src3/external/lgpl3/gmp/dist/configure --host=${TARGET} --target=${TARGET}

51
external/lgpl3/gmp/README vendored Normal file
View file

@ -0,0 +1,51 @@
$NetBSD: README,v 1.3 2012/03/20 08:21:38 mrg Exp $
GMP in NetBSD. We need GMP for GCC >= 4.2.
Building GMP without configure - how to port GMP build to a new platform.
The GMP build doesn't map very well to normal make. The ./configure phase
creates a bunch of symlinks and weeds out the sources lists, and there are
files with the same name in different subdirectories linked into the same
final product. All of these issues need to be dealt with.
There are a few steps to this:
- run ./configure, save the output
- create src/external/gpl3/gmp/lib/libgmp/arch/${MACHINE_ARCH} dir,
and copy these files into it:
config.h
config.m4
gmp-mparam.h
gmp.h
mp.h
some of these files might have src/obj references. in particular
fix GMP_MPARAM_H_SUGGEST to start from ./mpn/... and make sure
we #define __GMP_CC to "gcc -std=gnu99". XXX make this automatic
- parse the ./configure output and note all created symlinks
for mpn. these need to be converted into a new Makefile.inc.
there is a script in this subdir build-gmp-Makefile.inc.awk
that can be used to do this. it should just work to generate
the first section of Makefile.inc if fed the entire configure
output.
assembler files generally want -DOPERATION_${foo} defined for
each way they are compiled or pre-processed. the pre-processor
used is m4 to parse, and we and create .s files from the .asm
files that we then we feed into $CC.
The amd64 port is a good reference to compare. The trialdivtab.h
generation may need to be moved the into libgmp/Makefile itself.
This is still a work in progress and methods used to build may be
changed at any time.
mrg@netbsd.org
- 2011/06/22

View file

@ -0,0 +1,37 @@
#! /usr/bin/awk -f
/^config.status: linking/ {
# $3 = src
# $5 = dst
sub(/mpn\//, "", $5)
sub(/.*external\/lgpl3\/gmp\/dist\//, "", $3)
srcname = $3
sub(/.*\//, "", srcname)
if (match($3, /\.c$/)) {
if ($5 == srcname) {
c_list[$5] = $3
} else {
c_src_list[$5] = $3
}
} else if (match($3, /\.(asm|s|S)$/)) {
asm_list[$5] = $3
}
}
END {
printf("SRCS+= \\\n");
for (c in c_list) {
printf("\t%s \\\n", c)
}
printf("\nC_SRCS_LIST= \\\n");
for (c in c_src_list) {
printf("\t%s\t\t%s \\\n", c, c_src_list[c])
}
printf("\nASM_SRCS_LIST= \\\n");
for (asm in asm_list) {
printf("\t%s\t\t%s \\\n", asm, asm_list[asm])
}
}

26
external/lgpl3/gmp/fetch.sh vendored Executable file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# Make sure we're in our directory (i.e., where this shell script is)
echo $0
cd `dirname $0`
url="ftp://ftp.gmplib.org/pub/gmp-5.0.2/gmp-5.0.2.tar.bz2"
# Fetch sources if not available
if [ ! -d dist ];
then
if [ ! -f gmp-5.0.2.tar.bz2 ];
then
which curl >/dev/null
if [ $? -eq 0 ]; then
curl -O $url
else
# Default to wget
wget $url
fi
fi
tar -xf gmp-5.0.2.tar.bz2
mv gmp-5.0.2 dist
fi

198
external/lgpl3/gmp/lib/libgmp/Makefile vendored Normal file
View file

@ -0,0 +1,198 @@
# $NetBSD: Makefile,v 1.12 2011/09/21 02:06:42 mrg Exp $
.include <bsd.init.mk>
# We don't install gmp, just provide it for GCC.
LIBISPRIVATE?= yes
.if ${LIBISPRIVATE} != "yes"
INCS= gmp.h
INCSDIR= /usr/include
.endif
DIST=${.CURDIR}/../../dist
LIB= gmp
MPF_SRCS = \
init.c init2.c inits.c set.c \
set_ui.c set_si.c set_str.c set_d.c \
set_z.c iset.c iset_ui.c iset_si.c \
iset_str.c iset_d.c clear.c clears.c \
get_str.c dump.c size.c eq.c reldiff.c \
sqrt.c random2.c inp_str.c out_str.c \
add.c add_ui.c sub.c sub_ui.c ui_sub.c \
mul.c mul_ui.c div.c div_ui.c \
cmp.c cmp_d.c cmp_ui.c cmp_si.c \
mul_2exp.c div_2exp.c abs.c neg.c \
set_q.c get_d.c get_d_2exp.c set_dfl_prec.c \
set_prc.c set_prc_raw.c get_dfl_prec.c \
get_prc.c ui_div.c sqrt_ui.c \
ceilfloor.c trunc.c pow_ui.c \
urandomb.c swap.c \
fits_sint.c fits_slong.c fits_sshort.c \
fits_uint.c fits_ulong.c fits_ushort.c \
get_si.c get_ui.c \
int_p.c
MPZ_SRCS = \
abs.c add.c add_ui.c \
aorsmul.c aorsmul_i.c and.c array_init.c \
bin_ui.c bin_uiui.c \
cdiv_q.c cdiv_q_ui.c \
cdiv_qr.c cdiv_qr_ui.c \
cdiv_r.c cdiv_r_ui.c cdiv_ui.c \
cfdiv_q_2exp.c cfdiv_r_2exp.c \
clear.c clears.c clrbit.c \
cmp.c cmp_d.c cmp_si.c cmp_ui.c \
cmpabs.c cmpabs_d.c cmpabs_ui.c \
com.c combit.c \
cong.c cong_2exp.c cong_ui.c \
divexact.c divegcd.c dive_ui.c \
divis.c divis_ui.c divis_2exp.c dump.c \
export.c fac_ui.c fdiv_q.c \
fdiv_q_ui.c fdiv_qr.c fdiv_qr_ui.c \
fdiv_r.c fdiv_r_ui.c \
fdiv_ui.c fib_ui.c fib2_ui.c fits_sint.c \
fits_slong.c fits_sshort.c fits_uint.c \
fits_ulong.c fits_ushort.c gcd.c \
gcd_ui.c gcdext.c get_d.c get_d_2exp.c \
get_si.c get_str.c get_ui.c getlimbn.c \
hamdist.c \
import.c init.c init2.c inits.c \
inp_raw.c inp_str.c invert.c \
ior.c iset.c iset_d.c iset_si.c \
iset_str.c iset_ui.c jacobi.c kronsz.c \
kronuz.c kronzs.c kronzu.c \
lcm.c lcm_ui.c lucnum_ui.c lucnum2_ui.c \
millerrabin.c mod.c mul.c mul_2exp.c \
mul_si.c mul_ui.c \
n_pow_ui.c neg.c nextprime.c \
out_raw.c out_str.c perfpow.c perfsqr.c \
popcount.c pow_ui.c powm.c powm_sec.c \
powm_ui.c pprime_p.c random.c random2.c \
realloc.c realloc2.c remove.c \
root.c rootrem.c rrandomb.c scan0.c \
scan1.c set.c set_d.c set_f.c \
set_q.c set_si.c set_str.c set_ui.c \
setbit.c \
size.c sizeinbase.c sqrt.c \
sqrtrem.c sub.c sub_ui.c swap.c \
tdiv_ui.c tdiv_q.c tdiv_q_2exp.c \
tdiv_q_ui.c tdiv_qr.c tdiv_qr_ui.c \
tdiv_r.c tdiv_r_2exp.c tdiv_r_ui.c \
tstbit.c ui_pow_ui.c ui_sub.c urandomb.c \
urandomm.c xor.c
MPQ_SRCS = \
abs.c aors.c \
canonicalize.c clear.c clears.c \
cmp.c cmp_si.c cmp_ui.c div.c \
get_d.c get_den.c get_num.c get_str.c \
init.c inits.c inp_str.c inv.c \
md_2exp.c mul.c neg.c out_str.c \
set.c set_den.c set_num.c \
set_si.c set_str.c set_ui.c \
equal.c set_z.c set_d.c \
set_f.c swap.c
MPN_GENERIC_SRCS = \
popcount.c \
hamdist.c
PRINTF_SRCS = \
asprintf.c asprntffuns.c \
doprnt.c doprntf.c doprnti.c \
fprintf.c \
obprintf.c obvprintf.c obprntffuns.c \
printf.c printffuns.c \
snprintf.c snprntffuns.c \
sprintf.c sprintffuns.c \
vasprintf.c vfprintf.c vprintf.c \
vsnprintf.c vsprintf.c \
repl-vsnprintf.c
SCANF_SRCS = \
doscan.c fscanf.c fscanffuns.c \
scanf.c sscanf.c sscanffuns.c \
vfscanf.c vscanf.c vsscanf.c
SRCS+= \
assert.c compat.c errno.c extract-dbl.c invalid.c memory.c \
mp_bpl.c mp_clz_tab.c mp_dv_tab.c mp_minv_tab.c mp_get_fns.c \
mp_set_fns.c rand.c randclr.c randdef.c randiset.c randlc2s.c \
randlc2x.c randmt.c randmts.c rands.c randsd.c randsdui.c \
randbui.c randmui.c version.c nextprime.c
SRCS+= tal-reent.c
# these are generated
SRCS+= fib_table.c mp_bases.c
# Build the files that may have multiple identical base names under
# different names.
.for _dir _srcfile in \
${MPF_SRCS:C/^/mpf /} \
${MPZ_SRCS:C/^/mpz /} \
${MPQ_SRCS:C/^/mpq /} \
${PRINTF_SRCS:C/^/printf /} \
${SCANF_SRCS:C/^/scanf /}
${_dir}_${_srcfile}: #Makefile
echo '#include "'${_dir}/${_srcfile}'"' > ${.TARGET}
SRCS+= ${_dir}_${_srcfile}
CLEANFILES+= ${_dir}_${_srcfile}
.endfor
CPPFLAGS+= -I. -I${DIST} -I${.CURDIR}/arch/${MACHINE_ARCH} -D__GMP_WITHIN_GMP -DHAVE_CONFIG_H
WITHOUT_MAN= yes
DPSRCS= fac_ui.h fib_table.h fib_table.c mp_bases.h mp_bases.c perfsqr.h
fac_ui.h: gen-fac_ui.c
${HOST_CC} -o ${.OBJDIR}/gen-fac_ui ${.ALLSRC}
${.OBJDIR}/gen-fac_ui ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/fac_ui.h
gen-fib: gen-fib.c
${HOST_CC} -o ${.OBJDIR}/gen-fib ${.ALLSRC}
fib_table.h: gen-fib
${.OBJDIR}/gen-fib header ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/fib_table.h
fib_table.c: gen-fib
${.OBJDIR}/gen-fib table ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/fib_table.c
gen-bases: gen-bases.c
${HOST_CC} -o ${.OBJDIR}/gen-bases ${.ALLSRC} -lm
mp_bases.h: gen-bases
${.OBJDIR}/gen-bases header ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/mp_bases.h
mp_bases.c: gen-bases
${.OBJDIR}/gen-bases table ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/mp_bases.c
perfsqr.h: gen-psqr.c
${HOST_CC} -o ${.OBJDIR}/gen-psqr ${.ALLSRC}
${.OBJDIR}/gen-psqr ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/perfsqr.h
CLEANFILES+= ${DPSRCS} gen-fac_ui gen-fib gen-bases gen-psqr gen-trialdivtab
.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
.include <bsd.lib.mk>
.PATH: ${DIST} \
${DIST}/mpn/generic \
${.CURDIR}/arch/${MACHINE_ARCH} \
${DIST}/mpf \
${DIST}/mpz
# Don't warn about functions which cannot be stack smash protected as
# there are a lot of them.
.if defined(HAVE_GCC) || defined(HAVE_PCC)
COPTS += -Wno-stack-protector
.endif
CWARNFLAGS.clang+= -Wno-unused-value -Wno-tautological-compare

View file

@ -0,0 +1,194 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/07 02:06:32 mrg Exp $
SRCS+= \
random.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 \
dcpi1_div_qr.c \
mu_divappr_q.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 \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
toom_couple_handling.c \
add.c \
toom_interpolate_12pts.c \
perfsqr.c \
toom53_mul.c \
toom_eval_pm2exp.c \
toom_interpolate_16pts.c \
mu_div_qr.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 \
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 \
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/alpha/sqr_diagonal.asm \
add_n.asm mpn/alpha/add_n.asm \
sublsh1_n.asm mpn/alpha/aorslsh1_n.asm \
cntlz.asm mpn/alpha/cntlz.asm \
submul_1.asm mpn/alpha/submul_1.asm \
umul.asm mpn/alpha/umul.asm \
lshift.asm mpn/alpha/lshift.asm \
mul_1.asm mpn/alpha/mul_1.asm \
copyd.asm mpn/alpha/copyd.asm \
bdiv_dbm1c.asm mpn/alpha/bdiv_dbm1c.asm \
com.asm mpn/alpha/com.asm \
copyi.asm mpn/alpha/copyi.asm \
rshift.asm mpn/alpha/rshift.asm \
mod_34lsub1.asm mpn/alpha/mod_34lsub1.asm \
mode1o.asm mpn/alpha/mode1o.asm \
addlsh1_n.asm mpn/alpha/aorslsh1_n.asm \
invert_limb.asm mpn/alpha/invert_limb.asm \
addmul_1.asm mpn/alpha/addmul_1.asm \
divrem_2.asm mpn/alpha/divrem_2.asm \
sub_n.asm mpn/alpha/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
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

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 "./mpn/alpha/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. */
#define HAVE_HOST_CPU_FAMILY_alpha 1
/* #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 */
#define HAVE_NATIVE_mpn_addlsh1_n 1
/* #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 */
#define HAVE_NATIVE_mpn_bdiv_dbm1c 1
/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */
#define HAVE_NATIVE_mpn_com 1
#define HAVE_NATIVE_mpn_copyd 1
#define HAVE_NATIVE_mpn_copyi 1
/* #undef HAVE_NATIVE_mpn_divexact_1 */
/* #undef HAVE_NATIVE_mpn_divexact_by3c */
/* #undef HAVE_NATIVE_mpn_divrem_1 */
/* #undef HAVE_NATIVE_mpn_divrem_1c */
#define HAVE_NATIVE_mpn_divrem_2 1
/* #undef HAVE_NATIVE_mpn_gcd_1 */
/* #undef HAVE_NATIVE_mpn_hamdist */
#define HAVE_NATIVE_mpn_invert_limb 1
/* #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 */
#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
#define HAVE_NATIVE_mpn_mul_1c 1
/* #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 */
#define HAVE_NATIVE_mpn_sublsh1_n 1
/* #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) */
#define HAVE_SPEED_CYCLECOUNTER 1
/* 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 "$"
/* 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 8
/* 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 8
/* 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(<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>, < .section .sdata,"aws",@progbits>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <$>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<yes>)
define(<SQR_TOOM2_THRESHOLD>,<20>)
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(`alpha/alpha-defs.m4')
include_mpn(`alpha/default.m4')
define_not_for_expansion(`HAVE_HOST_CPU_alpha')
define_not_for_expansion(`HAVE_ABI_standard')
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,75 @@
/* Alpha EV4 gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2009
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
/* 175MHz 21064 */
/* Generated by tuneup.c, 2009-01-15, gcc 3.2 */
#define MUL_TOOM22_THRESHOLD 12
#define MUL_TOOM33_THRESHOLD 69
#define MUL_TOOM44_THRESHOLD 88
#define SQR_BASECASE_THRESHOLD 4
#define SQR_TOOM2_THRESHOLD 20
#define SQR_TOOM3_THRESHOLD 62
#define SQR_TOOM4_THRESHOLD 155
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 40
#define MULLO_MUL_N_THRESHOLD 202
#define DIV_SB_PREINV_THRESHOLD 0 /* preinv always */
#define DIV_DC_THRESHOLD 38
#define POWM_THRESHOLD 60
#define MATRIX22_STRASSEN_THRESHOLD 17
#define HGCD_THRESHOLD 80
#define GCD_DC_THRESHOLD 237
#define GCDEXT_DC_THRESHOLD 198
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_1_THRESHOLD 2
#define MOD_1_2_THRESHOLD 9
#define MOD_1_4_THRESHOLD 20
#define USE_PREINV_DIVREM_1 1 /* preinv always */
#define USE_PREINV_MOD_1 1 /* preinv always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always */
#define GET_STR_DC_THRESHOLD 20
#define GET_STR_PRECOMPUTE_THRESHOLD 37
#define SET_STR_DC_THRESHOLD 746
#define SET_STR_PRECOMPUTE_THRESHOLD 1332
#define MUL_FFT_TABLE { 240, 480, 1344, 2304, 5120, 20480, 49152, 0 }
#define MUL_FFT_MODF_THRESHOLD 232
#define MUL_FFT_THRESHOLD 1664
#define SQR_FFT_TABLE { 240, 480, 1216, 2304, 5120, 12288, 49152, 0 }
#define SQR_FFT_MODF_THRESHOLD 232
#define SQR_FFT_THRESHOLD 1408

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)
/* #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__ */

View file

@ -0,0 +1,196 @@
# $NetBSD: Makefile.inc,v 1.3 2011/07/10 02:41:50 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 \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
com.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 \
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= \
add_n.asm mpn/arm/add_n.asm \
submul_1.asm mpn/arm/submul_1.asm \
mul_1.asm mpn/arm/mul_1.asm \
copyd.asm mpn/arm/copyd.asm \
udiv.asm mpn/arm/udiv.asm \
copyi.asm mpn/arm/copyi.asm \
invert_limb.asm mpn/arm/invert_limb.asm \
addmul_1.asm mpn/arm/addmul_1.asm \
sub_n.asm mpn/arm/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
GMP_LIMB_BITS=32
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}
BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn
M4FLAGS= -DPIC
COPTS+= -fPIC
.for _build _src in ${ASM_SRCS_LIST}
${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \
${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \
-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

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 "./mpn/arm/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 */
#define HAVE_NATIVE_mpn_copyd 1
#define HAVE_NATIVE_mpn_copyi 1
/* #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 */
#define HAVE_NATIVE_mpn_invert_limb 1
/* #undef HAVE_NATIVE_mpn_ior_n */
/* #undef HAVE_NATIVE_mpn_iorn_n */
/* #undef HAVE_NATIVE_mpn_lshift */
/* #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 */
/* #undef HAVE_NATIVE_mpn_rshift */
/* #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 */
#define HAVE_NATIVE_mpn_udiv_qrnnd 1
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
/* #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 4
/* 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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .rodata>)
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>,<78>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`arm/arm-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_arm')
define_not_for_expansion(`HAVE_ABI_standard')
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,142 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 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 GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
/* 593MHz ARM (gcc50.fsffrance.org) */
#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 17
#define MOD_1U_TO_MOD_1_1_THRESHOLD 9
#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX
#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 27
#define USE_PREINV_DIVREM_1 1 /* preinv always */
#define DIVREM_2_THRESHOLD 0 /* preinv always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define BMOD_1_TO_MOD_1_THRESHOLD 44
#define MUL_TOOM22_THRESHOLD 34
#define MUL_TOOM33_THRESHOLD 121
#define MUL_TOOM44_THRESHOLD 191
#define MUL_TOOM6H_THRESHOLD 366
#define MUL_TOOM8H_THRESHOLD 547
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 191
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 117
#define MUL_TOOM42_TO_TOOM63_THRESHOLD 137
#define SQR_BASECASE_THRESHOLD 13
#define SQR_TOOM2_THRESHOLD 78
#define SQR_TOOM3_THRESHOLD 141
#define SQR_TOOM4_THRESHOLD 212
#define SQR_TOOM6_THRESHOLD 330
#define SQR_TOOM8_THRESHOLD 422
#define MULMOD_BNM1_THRESHOLD 21
#define SQRMOD_BNM1_THRESHOLD 25
#define MUL_FFT_MODF_THRESHOLD 404 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 404, 5}, { 21, 6}, { 11, 5}, { 25, 6}, \
{ 13, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \
{ 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \
{ 39, 7}, { 21, 6}, { 43, 7}, { 29, 8}, \
{ 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \
{ 23, 7}, { 49, 8}, { 27, 7}, { 55, 9}, \
{ 15, 8}, { 31, 7}, { 63, 8}, { 43, 9}, \
{ 23, 8}, { 55, 9}, { 31, 8}, { 71, 9}, \
{ 39, 8}, { 83, 9}, { 47, 8}, { 99, 9}, \
{ 55,10}, { 31, 9}, { 63, 8}, { 127, 9}, \
{ 79,10}, { 47, 9}, { 103,11}, { 31,10}, \
{ 63, 9}, { 135,10}, { 95, 9}, { 191,10}, \
{ 111,11}, { 63,10}, { 127, 9}, { 255,10}, \
{ 143, 9}, { 287,10}, { 159, 9}, { 319,11}, \
{ 95,10}, { 191, 9}, { 383,10}, { 207,12}, \
{ 63,11}, { 127,10}, { 287,11}, { 159,10}, \
{ 351,11}, { 191,10}, { 415,11}, { 223,12}, \
{ 127,11}, { 255,10}, { 511,11}, { 319,10}, \
{ 639,11}, { 351,12}, { 191,11}, { 415,13}, \
{ 8192,14}, { 16384,15}, { 32768,16} }
#define MUL_FFT_TABLE3_SIZE 79
#define MUL_FFT_THRESHOLD 5760
#define SQR_FFT_MODF_THRESHOLD 400 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 400, 5}, { 25, 6}, { 13, 5}, { 27, 6}, \
{ 25, 7}, { 13, 6}, { 28, 7}, { 15, 6}, \
{ 32, 7}, { 19, 6}, { 39, 7}, { 29, 8}, \
{ 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \
{ 23, 7}, { 47, 8}, { 27, 7}, { 55, 9}, \
{ 15, 8}, { 39, 9}, { 23, 8}, { 55,10}, \
{ 15, 9}, { 31, 8}, { 67, 9}, { 39, 8}, \
{ 79, 9}, { 47, 8}, { 95, 9}, { 55,10}, \
{ 31, 9}, { 79,10}, { 47, 9}, { 103,11}, \
{ 31,10}, { 63, 9}, { 135,10}, { 79, 9}, \
{ 159, 8}, { 319,10}, { 95, 9}, { 191,10}, \
{ 111,11}, { 63,10}, { 127, 9}, { 271,10}, \
{ 143, 9}, { 303,10}, { 159,11}, { 95,10}, \
{ 191, 9}, { 383,10}, { 207,12}, { 63,11}, \
{ 127,10}, { 303,11}, { 159,10}, { 367,11}, \
{ 191,10}, { 415,11}, { 223,10}, { 447,12}, \
{ 127,11}, { 255,10}, { 511,11}, { 287,10}, \
{ 607,11}, { 319,10}, { 639,11}, { 351,12}, \
{ 191,11}, { 447,13}, { 8192,14}, { 16384,15}, \
{ 32768,16} }
#define SQR_FFT_TABLE3_SIZE 77
#define SQR_FFT_THRESHOLD 3136
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 120
#define MULLO_MUL_N_THRESHOLD 11317
#define DC_DIV_QR_THRESHOLD 134
#define DC_DIVAPPR_Q_THRESHOLD 442
#define DC_BDIV_QR_THRESHOLD 127
#define DC_BDIV_Q_THRESHOLD 296
#define INV_MULMOD_BNM1_THRESHOLD 66
#define INV_NEWTON_THRESHOLD 458
#define INV_APPR_THRESHOLD 454
#define BINV_NEWTON_THRESHOLD 494
#define REDC_1_TO_REDC_N_THRESHOLD 116
#define MU_DIV_QR_THRESHOLD 2914
#define MU_DIVAPPR_Q_THRESHOLD 3091
#define MUPI_DIV_QR_THRESHOLD 221
#define MU_BDIV_QR_THRESHOLD 2259
#define MU_BDIV_Q_THRESHOLD 2747
#define MATRIX22_STRASSEN_THRESHOLD 17
#define HGCD_THRESHOLD 109
#define GCD_DC_THRESHOLD 697
#define GCDEXT_DC_THRESHOLD 535
#define JACOBI_BASE_METHOD 2
#define GET_STR_DC_THRESHOLD 14
#define GET_STR_PRECOMPUTE_THRESHOLD 29
#define SET_STR_DC_THRESHOLD 321
#define SET_STR_PRECOMPUTE_THRESHOLD 1037

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)
/* #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__ */

View file

@ -0,0 +1,196 @@
# $NetBSD: Makefile.inc,v 1.3 2011/07/10 02:41:50 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 \
toom_eval_dgr3_pm2.c \
mod_1_3.c \
com.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 \
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= \
add_n.asm mpn/arm/add_n.asm \
submul_1.asm mpn/arm/submul_1.asm \
mul_1.asm mpn/arm/mul_1.asm \
copyd.asm mpn/arm/copyd.asm \
udiv.asm mpn/arm/udiv.asm \
copyi.asm mpn/arm/copyi.asm \
invert_limb.asm mpn/arm/invert_limb.asm \
addmul_1.asm mpn/arm/addmul_1.asm \
sub_n.asm mpn/arm/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
GMP_LIMB_BITS=32
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}
BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn
M4FLAGS= -DPIC
COPTS+= -fPIC
.for _build _src in ${ASM_SRCS_LIST}
${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \
${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \
-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

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 "./mpn/arm/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 */
#define HAVE_NATIVE_mpn_copyd 1
#define HAVE_NATIVE_mpn_copyi 1
/* #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 */
#define HAVE_NATIVE_mpn_invert_limb 1
/* #undef HAVE_NATIVE_mpn_ior_n */
/* #undef HAVE_NATIVE_mpn_iorn_n */
/* #undef HAVE_NATIVE_mpn_lshift */
/* #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 */
/* #undef HAVE_NATIVE_mpn_rshift */
/* #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 */
#define HAVE_NATIVE_mpn_udiv_qrnnd 1
/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
/* #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 4
/* 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
# define WORDS_BIGENDIAN 1
# 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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .rodata>)
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>,<78>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`arm/arm-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_arm')
define_not_for_expansion(`HAVE_ABI_standard')
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,142 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 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 GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
/* 593MHz ARM (gcc50.fsffrance.org) */
#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 17
#define MOD_1U_TO_MOD_1_1_THRESHOLD 9
#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX
#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 27
#define USE_PREINV_DIVREM_1 1 /* preinv always */
#define DIVREM_2_THRESHOLD 0 /* preinv always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define BMOD_1_TO_MOD_1_THRESHOLD 44
#define MUL_TOOM22_THRESHOLD 34
#define MUL_TOOM33_THRESHOLD 121
#define MUL_TOOM44_THRESHOLD 191
#define MUL_TOOM6H_THRESHOLD 366
#define MUL_TOOM8H_THRESHOLD 547
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 191
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 117
#define MUL_TOOM42_TO_TOOM63_THRESHOLD 137
#define SQR_BASECASE_THRESHOLD 13
#define SQR_TOOM2_THRESHOLD 78
#define SQR_TOOM3_THRESHOLD 141
#define SQR_TOOM4_THRESHOLD 212
#define SQR_TOOM6_THRESHOLD 330
#define SQR_TOOM8_THRESHOLD 422
#define MULMOD_BNM1_THRESHOLD 21
#define SQRMOD_BNM1_THRESHOLD 25
#define MUL_FFT_MODF_THRESHOLD 404 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 404, 5}, { 21, 6}, { 11, 5}, { 25, 6}, \
{ 13, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \
{ 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \
{ 39, 7}, { 21, 6}, { 43, 7}, { 29, 8}, \
{ 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \
{ 23, 7}, { 49, 8}, { 27, 7}, { 55, 9}, \
{ 15, 8}, { 31, 7}, { 63, 8}, { 43, 9}, \
{ 23, 8}, { 55, 9}, { 31, 8}, { 71, 9}, \
{ 39, 8}, { 83, 9}, { 47, 8}, { 99, 9}, \
{ 55,10}, { 31, 9}, { 63, 8}, { 127, 9}, \
{ 79,10}, { 47, 9}, { 103,11}, { 31,10}, \
{ 63, 9}, { 135,10}, { 95, 9}, { 191,10}, \
{ 111,11}, { 63,10}, { 127, 9}, { 255,10}, \
{ 143, 9}, { 287,10}, { 159, 9}, { 319,11}, \
{ 95,10}, { 191, 9}, { 383,10}, { 207,12}, \
{ 63,11}, { 127,10}, { 287,11}, { 159,10}, \
{ 351,11}, { 191,10}, { 415,11}, { 223,12}, \
{ 127,11}, { 255,10}, { 511,11}, { 319,10}, \
{ 639,11}, { 351,12}, { 191,11}, { 415,13}, \
{ 8192,14}, { 16384,15}, { 32768,16} }
#define MUL_FFT_TABLE3_SIZE 79
#define MUL_FFT_THRESHOLD 5760
#define SQR_FFT_MODF_THRESHOLD 400 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 400, 5}, { 25, 6}, { 13, 5}, { 27, 6}, \
{ 25, 7}, { 13, 6}, { 28, 7}, { 15, 6}, \
{ 32, 7}, { 19, 6}, { 39, 7}, { 29, 8}, \
{ 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \
{ 23, 7}, { 47, 8}, { 27, 7}, { 55, 9}, \
{ 15, 8}, { 39, 9}, { 23, 8}, { 55,10}, \
{ 15, 9}, { 31, 8}, { 67, 9}, { 39, 8}, \
{ 79, 9}, { 47, 8}, { 95, 9}, { 55,10}, \
{ 31, 9}, { 79,10}, { 47, 9}, { 103,11}, \
{ 31,10}, { 63, 9}, { 135,10}, { 79, 9}, \
{ 159, 8}, { 319,10}, { 95, 9}, { 191,10}, \
{ 111,11}, { 63,10}, { 127, 9}, { 271,10}, \
{ 143, 9}, { 303,10}, { 159,11}, { 95,10}, \
{ 191, 9}, { 383,10}, { 207,12}, { 63,11}, \
{ 127,10}, { 303,11}, { 159,10}, { 367,11}, \
{ 191,10}, { 415,11}, { 223,10}, { 447,12}, \
{ 127,11}, { 255,10}, { 511,11}, { 287,10}, \
{ 607,11}, { 319,10}, { 639,11}, { 351,12}, \
{ 191,11}, { 447,13}, { 8192,14}, { 16384,15}, \
{ 32768,16} }
#define SQR_FFT_TABLE3_SIZE 77
#define SQR_FFT_THRESHOLD 3136
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 120
#define MULLO_MUL_N_THRESHOLD 11317
#define DC_DIV_QR_THRESHOLD 134
#define DC_DIVAPPR_Q_THRESHOLD 442
#define DC_BDIV_QR_THRESHOLD 127
#define DC_BDIV_Q_THRESHOLD 296
#define INV_MULMOD_BNM1_THRESHOLD 66
#define INV_NEWTON_THRESHOLD 458
#define INV_APPR_THRESHOLD 454
#define BINV_NEWTON_THRESHOLD 494
#define REDC_1_TO_REDC_N_THRESHOLD 116
#define MU_DIV_QR_THRESHOLD 2914
#define MU_DIVAPPR_Q_THRESHOLD 3091
#define MUPI_DIV_QR_THRESHOLD 221
#define MU_BDIV_QR_THRESHOLD 2259
#define MU_BDIV_Q_THRESHOLD 2747
#define MATRIX22_STRASSEN_THRESHOLD 17
#define HGCD_THRESHOLD 109
#define GCD_DC_THRESHOLD 697
#define GCDEXT_DC_THRESHOLD 535
#define JACOBI_BASE_METHOD 2
#define GET_STR_DC_THRESHOLD 14
#define GET_STR_PRECOMPUTE_THRESHOLD 29
#define SET_STR_DC_THRESHOLD 321
#define SET_STR_PRECOMPUTE_THRESHOLD 1037

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)
/* #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__ */

View file

@ -0,0 +1,191 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/07 02:06:32 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/pa32/hppa1_1/sqr_diagonal.asm \
add_n.asm mpn/pa32/hppa1_1/pa7100/add_n.asm \
submul_1.asm mpn/pa32/hppa1_1/pa7100/submul_1.asm \
umul.asm mpn/pa32/hppa1_1/umul.asm \
lshift.asm mpn/pa32/hppa1_1/pa7100/lshift.asm \
mul_1.asm mpn/pa32/hppa1_1/mul_1.asm \
udiv.asm mpn/pa32/hppa1_1/udiv.asm \
rshift.asm mpn/pa32/hppa1_1/pa7100/rshift.asm \
addmul_1.asm mpn/pa32/hppa1_1/pa7100/addmul_1.asm \
sub_n.asm mpn/pa32/hppa1_1/pa7100/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
GMP_LIMB_BITS=32
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

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 "./mpn/pa32/hppa1_1/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 */
#define HAVE_NATIVE_mpn_udiv_qrnnd 1
/* #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) */
#define HAVE_SPEED_CYCLECOUNTER 1
/* 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 4
/* 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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
define(<WANT_ASSERT>,0)
define(<WANT_PROFILING>,<`no'>)
define(<M4WRAP_SPURIOUS>,<no>)
define(<TEXT>, <.text>)
define(<DATA>, <.data>)
define(<LABEL_SUFFIX>, <:>)
define(<GLOBL>, <.export>)
define(<GLOBL_ATTR>, <,entry>)
define(<GSYM_PREFIX>, <>)
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(<SQR_TOOM2_THRESHOLD>,<55>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`pa32/pa-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_hppa')
define_not_for_expansion(`HAVE_ABI_standard')
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 @@
/* HP-PA 1.1 gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 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/. */
#define GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
/* Generated by tuneup.c, 2004-02-07, gcc 2.8 (pa7100/100MHz) */
#define MUL_TOOM22_THRESHOLD 30
#define MUL_TOOM33_THRESHOLD 89
#define SQR_BASECASE_THRESHOLD 4
#define SQR_TOOM2_THRESHOLD 55
#define SQR_TOOM3_THRESHOLD 101
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
#define DIV_DC_THRESHOLD 84
#define POWM_THRESHOLD 166
#define HGCD_THRESHOLD 231
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 823
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 5
#define DIVREM_1_UNNORM_THRESHOLD 11
#define MOD_1_NORM_THRESHOLD 5
#define MOD_1_UNNORM_THRESHOLD 10
#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 13
#define GET_STR_PRECOMPUTE_THRESHOLD 23
#define SET_STR_THRESHOLD 6589
#define MUL_FFT_TABLE { 464, 928, 1920, 4608, 14336, 40960, 0 }
#define MUL_FFT_MODF_THRESHOLD 480
#define MUL_FFT_THRESHOLD 3328
#define SQR_FFT_TABLE { 528, 1184, 2176, 5632, 14336, 40960, 0 }
#define SQR_FFT_MODF_THRESHOLD 520
#define SQR_FFT_THRESHOLD 3328

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)
/* #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__ */

View file

@ -0,0 +1,208 @@
# $NetBSD: Makefile.inc,v 1.5 2011/07/07 17:55:26 drochner Exp $
SRCS+= \
random.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 \
dcpi1_div_qr.c \
mu_divappr_q.c \
redc_1_sec.c \
toom6_sqr.c \
mod_1.c \
divexact.c \
powlo.c \
mul.c \
set_str.c \
toom42_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 \
toom_interpolate_12pts.c \
perfsqr.c \
toom53_mul.c \
toom_eval_pm2exp.c \
toom_interpolate_16pts.c \
mu_div_qr.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 \
toom_interpolate_5pts.c \
sbpi1_bdiv_q.c \
pre_mod_1.c \
hgcd.c \
sqrtrem.c \
gcdext_1.c \
toom63_mul.c \
bdiv_q_1.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 \
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= \
submul_1.asm mpn/x86/aorsmul_1.asm \
bdiv_dbm1c.asm mpn/x86/bdiv_dbm1c.asm \
addmul_1.asm mpn/x86/aorsmul_1.asm \
divrem_2.asm mpn/x86/divrem_2.asm \
# XXX using C versions
# add_n.asm mpn/x86/aors_n.asm \
# bdiv_q_1.asm mpn/x86_64/bdiv_q_1.asm \
# copyd.asm mpn/x86/copyd.asm \
# copyi.asm mpn/x86/copyi.asm \
# dive_1.asm mpn/x86/dive_1.asm \
# divrem_1.asm mpn/x86/divrem_1.asm \
# invert_limb.asm mpn/x86/invert_limb.asm \
# lshift.asm mpn/x86/lshift.asm \
# rshift.asm mpn/x86/rshift.asm \
# mod_34lsub1.asm mpn/x86/mod_34lsub1.asm \
# umul.asm mpn/x86/umul.asm \
# mul_1.asm mpn/x86/mul_1.asm \
# sqr_basecase.asm mpn/x86/sqr_basecase.asm \
# mul_basecase.asm mpn/x86/mul_basecase.asm \
# sub_n.asm mpn/x86/aors_n.asm \
# udiv.asm mpn/x86/udiv.asm \
SRCS+= add_n.c bdiv_q_1.c copyd.c copyi.c dive_1.c lshift.c rshift.c mod_34lsub1.c
SRCS+= mul_1.c sqr_basecase.c mul_basecase.c sub_n.c divrem_1.c
# XXX? put in C_SRCS_LIST?
# divrem.c
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
# XXX is this right?
GMP_LIMB_BITS=32
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 ${.OBJDIR}/config.m4
CLEANFILES+= config.m4
clean: cleandummy
cleandummy: .PHONY
-rmdir dummy
.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

View file

@ -0,0 +1,589 @@
/* 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/src/external/lgpl3/gmp/dist/mpn/x86/i486/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
*/
#define HAVE_CALLING_CONVENTIONS 1
/* 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 */
#define HAVE_HOST_CPU_FAMILY_x86 1
/* #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 */
/* XXXMRG */
/* #define HAVE_NATIVE_mpn_add_nc 1 */
/* #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 */
#define HAVE_NATIVE_mpn_bdiv_dbm1c 1
/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_com */
#define HAVE_NATIVE_mpn_copyd 1
#define HAVE_NATIVE_mpn_copyi 1
#define HAVE_NATIVE_mpn_divexact_1 1
/* #undef HAVE_NATIVE_mpn_divexact_by3c */
#define HAVE_NATIVE_mpn_divrem_1 1
#define HAVE_NATIVE_mpn_divrem_1c 1
#define HAVE_NATIVE_mpn_divrem_2 1
/* #undef HAVE_NATIVE_mpn_gcd_1 */
/* #undef HAVE_NATIVE_mpn_hamdist */
/* XXXMRG */
/* #define HAVE_NATIVE_mpn_invert_limb 1 */
/* #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 */
#define HAVE_NATIVE_mpn_mod_34lsub1 1
/* #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 */
#define HAVE_NATIVE_mpn_mul_basecase 1
/* #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
#define HAVE_NATIVE_mpn_sqr_basecase 1
/* #undef HAVE_NATIVE_mpn_sqr_diagonal */
#define HAVE_NATIVE_mpn_sub_n 1
/* #define HAVE_NATIVE_mpn_sub_nc 1 */
/* #undef HAVE_NATIVE_mpn_sublsh1_n */
/* #undef HAVE_NATIVE_mpn_sublsh2_n */
/* #undef HAVE_NATIVE_mpn_sublsh_n */
/* #undef HAVE_NATIVE_mpn_submul_1c */
#define HAVE_NATIVE_mpn_udiv_qrnnd 1
/* #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) */
#define HAVE_SPEED_CYCLECOUNTER 2
/* 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 4
/* 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 */
/* #undef TUNE_SQR_TOOM2_MAX */
/* 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,38 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .rodata>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<no>)
define(<ALIGN_FILL_0x90>,<yes>)
define(<HAVE_COFF_TYPE>, <no>)
define(<GOT_GSYM_PREFIX>, <>)
define(<WANT_SHLDL_CL>, <1>)
define(<SQR_TOOM2_THRESHOLD>,<49>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`x86/x86-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_i486')
define_not_for_expansion(`HAVE_ABI_32')
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,58 @@
/* 80486 gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 2001, 2002, 2003 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 32
#define BYTES_PER_MP_LIMB 4
/* 100MHz DX4 */
/* Generated by tuneup.c, 2003-02-13, gcc 2.95 */
#define MUL_TOOM22_THRESHOLD 18
#define MUL_TOOM33_THRESHOLD 228
#define SQR_BASECASE_THRESHOLD 13
#define SQR_TOOM2_THRESHOLD 49
#define SQR_TOOM3_THRESHOLD 238
#define DIV_SB_PREINV_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIV_DC_THRESHOLD 72
#define POWM_THRESHOLD 38
#define GCD_ACCEL_THRESHOLD 3
#define JACOBI_BASE_METHOD 2
#define USE_PREINV_DIVREM_1 0
#define USE_PREINV_MOD_1 0
#define DIVREM_2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 17
#define GET_STR_DC_THRESHOLD 32
#define GET_STR_PRECOMPUTE_THRESHOLD 82
#define SET_STR_THRESHOLD 3524
#define MUL_FFT_TABLE { 464, 928, 1920, 4608, 10240, 40960, 0 }
#define MUL_FFT_MODF_THRESHOLD 392
#define MUL_FFT_THRESHOLD 2816
#define SQR_FFT_TABLE { 432, 928, 1920, 4608, 14336, 40960, 0 }
#define SQR_FFT_MODF_THRESHOLD 392
#define SQR_FFT_THRESHOLD 2816

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)
/* #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__ */

View file

@ -0,0 +1,188 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 06:52:26 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 \
addmul_1.c \
neg.c \
gcdext_lehmer.c \
divis.c \
dcpi1_div_q.c \
mul_1.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 \
submul_1.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= \
add_n.asm mpn/m68k/aors_n.asm \
lshift.asm mpn/m68k/lshift.asm \
rshift.asm mpn/m68k/rshift.asm \
sub_n.asm mpn/m68k/aors_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
GMP_LIMB_BITS=32
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

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 "./mpn/m68k/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 */
#define HAVE_HOST_CPU_FAMILY_m68k 1
/* #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 */
/* #undef HAVE_NATIVE_mpn_mul_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 */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
/* #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 4
/* 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,38 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .rodata>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<no>)
define(<WANT_REGISTER_PERCENT>, <`yes'>)
define(<WANT_DOT_SIZE>, <`no'>)
define(<WANT_ADDRESSING>, <`mit'>)
define(<WANT_BRANCHES>, <`jra'>)
define(<SQR_TOOM2_THRESHOLD>,<28>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`m68k/m68k-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_m68k')
define_not_for_expansion(`HAVE_ABI_standard')
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,65 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 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 32
#define BYTES_PER_MP_LIMB 4
/* 25MHz 68040 */
/* Generated by tuneup.c, 2004-02-05, gcc 3.2 */
#define MUL_TOOM22_THRESHOLD 14
#define MUL_TOOM33_THRESHOLD 90
#define SQR_BASECASE_THRESHOLD 5
#define SQR_TOOM2_THRESHOLD 28
#define SQR_TOOM3_THRESHOLD 98
#define DIV_SB_PREINV_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIV_DC_THRESHOLD 55
#define POWM_THRESHOLD 65
#define HGCD_THRESHOLD 116
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 590
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVREM_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define MOD_1_NORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define MOD_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define USE_PREINV_DIVREM_1 0
#define USE_PREINV_MOD_1 0
#define DIVREM_2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD MP_SIZE_T_MAX /* never */
#define MODEXACT_1_ODD_THRESHOLD MP_SIZE_T_MAX /* never */
#define GET_STR_DC_THRESHOLD 18
#define GET_STR_PRECOMPUTE_THRESHOLD 43
#define SET_STR_THRESHOLD 937
#define MUL_FFT_TABLE { 336, 672, 1408, 3584, 10240, 24576, 0 }
#define MUL_FFT_MODF_THRESHOLD 296
#define MUL_FFT_THRESHOLD 1728
#define SQR_FFT_TABLE { 336, 736, 1408, 3584, 10240, 24576, 0 }
#define SQR_FFT_MODF_THRESHOLD 296
#define SQR_FFT_THRESHOLD 2304

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)
/* #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__ */

View file

@ -0,0 +1,188 @@
# $NetBSD: Makefile.inc,v 1.2 2011/07/03 06:43:16 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 \
addmul_1.c \
neg.c \
gcdext_lehmer.c \
divis.c \
dcpi1_div_q.c \
mul_1.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 \
submul_1.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= \
add_n.asm mpn/m68k/aors_n.asm \
lshift.asm mpn/m68k/lshift.asm \
rshift.asm mpn/m68k/rshift.asm \
sub_n.asm mpn/m68k/aors_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
GMP_LIMB_BITS=32
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

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 "./mpn/m68k/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 */
#define HAVE_HOST_CPU_FAMILY_m68k 1
/* #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 */
/* #undef HAVE_NATIVE_mpn_mul_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 */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
/* #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 4
/* 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,38 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .rodata>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<no>)
define(<WANT_REGISTER_PERCENT>, <`yes'>)
define(<WANT_DOT_SIZE>, <`no'>)
define(<WANT_ADDRESSING>, <`mit'>)
define(<WANT_BRANCHES>, <`jra'>)
define(<SQR_TOOM2_THRESHOLD>,<28>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`m68k/m68k-defs.m4')
define_not_for_expansion(`HAVE_HOST_CPU_m68k')
define_not_for_expansion(`HAVE_ABI_standard')
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,65 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 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 32
#define BYTES_PER_MP_LIMB 4
/* 25MHz 68040 */
/* Generated by tuneup.c, 2004-02-05, gcc 3.2 */
#define MUL_TOOM22_THRESHOLD 14
#define MUL_TOOM33_THRESHOLD 90
#define SQR_BASECASE_THRESHOLD 5
#define SQR_TOOM2_THRESHOLD 28
#define SQR_TOOM3_THRESHOLD 98
#define DIV_SB_PREINV_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIV_DC_THRESHOLD 55
#define POWM_THRESHOLD 65
#define HGCD_THRESHOLD 116
#define GCD_ACCEL_THRESHOLD 3
#define GCD_DC_THRESHOLD 590
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVREM_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define MOD_1_NORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define MOD_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define USE_PREINV_DIVREM_1 0
#define USE_PREINV_MOD_1 0
#define DIVREM_2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD MP_SIZE_T_MAX /* never */
#define MODEXACT_1_ODD_THRESHOLD MP_SIZE_T_MAX /* never */
#define GET_STR_DC_THRESHOLD 18
#define GET_STR_PRECOMPUTE_THRESHOLD 43
#define SET_STR_THRESHOLD 937
#define MUL_FFT_TABLE { 336, 672, 1408, 3584, 10240, 24576, 0 }
#define MUL_FFT_MODF_THRESHOLD 296
#define MUL_FFT_THRESHOLD 1728
#define SQR_FFT_TABLE { 336, 736, 1408, 3584, 10240, 24576, 0 }
#define SQR_FFT_MODF_THRESHOLD 296
#define SQR_FFT_THRESHOLD 2304

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)
/* #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__ */

View file

@ -0,0 +1,196 @@
# $NetBSD: Makefile.inc,v 1.2 2011/07/10 03:05:33 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
.if (defined(CPUFLAGS) && !empty(CPUFLAGS:M-mabi=64))
GMP_LIMB_BITS=64
.else
GMP_LIMB_BITS=32
.endif
trialdiv.c: trialdivtab.h
trialdivtab.h: gen-trialdivtab Makefile
${.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 "./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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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,67 @@
/* 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/. */
#ifdef _ABI64
#define GMP_LIMB_BITS 64
#define BYTES_PER_MP_LIMB 8
#else
#define GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
#endif
/* 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,183 @@
# $NetBSD: Makefile.inc,v 1.2 2011/07/10 03:05:34 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
.if (defined(CPUFLAGS) && !empty(CPUFLAGS:M-mabi=64))
GMP_LIMB_BITS=64
.else
GMP_LIMB_BITS=32
.endif
trialdiv.c: trialdivtab.h
trialdivtab.h: gen-trialdivtab Makefile
${.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 "./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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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,67 @@
/* 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/. */
#ifdef _ABI64
#define GMP_LIMB_BITS 64
#define BYTES_PER_MP_LIMB 8
#else
#define GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
#endif
/* 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,191 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 11:41:30 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= \
add_n.asm mpn/mips32/add_n.asm \
submul_1.asm mpn/mips32/submul_1.asm \
umul.asm mpn/mips32/umul.asm \
lshift.asm mpn/mips32/lshift.asm \
mul_1.asm mpn/mips32/mul_1.asm \
rshift.asm mpn/mips32/rshift.asm \
addmul_1.asm mpn/mips32/addmul_1.asm \
sub_n.asm mpn/mips32/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
# XXX is this right?
GMP_LIMB_BITS=32
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

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 "./mpn/mips32/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 */
/* #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 4
/* 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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>,<57>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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_mipseb')
define_not_for_expansion(`HAVE_ABI_o32')
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 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 32
#define BYTES_PER_MP_LIMB 4
/* Generated by tuneup.c, 2002-02-20, gcc 2.95 (R3000) */
#define MUL_TOOM22_THRESHOLD 20
#define MUL_TOOM33_THRESHOLD 50
#define SQR_BASECASE_THRESHOLD 7
#define SQR_TOOM2_THRESHOLD 57
#define SQR_TOOM3_THRESHOLD 78
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
#define DIV_DC_THRESHOLD 57
#define POWM_THRESHOLD 78
#define GCD_ACCEL_THRESHOLD 3
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 0 /* always */
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#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 19
#define GET_STR_PRECOMPUTE_THRESHOLD 25
#define SET_STR_THRESHOLD 309
#define MUL_FFT_TABLE { 496, 1056, 2176, 5632, 14336, 40960, 0 }
#define MUL_FFT_MODF_THRESHOLD 624
#define MUL_FFT_THRESHOLD 5888
#define SQR_FFT_TABLE { 496, 1184, 2176, 5632, 14336, 40960, 0 }
#define SQR_FFT_MODF_THRESHOLD 560
#define SQR_FFT_THRESHOLD 5376

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)
/* #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__ */

View file

@ -0,0 +1,191 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 11:41:30 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= \
add_n.asm mpn/mips32/add_n.asm \
submul_1.asm mpn/mips32/submul_1.asm \
umul.asm mpn/mips32/umul.asm \
lshift.asm mpn/mips32/lshift.asm \
mul_1.asm mpn/mips32/mul_1.asm \
rshift.asm mpn/mips32/rshift.asm \
addmul_1.asm mpn/mips32/addmul_1.asm \
sub_n.asm mpn/mips32/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
# XXX is this right?
GMP_LIMB_BITS=32
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

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 "./mpn/mips32/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'. */
/* #undef HAVE_STACK_T */
/* 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. */
/* #undef HAVE_SYS_PARAM_H */
/* 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. */
/* #undef HAVE_SYS_SYSCTL_H */
/* 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 4
/* 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,34 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>,<57>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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_mipsel')
define_not_for_expansion(`HAVE_ABI_o32')
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 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 32
#define BYTES_PER_MP_LIMB 4
/* Generated by tuneup.c, 2002-02-20, gcc 2.95 (R3000) */
#define MUL_TOOM22_THRESHOLD 20
#define MUL_TOOM33_THRESHOLD 50
#define SQR_BASECASE_THRESHOLD 7
#define SQR_TOOM2_THRESHOLD 57
#define SQR_TOOM3_THRESHOLD 78
#define DIV_SB_PREINV_THRESHOLD 0 /* always */
#define DIV_DC_THRESHOLD 57
#define POWM_THRESHOLD 78
#define GCD_ACCEL_THRESHOLD 3
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 0 /* always */
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#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 19
#define GET_STR_PRECOMPUTE_THRESHOLD 25
#define SET_STR_THRESHOLD 309
#define MUL_FFT_TABLE { 496, 1056, 2176, 5632, 14336, 40960, 0 }
#define MUL_FFT_MODF_THRESHOLD 624
#define MUL_FFT_THRESHOLD 5888
#define SQR_FFT_TABLE { 496, 1184, 2176, 5632, 14336, 40960, 0 }
#define SQR_FFT_MODF_THRESHOLD 560
#define SQR_FFT_THRESHOLD 5376

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)
/* #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__ */

View file

@ -0,0 +1,198 @@
# $NetBSD: Makefile.inc,v 1.3 2011/07/07 08:02:52 mrg Exp $
SRCS+= \
random.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 \
dcpi1_div_qr.c \
mu_divappr_q.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 \
toom_interpolate_16pts.c \
mu_div_qr.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 \
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 \
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 \
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/powerpc32/sqr_diagonal.asm \
add_n.asm mpn/powerpc32/aors_n.asm \
sublsh1_n.asm mpn/powerpc32/sublsh1_n.asm \
submul_1.asm mpn/powerpc32/submul_1.asm \
umul.asm mpn/powerpc32/umul.asm \
lshift.asm mpn/powerpc32/lshift.asm \
mul_1.asm mpn/powerpc32/mul_1.asm \
bdiv_dbm1c.asm mpn/powerpc32/bdiv_dbm1c.asm \
rshift.asm mpn/powerpc32/rshift.asm \
mod_34lsub1.asm mpn/powerpc32/mod_34lsub1.asm \
mode1o.asm mpn/powerpc32/mode1o.asm \
addlsh1_n.asm mpn/powerpc32/addlsh1_n.asm \
diveby3.asm mpn/powerpc32/diveby3.asm \
addmul_1.asm mpn/powerpc32/addmul_1.asm \
divrem_2.asm mpn/powerpc32/divrem_2.asm \
sub_n.asm mpn/powerpc32/aors_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
GMP_LIMB_BITS=32
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}
BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn
M4FLAGS= -DPIC
.for _build _src in ${ASM_SRCS_LIST}
${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \
${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \
-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

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 "/u1/netbsd-HEAD/src/external/lgpl3/gmp/dist/mpn/powerpc32/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 */
#define HAVE_HOST_CPU_FAMILY_powerpc 1
/* #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 */
#define HAVE_NATIVE_mpn_add_nc 1
/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */
#define HAVE_NATIVE_mpn_addlsh1_n 1
/* #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 */
#define HAVE_NATIVE_mpn_bdiv_dbm1c 1
/* #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 */
#define HAVE_NATIVE_mpn_divexact_by3c 1
/* #undef HAVE_NATIVE_mpn_divrem_1 */
/* #undef HAVE_NATIVE_mpn_divrem_1c */
#define HAVE_NATIVE_mpn_divrem_2 1
/* #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 */
#define HAVE_NATIVE_mpn_mod_34lsub1 1
#define HAVE_NATIVE_mpn_modexact_1_odd 1
#define HAVE_NATIVE_mpn_modexact_1c_odd 1
#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
#define HAVE_NATIVE_mpn_sub_nc 1
#define HAVE_NATIVE_mpn_sublsh1_n 1
/* #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) */
#define HAVE_SPEED_CYCLECOUNTER 0
/* 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 4
/* 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,37 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .sdata,"aw",@progbits>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<yes>)
define(<PIC_ALWAYS>,<no>)
define(<WANT_R_REGISTERS>,<no>)
define(<SQR_TOOM2_THRESHOLD>,<24>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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(`powerpc32/powerpc-defs.m4')
include_mpn(`powerpc32/elf.m4')
define_not_for_expansion(`HAVE_HOST_CPU_powerpc')
define_not_for_expansion(`HAVE_ABI_32')
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,191 @@
/* PowerPC-32 gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 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 GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
/* This file is supposed to be used for 604, 604e, 744x/745x/747x (G4+), i.e.,
32-bit PowerPC processors with reasonably fast integer multiply insns. The
values below are chosen to be best for the latter processors, since 604 is
largely irrelevant today.
In mpn/powerpc32/750/gmp-mparam.h there are values for 75x (G3) and for
7400/7410 (G4), both which have much slower multiply instructions. */
/* 1417 MHz PPC 7447A */
#define DIVREM_1_NORM_THRESHOLD 0 /* always */
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 5
#define MOD_1U_TO_MOD_1_1_THRESHOLD 8
#define MOD_1_1_TO_MOD_1_2_THRESHOLD 16
#define MOD_1_2_TO_MOD_1_4_THRESHOLD 65
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 17
#define USE_PREINV_DIVREM_1 1
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define BMOD_1_TO_MOD_1_THRESHOLD 98
#define MUL_TOOM22_THRESHOLD 14
#define MUL_TOOM33_THRESHOLD 73
#define MUL_TOOM44_THRESHOLD 106
#define MUL_TOOM6H_THRESHOLD 157
#define MUL_TOOM8H_THRESHOLD 236
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 73
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 71
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 73
#define MUL_TOOM42_TO_TOOM63_THRESHOLD 72
#define SQR_BASECASE_THRESHOLD 0 /* always */
#define SQR_TOOM2_THRESHOLD 24
#define SQR_TOOM3_THRESHOLD 77
#define SQR_TOOM4_THRESHOLD 130
#define SQR_TOOM6_THRESHOLD 189
#define SQR_TOOM8_THRESHOLD 284
#define MULMOD_BNM1_THRESHOLD 9
#define SQRMOD_BNM1_THRESHOLD 14
#define MUL_FFT_MODF_THRESHOLD 284 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 284, 5}, { 17, 6}, { 9, 5}, { 19, 6}, \
{ 13, 7}, { 7, 6}, { 17, 7}, { 9, 6}, \
{ 20, 7}, { 11, 6}, { 23, 7}, { 13, 8}, \
{ 7, 7}, { 19, 8}, { 11, 7}, { 25, 9}, \
{ 7, 8}, { 15, 7}, { 33, 8}, { 19, 7}, \
{ 39, 8}, { 23, 7}, { 47, 9}, { 15, 8}, \
{ 39, 9}, { 23, 8}, { 47,10}, { 15, 9}, \
{ 31, 8}, { 67, 9}, { 39, 8}, { 79, 9}, \
{ 47, 8}, { 95,10}, { 31, 9}, { 71, 8}, \
{ 143, 9}, { 79,10}, { 47, 9}, { 95,11}, \
{ 31,10}, { 63, 9}, { 127, 8}, { 255, 9}, \
{ 135, 8}, { 271, 9}, { 143,10}, { 79, 9}, \
{ 159, 8}, { 319, 9}, { 175,10}, { 95, 9}, \
{ 191, 8}, { 383, 9}, { 207, 8}, { 415,11}, \
{ 63,10}, { 127, 9}, { 255, 8}, { 511, 9}, \
{ 271,10}, { 143, 9}, { 287, 8}, { 575,10}, \
{ 159, 9}, { 319,10}, { 175,11}, { 95,10}, \
{ 191, 9}, { 383,10}, { 207, 9}, { 415, 8}, \
{ 831,12}, { 63,11}, { 127,10}, { 255, 9}, \
{ 511,10}, { 271, 9}, { 543, 8}, { 1087,10}, \
{ 287, 9}, { 575,11}, { 159,10}, { 319, 9}, \
{ 639,10}, { 351, 9}, { 703,11}, { 191,10}, \
{ 415, 9}, { 831,11}, { 223,10}, { 447, 9}, \
{ 895,10}, { 479, 9}, { 959,12}, { 127,11}, \
{ 255,10}, { 543, 9}, { 1087,11}, { 287,10}, \
{ 607,11}, { 319,10}, { 639,11}, { 351,10}, \
{ 703, 9}, { 1407,12}, { 191,11}, { 383,10}, \
{ 767,11}, { 415,10}, { 831,11}, { 447,10}, \
{ 895,11}, { 479,10}, { 959,13}, { 127,12}, \
{ 255,11}, { 543,10}, { 1087,11}, { 607,12}, \
{ 319,11}, { 639,10}, { 1279,11}, { 703,10}, \
{ 1407,12}, { 383,11}, { 831,12}, { 447,11}, \
{ 959,10}, { 1919,13}, { 255,12}, { 511,11}, \
{ 1087,12}, { 575,11}, { 1215,10}, { 2431,12}, \
{ 639,11}, { 1279,12}, { 703,11}, { 1407,13}, \
{ 383,12}, { 959,11}, { 1919,14}, { 255,13}, \
{ 511,12}, { 1215,11}, { 2431,13}, { 639,12}, \
{ 1471,13}, { 767,12}, { 1599,13}, { 895,12}, \
{ 1919,14}, { 511,13}, { 1023,12}, { 2111,13}, \
{ 1151,12}, { 2431,13}, { 1407,14}, { 767,13}, \
{ 1535,12}, { 3071,13}, { 1919,12}, { 3839,15}, \
{ 32768,16} }
#define MUL_FFT_TABLE3_SIZE 165
#define MUL_FFT_THRESHOLD 3712
#define SQR_FFT_MODF_THRESHOLD 248 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 248, 5}, { 17, 6}, { 9, 5}, { 19, 6}, \
{ 17, 7}, { 9, 6}, { 20, 7}, { 11, 6}, \
{ 23, 7}, { 13, 8}, { 7, 7}, { 19, 8}, \
{ 11, 7}, { 25, 9}, { 7, 8}, { 15, 7}, \
{ 33, 8}, { 19, 7}, { 39, 8}, { 23, 7}, \
{ 47, 8}, { 27, 9}, { 15, 8}, { 39, 9}, \
{ 23, 8}, { 47,10}, { 15, 9}, { 31, 8}, \
{ 63, 9}, { 39, 8}, { 79, 9}, { 47,10}, \
{ 31, 9}, { 63, 8}, { 127, 9}, { 71, 8}, \
{ 143, 9}, { 79,10}, { 47, 9}, { 95,11}, \
{ 31,10}, { 63, 9}, { 127, 8}, { 255, 7}, \
{ 511, 9}, { 143,10}, { 79, 9}, { 159, 8}, \
{ 319, 9}, { 175, 8}, { 351,10}, { 95, 9}, \
{ 191, 8}, { 383, 9}, { 207, 8}, { 415,11}, \
{ 63,10}, { 127, 9}, { 255, 8}, { 511,10}, \
{ 143, 9}, { 287, 8}, { 575,10}, { 159, 9}, \
{ 319,10}, { 175, 9}, { 351,11}, { 95,10}, \
{ 191, 9}, { 383,10}, { 207, 9}, { 415, 8}, \
{ 831,12}, { 63,11}, { 127,10}, { 255, 9}, \
{ 511,10}, { 271, 9}, { 543,10}, { 287, 9}, \
{ 575,11}, { 159,10}, { 319, 9}, { 639,10}, \
{ 351, 9}, { 703, 8}, { 1407, 9}, { 735,11}, \
{ 191,10}, { 415, 9}, { 831,11}, { 223,10}, \
{ 447, 9}, { 895,10}, { 479,12}, { 127,11}, \
{ 255,10}, { 543,11}, { 287,10}, { 607,11}, \
{ 319,10}, { 639,11}, { 351,10}, { 703, 9}, \
{ 1407,12}, { 191,11}, { 383,13}, { 127,12}, \
{ 255,11}, { 543,10}, { 1087,11}, { 575,10}, \
{ 1151,12}, { 319,11}, { 703,10}, { 1407,12}, \
{ 383,11}, { 831,12}, { 447,11}, { 959,13}, \
{ 255,12}, { 511,11}, { 1087,12}, { 575,11}, \
{ 1215,12}, { 639,11}, { 1279,12}, { 703,11}, \
{ 1407,13}, { 383,12}, { 959,14}, { 255,13}, \
{ 511,12}, { 1215,11}, { 2431,13}, { 639,12}, \
{ 1471,13}, { 767,12}, { 1599,13}, { 895,12}, \
{ 1919,14}, { 511,13}, { 1023,12}, { 2111,13}, \
{ 1151,12}, { 2431,13}, { 1407,12}, { 2815,14}, \
{ 767,13}, { 1535,12}, { 3199,13}, { 1919,15}, \
{ 32768,16} }
#define SQR_FFT_TABLE3_SIZE 153
#define SQR_FFT_THRESHOLD 2688
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 45
#define MULLO_MUL_N_THRESHOLD 6633
#define DC_DIV_QR_THRESHOLD 43
#define DC_DIVAPPR_Q_THRESHOLD 154
#define DC_BDIV_QR_THRESHOLD 55
#define DC_BDIV_Q_THRESHOLD 124
#define INV_MULMOD_BNM1_THRESHOLD 108
#define INV_NEWTON_THRESHOLD 179
#define INV_APPR_THRESHOLD 166
#define BINV_NEWTON_THRESHOLD 232
#define REDC_1_TO_REDC_N_THRESHOLD 54
#define MU_DIV_QR_THRESHOLD 1057
#define MU_DIVAPPR_Q_THRESHOLD 1142
#define MUPI_DIV_QR_THRESHOLD 83
#define MU_BDIV_QR_THRESHOLD 872
#define MU_BDIV_Q_THRESHOLD 1142
#define MATRIX22_STRASSEN_THRESHOLD 15
#define HGCD_THRESHOLD 122
#define GCD_DC_THRESHOLD 339
#define GCDEXT_DC_THRESHOLD 278
#define JACOBI_BASE_METHOD 1
#define GET_STR_DC_THRESHOLD 17
#define GET_STR_PRECOMPUTE_THRESHOLD 38
#define SET_STR_DC_THRESHOLD 781
#define SET_STR_PRECOMPUTE_THRESHOLD 1505

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)
/* #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__ */

View file

@ -0,0 +1,196 @@
# $NetBSD: Makefile.inc,v 1.1 2011/10/29 09:16:54 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 \
toom_eval_dgr3_pm2.c \
mod_1_3.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= \
hamdist.c mpn/generic/popham.c \
popcount.c mpn/generic/popham.c \
ASM_SRCS_LIST= \
nand_n.asm mpn/powerpc64/logops_n.asm \
sqr_diagonal.asm mpn/powerpc64/sqr_diagonal.asm \
add_n.asm mpn/powerpc64/mode32/add_n.asm \
xor_n.asm mpn/powerpc64/logops_n.asm \
submul_1.asm mpn/powerpc64/mode32/submul_1.asm \
umul.asm mpn/powerpc64/umul.asm \
nior_n.asm mpn/powerpc64/logops_n.asm \
lshift.asm mpn/powerpc64/lshift.asm \
and_n.asm mpn/powerpc64/logops_n.asm \
mul_1.asm mpn/powerpc64/mode32/mul_1.asm \
copyd.asm mpn/powerpc64/copyd.asm \
andn_n.asm mpn/powerpc64/logops_n.asm \
com.asm mpn/powerpc64/com.asm \
copyi.asm mpn/powerpc64/copyi.asm \
rshift.asm mpn/powerpc64/rshift.asm \
iorn_n.asm mpn/powerpc64/logops_n.asm \
ior_n.asm mpn/powerpc64/logops_n.asm \
xnor_n.asm mpn/powerpc64/logops_n.asm \
addmul_1.asm mpn/powerpc64/mode32/addmul_1.asm \
sub_n.asm mpn/powerpc64/mode32/sub_n.asm \
gen-trialdivtab: gen-trialdivtab.c
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
# XXX
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}
BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn
M4FLAGS= -DPIC
.for _build _src in ${ASM_SRCS_LIST}
${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \
${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \
-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

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 "./mpn/generic/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 */
#define HAVE_HOST_CPU_FAMILY_powerpc 1
/* #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 */
#define HAVE_NATIVE_mpn_and_n 1
#define HAVE_NATIVE_mpn_andn_n 1
/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */
/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */
/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */
#define HAVE_NATIVE_mpn_com 1
#define HAVE_NATIVE_mpn_copyd 1
#define HAVE_NATIVE_mpn_copyi 1
/* #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 */
#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 */
/* #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 */
#define HAVE_NATIVE_mpn_nand_n 1
#define HAVE_NATIVE_mpn_nior_n 1
/* #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 */
#define HAVE_NATIVE_mpn_xor_n 1
#define HAVE_NATIVE_mpn_xnor_n 1
/* 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,36 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
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>, < .section .sdata,"aw",@progbits>)
define(<TYPE>, <.type $1,@$2>)
define(<SIZE>, <.size $1,$2>)
define(<LSYM_PREFIX>, <.L>)
define(<W32>, <.long>)
define(<ALIGN_LOGARITHMIC>,<yes>)
define(<PIC_ALWAYS>,<no>)
define(<WANT_R_REGISTERS>,<no>)
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(`powerpc32/powerpc-defs.m4')
include_mpn(`powerpc64/elf.m4')
define_not_for_expansion(`HAVE_HOST_CPU_powerpc64')
define_not_for_expansion(`HAVE_ABI_mode32')
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,22 @@
/* Generic C gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 2000 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/. */
/* Values for GMP_LIMB_BITS etc will be determined by ./configure and put
in config.h. */

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,177 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 06:52:26 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
GMP_LIMB_BITS=32
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

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 "./mpn/generic/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. */
/* #undef HAVE_NATIVE_mpn_add_n */
/* #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 */
/* #undef HAVE_NATIVE_mpn_lshift */
/* #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 */
/* #undef HAVE_NATIVE_mpn_mul_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 */
/* #undef HAVE_NATIVE_mpn_rshift */
/* #undef HAVE_NATIVE_mpn_sqr_basecase */
/* #undef HAVE_NATIVE_mpn_sqr_diagonal */
/* #undef HAVE_NATIVE_mpn_sub_n */
/* #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 */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
/* #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 */
/* #undef LSYM_PREFIX */
/* 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 4
/* 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,19 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
define(<WANT_ASSERT>,0)
define(<WANT_PROFILING>,<`no'>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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')
define_not_for_expansion(`HAVE_HOST_CPU_sh3eb')
define_not_for_expansion(`HAVE_ABI_standard')
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,22 @@
/* Generic C gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 2000 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/. */
/* Values for GMP_LIMB_BITS etc will be determined by ./configure and put
in config.h. */

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)
/* #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__ */

View file

@ -0,0 +1,177 @@
# $NetBSD: Makefile.inc,v 1.1 2011/07/03 06:52:27 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
GMP_LIMB_BITS=32
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

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 "./mpn/generic/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. */
/* #undef HAVE_NATIVE_mpn_add_n */
/* #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 */
/* #undef HAVE_NATIVE_mpn_lshift */
/* #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 */
/* #undef HAVE_NATIVE_mpn_mul_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 */
/* #undef HAVE_NATIVE_mpn_rshift */
/* #undef HAVE_NATIVE_mpn_sqr_basecase */
/* #undef HAVE_NATIVE_mpn_sqr_diagonal */
/* #undef HAVE_NATIVE_mpn_sub_n */
/* #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 */
/* #undef HAVE_NATIVE_mpn_umul_ppmm */
/* #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 */
/* #undef LSYM_PREFIX */
/* 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 4
/* 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,19 @@
dnl config.m4. Generated automatically by configure.
changequote(<,>)
ifdef(<__CONFIG_M4_INCLUDED__>,,<
define(<WANT_ASSERT>,0)
define(<WANT_PROFILING>,<`no'>)
define(<SIZEOF_UNSIGNED>,<4>)
define(<GMP_LIMB_BITS>,32)
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')
define_not_for_expansion(`HAVE_HOST_CPU_sh3')
define_not_for_expansion(`HAVE_ABI_standard')
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,22 @@
/* Generic C gmp-mparam.h -- Compiler/machine parameter header file.
Copyright 1991, 1993, 1994, 2000 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/. */
/* Values for GMP_LIMB_BITS etc will be determined by ./configure and put
in config.h. */

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)
/* #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__ */

Some files were not shown because too many files have changed in this diff Show more