initial versions of these for vax. not 100% working yet.
This commit is contained in:
parent
0ed964cf37
commit
5eb47bd6a8
|
@ -0,0 +1,169 @@
|
|||
# $NetBSD: Makefile.inc,v 1.1 2011/07/02 13:36:57 mrg Exp $
|
||||
|
||||
C_SRCS_LIST= \
|
||||
toom6h_mul.c mpn/generic/toom6h_mul.c \
|
||||
toom3_sqr.c mpn/generic/toom3_sqr.c \
|
||||
copyi.c mpn/generic/copyi.c \
|
||||
sqrtrem.c mpn/generic/sqrtrem.c \
|
||||
iorn_n.c mpn/generic/logops_n.c \
|
||||
bdiv_qr.c mpn/generic/bdiv_qr.c \
|
||||
matrix22_mul.c mpn/generic/matrix22_mul.c \
|
||||
powlo.c mpn/generic/powlo.c \
|
||||
tdiv_qr.c mpn/generic/tdiv_qr.c \
|
||||
gcd_1.c mpn/generic/gcd_1.c \
|
||||
sqrmod_bnm1.c mpn/generic/sqrmod_bnm1.c \
|
||||
zero.c mpn/generic/zero.c \
|
||||
cmp.c mpn/generic/cmp.c \
|
||||
toom_couple_handling.c mpn/generic/toom_couple_handling.c \
|
||||
toom32_mul.c mpn/generic/toom32_mul.c \
|
||||
dump.c mpn/generic/dump.c \
|
||||
toom62_mul.c mpn/generic/toom62_mul.c \
|
||||
dive_1.c mpn/generic/dive_1.c \
|
||||
toom44_mul.c mpn/generic/toom44_mul.c \
|
||||
nand_n.c mpn/generic/logops_n.c \
|
||||
hgcd.c mpn/generic/hgcd.c \
|
||||
ior_n.c mpn/generic/logops_n.c \
|
||||
get_d.c mpn/generic/get_d.c \
|
||||
bdiv_dbm1c.c mpn/generic/bdiv_dbm1c.c \
|
||||
nussbaumer_mul.c mpn/generic/nussbaumer_mul.c \
|
||||
pre_divrem_1.c mpn/generic/pre_divrem_1.c \
|
||||
andn_n.c mpn/generic/logops_n.c \
|
||||
dcpi1_div_q.c mpn/generic/dcpi1_div_q.c \
|
||||
sbpi1_div_qr.c mpn/generic/sbpi1_div_qr.c \
|
||||
dcpi1_bdiv_qr.c mpn/generic/dcpi1_bdiv_qr.c \
|
||||
bdiv_q_1.c mpn/generic/bdiv_q_1.c \
|
||||
gcdext_1.c mpn/generic/gcdext_1.c \
|
||||
copyd.c mpn/generic/copyd.c \
|
||||
toom42_mul.c mpn/generic/toom42_mul.c \
|
||||
xnor_n.c mpn/generic/logops_n.c \
|
||||
dcpi1_div_qr.c mpn/generic/dcpi1_div_qr.c \
|
||||
sqr_basecase.c mpn/generic/sqr_basecase.c \
|
||||
toom_interpolate_7pts.c mpn/generic/toom_interpolate_7pts.c \
|
||||
toom63_mul.c mpn/generic/toom63_mul.c \
|
||||
gcdext.c mpn/generic/gcdext.c \
|
||||
mu_divappr_q.c mpn/generic/mu_divappr_q.c \
|
||||
mul_n.c mpn/generic/mul_n.c \
|
||||
gcd_subdiv_step.c mpn/generic/gcd_subdiv_step.c \
|
||||
udiv_w_sdiv.c mpn/generic/udiv_w_sdiv.c \
|
||||
pre_mod_1.c mpn/generic/pre_mod_1.c \
|
||||
toom8h_mul.c mpn/generic/toom8h_mul.c \
|
||||
toom_interpolate_6pts.c mpn/generic/toom_interpolate_6pts.c \
|
||||
mu_div_q.c mpn/generic/mu_div_q.c \
|
||||
add_1.c mpn/generic/add_1.c \
|
||||
hamdist.c mpn/generic/popham.c \
|
||||
powm_sec.c mpn/generic/powm_sec.c \
|
||||
toom22_mul.c mpn/generic/toom22_mul.c \
|
||||
invert.c mpn/generic/invert.c \
|
||||
toom8_sqr.c mpn/generic/toom8_sqr.c \
|
||||
xor_n.c mpn/generic/logops_n.c \
|
||||
mu_bdiv_qr.c mpn/generic/mu_bdiv_qr.c \
|
||||
com.c mpn/generic/com.c \
|
||||
redc_2.c mpn/generic/redc_2.c \
|
||||
toom43_mul.c mpn/generic/toom43_mul.c \
|
||||
subcnd_n.c mpn/generic/subcnd_n.c \
|
||||
invertappr.c mpn/generic/invertappr.c \
|
||||
redc_1.c mpn/generic/redc_1.c \
|
||||
sqr.c mpn/generic/sqr.c \
|
||||
trialdiv.c mpn/generic/trialdiv.c \
|
||||
mod_1_4.c mpn/generic/mod_1_4.c \
|
||||
fib2_ui.c mpn/generic/fib2_ui.c \
|
||||
mu_div_qr.c mpn/generic/mu_div_qr.c \
|
||||
sbpi1_divappr_q.c mpn/generic/sbpi1_divappr_q.c \
|
||||
toom_eval_pm2exp.c mpn/generic/toom_eval_pm2exp.c \
|
||||
perfsqr.c mpn/generic/perfsqr.c \
|
||||
toom6_sqr.c mpn/generic/toom6_sqr.c \
|
||||
mod_1_3.c mpn/generic/mod_1_3.c \
|
||||
dcpi1_divappr_q.c mpn/generic/dcpi1_divappr_q.c \
|
||||
popcount.c mpn/generic/popham.c \
|
||||
mullo_n.c mpn/generic/mullo_n.c \
|
||||
mod_1.c mpn/generic/mod_1.c \
|
||||
scan1.c mpn/generic/scan1.c \
|
||||
random.c mpn/generic/random.c \
|
||||
get_str.c mpn/generic/get_str.c \
|
||||
gcd.c mpn/generic/gcd.c \
|
||||
toom_eval_pm2.c mpn/generic/toom_eval_pm2.c \
|
||||
mod_1_2.c mpn/generic/mod_1_2.c \
|
||||
nior_n.c mpn/generic/logops_n.c \
|
||||
toom53_mul.c mpn/generic/toom53_mul.c \
|
||||
scan0.c mpn/generic/scan0.c \
|
||||
sub_1.c mpn/generic/sub_1.c \
|
||||
hgcd2.c mpn/generic/hgcd2.c \
|
||||
toom_interpolate_12pts.c mpn/generic/toom_interpolate_12pts.c \
|
||||
mulmod_bnm1.c mpn/generic/mulmod_bnm1.c \
|
||||
sub.c mpn/generic/sub.c \
|
||||
rootrem.c mpn/generic/rootrem.c \
|
||||
sbpi1_bdiv_q.c mpn/generic/sbpi1_bdiv_q.c \
|
||||
toom_eval_pm1.c mpn/generic/toom_eval_pm1.c \
|
||||
redc_1_sec.c mpn/generic/redc_1_sec.c \
|
||||
mod_1_1.c mpn/generic/mod_1_1.c \
|
||||
powm.c mpn/generic/powm.c \
|
||||
mul.c mpn/generic/mul.c \
|
||||
divis.c mpn/generic/divis.c \
|
||||
add.c mpn/generic/add.c \
|
||||
toom4_sqr.c mpn/generic/toom4_sqr.c \
|
||||
random2.c mpn/generic/random2.c \
|
||||
lshiftc.c mpn/generic/lshiftc.c \
|
||||
mul_basecase.c mpn/generic/mul_basecase.c \
|
||||
div_q.c mpn/generic/div_q.c \
|
||||
toom_interpolate_8pts.c mpn/generic/toom_interpolate_8pts.c \
|
||||
diveby3.c mpn/generic/diveby3.c \
|
||||
dcpi1_bdiv_q.c mpn/generic/dcpi1_bdiv_q.c \
|
||||
and_n.c mpn/generic/logops_n.c \
|
||||
divexact.c mpn/generic/divexact.c \
|
||||
gcd_lehmer.c mpn/generic/gcd_lehmer.c \
|
||||
redc_n.c mpn/generic/redc_n.c \
|
||||
toom33_mul.c mpn/generic/toom33_mul.c \
|
||||
toom_interpolate_16pts.c mpn/generic/toom_interpolate_16pts.c \
|
||||
set_str.c mpn/generic/set_str.c \
|
||||
toom2_sqr.c mpn/generic/toom2_sqr.c \
|
||||
jacbase.c mpn/generic/jacbase.c \
|
||||
remove.c mpn/generic/remove.c \
|
||||
mode1o.c mpn/generic/mode1o.c \
|
||||
perfpow.c mpn/generic/perfpow.c \
|
||||
toom_eval_dgr3_pm2.c mpn/generic/toom_eval_dgr3_pm2.c \
|
||||
sbpi1_div_q.c mpn/generic/sbpi1_div_q.c \
|
||||
gcdext_subdiv_step.c mpn/generic/gcdext_subdiv_step.c \
|
||||
sbpi1_bdiv_qr.c mpn/generic/sbpi1_bdiv_qr.c \
|
||||
toom_eval_pm2rexp.c mpn/generic/toom_eval_pm2rexp.c \
|
||||
divrem.c mpn/generic/divrem.c \
|
||||
binvert.c mpn/generic/binvert.c \
|
||||
mod_34lsub1.c mpn/generic/mod_34lsub1.c \
|
||||
toom_eval_dgr3_pm1.c mpn/generic/toom_eval_dgr3_pm1.c \
|
||||
mul_fft.c mpn/generic/mul_fft.c \
|
||||
mullo_basecase.c mpn/generic/mullo_basecase.c \
|
||||
divrem_2.c mpn/generic/divrem_2.c \
|
||||
toom52_mul.c mpn/generic/toom52_mul.c \
|
||||
mu_bdiv_q.c mpn/generic/mu_bdiv_q.c \
|
||||
neg.c mpn/generic/neg.c \
|
||||
toom_interpolate_5pts.c mpn/generic/toom_interpolate_5pts.c \
|
||||
divrem_1.c mpn/generic/divrem_1.c \
|
||||
pow_1.c mpn/generic/pow_1.c \
|
||||
bdiv_q.c mpn/generic/bdiv_q.c \
|
||||
gcdext_lehmer.c mpn/generic/gcdext_lehmer.c \
|
||||
|
||||
gen-trialdivtab: gen-trialdivtab.c
|
||||
${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
|
||||
|
||||
GMP_LIMB_BITS=32
|
||||
|
||||
DPSRCS+=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
|
|
@ -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/vax/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 */
|
||||
/* #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN */
|
||||
/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */
|
||||
#define HAVE_DOUBLE_VAX_D 1
|
||||
/* #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 */
|
|
@ -0,0 +1,20 @@
|
|||
dnl config.m4. Generated automatically by configure.
|
||||
changequote(<,>)
|
||||
ifdef(<__CONFIG_M4_INCLUDED__>,,<
|
||||
define(<CONFIG_TOP_SRCDIR>,<`/u1/netbsd-HEAD/src/external/lgpl3/gmp/dist'>)
|
||||
define(<WANT_ASSERT>,0)
|
||||
define(<WANT_PROFILING>,<`no'>)
|
||||
define(<SQR_TOOM2_THRESHOLD>,<42>)
|
||||
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_vax')
|
||||
define_not_for_expansion(`HAVE_ABI_standard')
|
||||
define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN')
|
||||
')
|
||||
define(`__CONFIG_M4_INCLUDED__')
|
|
@ -0,0 +1,49 @@
|
|||
/* VAX gmp-mparam.h -- Compiler/machine parameter header file.
|
||||
|
||||
Copyright 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/. */
|
||||
|
||||
/* These numbers were measured manually using the tune/speed program.
|
||||
The standard tune/tunup takes too long. (VAX 8800) */
|
||||
|
||||
#define MUL_TOOM22_THRESHOLD 14
|
||||
#define MUL_TOOM33_THRESHOLD 110
|
||||
|
||||
#define SQR_BASECASE_THRESHOLD 6
|
||||
#define SQR_TOOM2_THRESHOLD 42
|
||||
#define SQR_TOOM3_THRESHOLD 250
|
||||
|
||||
/* #define DIV_SB_PREINV_THRESHOLD */
|
||||
/* #define DIV_DC_THRESHOLD */
|
||||
/* #define POWM_THRESHOLD */
|
||||
|
||||
/* #define GCD_ACCEL_THRESHOLD */
|
||||
/* #define JACOBI_BASE_METHOD */
|
||||
|
||||
/* #define DIVREM_1_NORM_THRESHOLD */
|
||||
/* #define DIVREM_1_UNNORM_THRESHOLD */
|
||||
/* #define MOD_1_NORM_THRESHOLD */
|
||||
/* #define MOD_1_UNNORM_THRESHOLD */
|
||||
/* #define USE_PREINV_DIVREM_1 */
|
||||
/* #define USE_PREINV_MOD_1 */
|
||||
/* #define DIVREM_2_THRESHOLD */
|
||||
/* #define DIVEXACT_1_THRESHOLD */
|
||||
/* #define MODEXACT_1_ODD_THRESHOLD */
|
||||
|
||||
/* #define GET_STR_DC_THRESHOLD */
|
||||
/* #define GET_STR_PRECOMPUTE_THRESHOLD */
|
||||
#define SET_STR_THRESHOLD 3400
|
File diff suppressed because it is too large
Load Diff
|
@ -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__ */
|
Loading…
Reference in New Issue