merge mpfr 4.1.0

This commit is contained in:
mrg 2020-09-26 07:29:57 +00:00
parent 2ba2404b55
commit 76abf2fb07
21 changed files with 2017 additions and 3064 deletions

View File

@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -14,7 +14,7 @@
@SET_MAKE@
# Copyright 2000-2018 Free Software Foundation, Inc.
# Copyright 2000-2020 Free Software Foundation, Inc.
# This Makefile.am is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -177,7 +177,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@ -360,6 +360,7 @@ libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mini_gmp_path = @mini_gmp_path@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
@ -387,12 +388,13 @@ SUBDIRS = doc src tests tune tools/bench
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = mpfr.pc
nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER NEWS TODO \
examples/ReadMe examples/divworst.c examples/rndo-add.c examples/sample.c \
examples/version.c examples/can_round.c
examples/ReadMe examples/can_round.c examples/divworst.c \
examples/rndo-add.c examples/sample.c examples/threads.c \
examples/version.c
EXTRA_DIST = PATCHES VERSION doc/README.dev doc/check-typography \
tools/ck-clz_tab tools/ck-copyright-notice tools/ck-news \
tools/ck-version-info tools/get_patches.sh \
EXTRA_DIST = PATCHES VERSION doc/README.dev doc/check-typography doc/mini-gmp \
tools/check_mparam.c tools/ck-clz_tab tools/ck-copyright-notice \
tools/ck-mparam tools/ck-news tools/ck-version-info tools/get_patches.sh \
$(DATAFILES)
all: all-recursive
@ -419,8 +421,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@ -598,7 +600,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@ -679,6 +684,10 @@ dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-zstd: distdir
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@ -720,6 +729,8 @@ distcheck: dist
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
*.tar.zst*) \
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
@ -900,7 +911,7 @@ uninstall-am: uninstall-nobase_dist_docDATA uninstall-pkgconfigDATA
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
dist-tarZ dist-xz dist-zip distcheck distclean \
dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
@ -918,20 +929,32 @@ uninstall-am: uninstall-nobase_dist_docDATA uninstall-pkgconfigDATA
.PRECIOUS: Makefile
# Since we do not require GNU "make", let's select the POSIX behavior to
# uniformize the behavior a bit more with various "make" implementations
# and ease maintenance. This target should be removed only if one day,
# we need to require GNU "make".
.POSIX:
bench:
cd tools/bench && $(MAKE) $(AM_MAKEFLAGS) bench
# Various checks for "make dist".
# Various checks for "make dist" / "make distcheck".
# Warning! With "make distcheck", neither the top-level directory nor
# the tools directory is writable.
# * Check consistency concerning -version-info. Moreover if the VERSION
# file doesn't end with "-dev", check that the -version-info value is
# up-to-date. Note: this is a heuristic, to detect some mistakes.
# * Check that copyright notices exist and appear to be correct.
# * Check the NEWS file.
# * Check the __clz_tab sizes.
# * Check the mparam.h files.
# * Check typography in mpfr.texi (Texinfo rules).
dist-hook:
cd $(srcdir) && tools/ck-version-info
cd $(srcdir) && tools/ck-copyright-notice
cd $(srcdir) && tools/ck-news
cd $(srcdir) && tools/ck-clz_tab
$(srcdir)/tools/ck-mparam
cd $(srcdir)/doc && ./check-typography
# Check that MPFR does not use GMP internal symbols. Of course, do not run

View File

@ -1 +1 @@
4.0.1
4.1.0

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
# Copyright 1992-2018 Free Software Foundation, Inc.
timestamp='2017-11-23'
timestamp='2018-02-22'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2017 Free Software Foundation, Inc.
Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -94,7 +94,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
echo $1
echo "$1"
exit ;;
* )
@ -112,7 +112,7 @@ esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
@ -120,16 +120,16 @@ case $maybe_os in
kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
android-linux)
os=-linux-android
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
if [ "$basic_machine" != "$1" ]
then os=`echo "$1" | sed 's/.*-/-/'`
else os=; fi
;;
esac
@ -178,44 +178,44 @@ case $os in
;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-lynx*178)
os=-lynxos178
@ -227,7 +227,7 @@ case $os in
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
;;
-psos*)
os=-psos
@ -296,7 +296,7 @@ case $basic_machine in
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| pdp10 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \
@ -333,7 +333,7 @@ case $basic_machine in
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
;;
ms1)
basic_machine=mt-unknown
@ -362,7 +362,7 @@ case $basic_machine in
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
@ -457,7 +457,7 @@ case $basic_machine in
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
basic_machine=i386-pc
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
@ -491,7 +491,7 @@ case $basic_machine in
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
@ -536,7 +536,7 @@ case $basic_machine in
os=-linux
;;
blackfin-*)
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
bluegene*)
@ -544,13 +544,13 @@ case $basic_machine in
os=-cnk
;;
c54x-*)
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c55x-*)
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c6x-*)
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c90)
basic_machine=c90-cray
@ -648,7 +648,7 @@ case $basic_machine in
os=$os"spe"
;;
e500v[12]-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=$os"spe"
;;
ebmon29k)
@ -740,9 +740,6 @@ case $basic_machine in
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
@ -755,26 +752,26 @@ case $basic_machine in
basic_machine=i370-ibm
;;
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
vsta)
basic_machine=i386-unknown
os=-vsta
;;
@ -793,19 +790,16 @@ case $basic_machine in
os=-sysv
;;
leon-*|leon[3-9]-*)
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
@ -837,10 +831,10 @@ case $basic_machine in
os=-mint
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
@ -859,7 +853,7 @@ case $basic_machine in
os=-msdos
;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i686-pc
@ -946,6 +940,9 @@ case $basic_machine in
nsr-tandem)
basic_machine=nsr-tandem
;;
nsv-tandem)
basic_machine=nsv-tandem
;;
nsx-tandem)
basic_machine=nsx-tandem
;;
@ -981,7 +978,7 @@ case $basic_machine in
os=-linux
;;
parisc-*)
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
pbd)
@ -997,7 +994,7 @@ case $basic_machine in
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
@ -1012,16 +1009,16 @@ case $basic_machine in
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
@ -1031,23 +1028,23 @@ case $basic_machine in
ppc | ppcbe) basic_machine=powerpc-unknown
;;
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
@ -1101,17 +1098,10 @@ case $basic_machine in
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
@ -1130,7 +1120,7 @@ case $basic_machine in
os=-sysv4
;;
strongarm-* | thumb-*)
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
sun2)
basic_machine=m68000-sun
@ -1244,9 +1234,6 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
wasm32)
basic_machine=wasm32-unknown
;;
w65*)
basic_machine=w65-wdc
os=-none
@ -1266,20 +1253,12 @@ case $basic_machine in
basic_machine=xps100-honeywell
;;
xscale-* | xscalee[bl]-*)
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
z80-*-coff)
basic_machine=z80-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
@ -1308,10 +1287,6 @@ case $basic_machine in
vax)
basic_machine=vax-dec
;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11)
basic_machine=pdp11-dec
;;
@ -1321,9 +1296,6 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
@ -1343,7 +1315,7 @@ case $basic_machine in
# Make sure to match an already-canonicalized machine name.
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
esac
@ -1351,10 +1323,10 @@ esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
;;
*)
;;
@ -1377,15 +1349,16 @@ case $os in
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# es1800 is here to avoid being matched by es* (a different OS)
-es1800*)
os=-ose
;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
@ -1398,7 +1371,7 @@ case $os in
| -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
@ -1409,14 +1382,15 @@ case $os in
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -morphos* | -superux* | -rtmk* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
| -midnightbsd*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@ -1433,12 +1407,12 @@ case $os in
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-sim | -xray | -os68k* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
os=`echo "$os" | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
@ -1447,10 +1421,10 @@ case $os in
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
@ -1461,12 +1435,6 @@ case $os in
-wince*)
os=-wince
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
@ -1513,7 +1481,7 @@ case $os in
-oss*)
os=-sysv3
;;
-svr4)
-svr4*)
os=-sysv4
;;
-svr3)
@ -1528,18 +1496,9 @@ case $os in
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-aros*)
os=-aros
;;
-zvmoe)
os=-zvmoe
;;
@ -1568,7 +1527,7 @@ case $os in
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
exit 1
;;
esac
@ -1664,9 +1623,6 @@ case $basic_machine in
*-be)
os=-beos
;;
*-haiku)
os=-haiku
;;
*-ibm)
os=-aix
;;
@ -1721,9 +1677,6 @@ case $basic_machine in
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
@ -1833,11 +1786,11 @@ case $basic_machine in
vendor=stratus
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os
echo "$basic_machine$os"
exit
# Local variables:

File diff suppressed because it is too large Load Diff

View File

@ -1,236 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.6.1 */
/* contributed by Jim Cloos <cloos at jhcloos dot com> with GMP 5.0.2 on a
"2009 or 2010 vintage phenom-II", where __amd64, __amd64__,
__k8, __k8__, __x86_64 and __x86_64__ are also defined.
*/
#define MPFR_MULHIGH_TAB \
-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,9,10,11, \
12,12,12,14,14,14,16,16,18,18,19,20,18,22,20,20, \
20,20,20,20,22,22,22,24,28,28,28,28,28,28,32,32, \
30,32,32,32,32,32,32,38,38,38,38,40,40,40,40,40, \
40,40,44,44,48,48,44,46,48,48,56,56,56,56,56,56, \
56,56,56,60,64,60,64,64,64,64,64,64,64,64,64,64, \
60,64,64,72,64,64,72,72,64,64,64,72,80,72,80,76, \
76,80,76,80,80,80,80,76,80,79,80,80,80,80,80,80, \
81,80,86,93,90,87,93,93,93,93,92,93,93,92,93,92, \
93,93,93,93,102,105,105,104,105,105,105,105,105,105,111,116, \
111,110,111,117,117,111,114,116,117,117,117,117,117,116,116,117, \
116,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117, \
117,117,117,117,117,117,117,117,117,148,148,156,148,148,148,148, \
148,156,156,156,155,156,156,156,156,156,156,156,156,156,155,156, \
156,156,156,156,172,156,172,172,172,156,172,156,172,172,172,172, \
172,172,172,172,172,172,172,180,172,180,172,172,172,188,188,172, \
188,188,188,188,188,188,179,188,188,188,188,188,188,188,188,188, \
188,220,220,220,220,188,220,220,220,220,220,220,220,220,220,220, \
220,220,220,220,220,220,220,220,220,220,220,220,220,219,220,220, \
220,220,220,220,236,220,220,220,252,252,236,252,252,252,252,236, \
236,236,252,236,252,252,236,252,236,252,252,252,252,251,250,252, \
252,252,252,252,252,252,252,252,252,252,252,252,251,252,252,251, \
252,252,252,252,252,252,252,252,252,252,252,252,252,252,284,284, \
252,284,284,284,284,284,284,284,284,284,284,284,284,284,283,284, \
284,283,284,284,300,300,300,284,284,300,284,284,298,300,316,316, \
300,284,300,316,300,316,300,284,316,316,316,316,300,316,300,316, \
316,300,316,300,316,316,315,316,316,316,316,316,316,316,316,316, \
316,316,316,316,313,316,316,316,316,316,316,316,320,316,320,368, \
316,316,316,368,368,368,367,368,368,368,368,368,368,368,368,368, \
367,367,368,368,368,368,368,368,368,368,368,368,368,368,368,368, \
368,368,368,366,368,368,367,368,368,367,368,368,368,368,368,368, \
367,366,367,368,368,367,368,368,368,368,368,368,368,368,368,368, \
368,368,368,368,368,368,368,368,416,368,368,368,368,368,368,416, \
368,416,415,416,416,368,416,416,416,415,415,416,416,416,416,416, \
416,416,415,416,416,415,416,416,440,416,415,416,416,415,416,415, \
416,416,416,474,415,416,416,415,416,416,416,416,416,416,474,474, \
488,474,440,440,488,488,504,473,504,474,504,504,503,503,503,503, \
503,504,501,504,504,503,474,474,503,504,504,503,504,488,488,488, \
503,503,504,504,504,504,504,504,501,503,504,503,504,504,499,504, \
504,503,504,504,504,504,503,504,504,504,488,504,504,504,474,504, \
501,504,504,501,504,503,504,504,504,504,504,504,504,504,503,504, \
504,503,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,503,568,568,568,504,504,504,504,568,504, \
568,567,568,568,568,568,567,568,567,568,567,600,568,600,568,568, \
568,568,568,567,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,567,568,568,568,568,568,568,568,568, \
568,568,568,632,600,568,568,568,565,568,568,568,632,568,568,600, \
600,631,600,632,600,632,632,600,600,632,600,600,632,600,600,600, \
632,616,600,632,600,632,632,600,600,600,600,600,600,632,600,632, \
632,616,632,632,632,616,632,632,632,627,631,629,632,632,631,632, \
632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
632,632,632,632,687,629,688,632,632,632,632,632,632,632,632,632, \
688,712,632,688,712,688,712,712,688,688,688,711,712,712,680,736, \
712,712,712,688,688,712,712,712,712,712,712,728,712,736,736,711, \
733,736,735,711,728,728,736,728,712,736,736,710,734,736,736,712, \
712,736,712,712,719,728,712,712,712,734,733,726,736,736,736,735, \
736,736,736,712,736,736,736,736,736,736,727,736,736,736,735,736, \
731,736,736,736,736,736,736,736,733,712,736,736,736,736,736,712, \
712,736,736,784,712,712,736,725,760,760,736,727,736,830,736,784, \
728,736,727,783,832,736,734,830,736,736,831,736,736,830,829,832, \
832,832,831,736,782,784,832,828,736,824,736,832,832,831,736,824, \
824,832,832,832,832,832,832,825,832,832,832,824,832,832,832,828, \
822,824,831,829,832,827,832,832,832,831,832,829,829,832,824,832, \
830,832,832,832,832,832,830,832,832,832,832,828,855,832,830,830 \
#define MPFR_SQRHIGH_TAB \
-1,0,0,0,-1,-1,-1,-1,-1,-1,7,8,9,8,9,9, \
11,11,11,13,13,14,15,16,17,17,19,19,16,19,17,19, \
19,18,19,19,21,21,21,23,23,25,25,23,25,25,25,25, \
28,27,27,29,29,28,31,31,34,34,34,34,38,36,38,38, \
42,42,42,42,42,42,44,46,42,46,44,50,46,50,42,50, \
44,44,46,50,50,50,50,50,50,50,50,50,50,50,50,50, \
52,50,54,54,54,54,56,56,56,56,58,56,56,58,58,60, \
60,62,62,67,62,68,72,68,68,72,68,76,72,72,72,76, \
76,76,76,76,84,72,84,76,76,76,84,76,76,84,84,84, \
92,84,84,84,84,84,92,92,92,92,92,92,92,92,92,100, \
92,92,100,100,92,100,100,100,100,100,100,92,100,100,92,100, \
100,100,92,92,100,92,100,104,100,108,100,100,100,108,104,100, \
100,104,100,108,108,108,112,108,112,112,112,123,112,123,112,135, \
116,123,123,135,123,135,135,135,135,135,135,135,135,135,135,135, \
135,135,147,135,135,135,135,147,147,147,147,147,147,147,147,147, \
147,147,147,147,147,147,147,147,147,147,147,159,147,147,147,147, \
165,147,147,159,153,147,147,147,165,159,147,147,165,153,147,159, \
165,165,165,165,165,171,171,159,165,159,165,165,165,165,165,165, \
171,165,171,171,165,177,171,171,189,183,171,165,165,165,183,165, \
165,165,183,183,186,189,165,189,165,171,165,165,189,165,183,183, \
183,189,183,201,201,189,189,183,189,183,195,189,189,189,183,213, \
183,183,195,195,213,189,189,189,201,201,189,195,213,225,225,201, \
201,213,213,195,213,201,225,225,225,225,225,224,225,225,213,225, \
225,225,225,225,225,225,225,225,225,225,225,225,225,225,249,225, \
249,249,248,225,249,249,249,249,249,249,225,249,249,248,249,249, \
249,249,249,248,249,249,249,249,249,249,249,249,249,249,249,249, \
249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, \
273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273, \
273,273,273,273,273,273,273,273,273,273,297,297,297,297,297,296, \
297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, \
297,297,297,297,297,297,297,297,297,273,273,273,273,273,273,296, \
273,309,297,321,321,297,297,297,297,297,297,296,297,297,297,296, \
297,296,297,297,297,297,297,297,297,297,297,297,297,297,309,297, \
297,297,309,297,297,297,297,297,297,297,321,297,321,333,297,366, \
333,333,333,366,333,296,333,333,333,297,333,333,333,297,297,321, \
321,345,402,345,402,402,402,402,402,402,402,402,402,402,402,402, \
401,401,402,402,402,402,402,402,402,402,402,402,401,402,402,401, \
402,402,402,402,401,402,402,402,402,402,401,402,402,401,401,402, \
401,401,393,402,402,438,401,402,402,401,401,402,401,402,402,402, \
402,401,402,402,402,402,402,402,402,402,402,401,402,401,402,401, \
402,402,400,402,402,402,402,402,402,402,438,438,438,438,438,438, \
438,438,402,438,402,402,402,402,438,438,402,438,401,402,438,438, \
438,438,438,438,438,438,401,437,438,402,401,402,438,401,402,402, \
402,402,402,402,401,437,438,438,438,437,438,438,401,402,402,438, \
438,438,402,402,402,402,401,402,402,437,438,438,438,438,438,438, \
438,438,438,438,437,437,438,438,438,438,438,438,438,437,437,438, \
437,438,438,438,438,402,438,402,438,438,438,438,438,438,437,438, \
456,438,438,438,438,437,438,438,438,438,437,438,438,438,437,438, \
438,438,438,473,437,456,438,438,438,438,438,437,438,438,438,438, \
438,438,437,438,438,438,438,438,456,474,455,456,456,474,473,492, \
456,474,456,474,474,474,474,474,536,512,474,512,474,536,474,474, \
536,474,536,536,474,474,536,536,536,536,536,536,536,536,536,536, \
536,534,536,536,536,535,536,536,536,536,535,536,536,536,536,536, \
536,535,536,535,536,536,512,536,536,536,536,536,536,535,536,534, \
535,584,536,536,536,534,535,536,536,536,536,536,536,536,536,534, \
536,536,536,536,535,536,584,535,536,584,536,536,536,536,584,584, \
584,584,536,584,584,584,584,584,584,584,583,584,582,584,584,584, \
584,584,584,584,584,582,583,584,584,584,584,584,584,584,584,584, \
584,583,584,584,696,584,584,583,584,584,696,726,696,584,584,584, \
728,696,696,696,584,728,696,584,696,696,694,696,696,696,727,584, \
695,694,584,696,696,695,728,696,696,696,696,696,694,696,727,695, \
696,695,695,696,696,728,696,696,695,696,696,696,696,696,696,696, \
727,696,696,696,696,695,696,728,727,696,695,727,696,726,727,726, \
727,728,728,727,694,727,728,728,728,727,727,728,727,728,727,728 \
#define MPFR_DIVHIGH_TAB \
0,1,2,3,4,5,6,7,8,9,10,11,10,13,14,15, \
14,15,18,19,18,14,15,18,18,18,19,17,18,19,18,19, \
22,21,23,21,22,22,23,25,26,27,26,27,27,27,30,30, \
30,34,30,34,32,33,34,31,30,34,37,34,38,38,38,38, \
38,38,42,43,42,42,39,38,42,44,43,42,40,45,46,46, \
46,45,46,43,44,50,48,48,48,46,53,51,50,50,50,50, \
53,51,53,53,53,53,55,55,55,55,55,55,60,64,60,60, \
62,63,64,65,60,64,68,72,64,68,68,64,64,68,72,66, \
67,69,71,72,76,80,71,72,76,74,74,76,76,77,76,80, \
79,84,84,84,78,84,88,88,92,84,80,92,92,80,88,84, \
92,88,91,92,92,92,93,95,92,90,92,92,92,92,92,96, \
96,96,92,92,92,92,96,96,102,96,95,110,96,96,100,100, \
112,100,100,106,106,110,112,110,110,111,110,120,110,110,112,120, \
110,120,120,120,112,120,128,128,128,128,124,128,128,120,128,128, \
127,128,124,128,128,128,128,126,128,128,128,128,136,140,128,128, \
128,128,136,144,128,128,144,144,128,144,144,144,144,128,152,152, \
152,152,152,160,160,152,144,144,152,151,144,143,152,144,144,152, \
152,144,152,152,152,152,151,152,160,158,144,160,160,160,160,160, \
152,160,152,152,152,160,152,160,160,156,158,160,160,160,160,160, \
160,160,160,160,168,160,160,160,160,160,159,160,160,160,176,176, \
180,176,176,184,184,186,184,184,184,184,186,184,186,172,176,192, \
184,184,184,184,185,176,176,185,184,185,186,183,184,184,181,191, \
192,184,184,185,192,192,192,186,192,192,192,192,192,191,196,192, \
192,192,192,192,196,190,192,192,200,192,198,220,222,204,200,222, \
220,220,222,222,224,222,222,219,222,222,224,224,220,222,220,224, \
220,221,222,220,232,222,221,232,222,220,224,232,220,232,222,232, \
224,220,220,222,222,222,221,222,220,220,222,222,224,224,224,222, \
220,224,224,232,224,222,222,232,224,222,223,224,224,224,231,232, \
256,232,231,232,239,232,239,234,238,238,239,232,239,232,256,256, \
288,288,248,256,256,256,256,256,256,239,255,256,256,256,256,256, \
256,256,256,256,256,256,296,256,254,256,256,272,272,272,256,256, \
288,272,256,256,280,296,288,280,288,288,296,280,288,288,288,294, \
296,296,294,304,288,287,288,296,304,304,288,303,304,296,288,312, \
312,312,312,288,288,312,288,288,312,320,305,288,320,320,288,312, \
311,312,312,312,304,304,312,304,319,296,288,310,312,288,288,320, \
304,304,304,288,300,312,309,304,304,311,288,296,296,320,312,311, \
296,320,312,304,304,312,312,320,296,320,312,296,305,312,304,303, \
304,312,303,312,304,311,312,312,320,312,311,320,320,320,320,320, \
312,320,312,312,312,320,312,312,320,320,319,320,320,320,320,320, \
320,320,320,320,320,320,320,320,320,320,320,320,320,320,352,336, \
344,352,352,344,360,360,343,336,352,366,370,352,360,368,376,360, \
360,360,367,368,360,352,371,360,368,368,372,352,352,352,352,352, \
384,370,360,368,384,372,375,360,368,368,368,368,368,368,384,372, \
352,372,352,368,366,376,352,367,384,368,360,368,360,384,371,376, \
360,366,368,368,360,369,371,367,368,369,384,376,368,372,372,384, \
440,368,376,384,372,376,440,440,376,440,368,369,384,370,440,440, \
440,392,440,440,384,384,440,440,448,440,440,440,440,440,440,440, \
440,440,384,440,439,440,384,384,440,440,440,440,440,440,439,448, \
440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440, \
440,440,440,440,440,440,439,440,440,440,440,440,440,440,440,440, \
440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,480, \
440,440,440,440,468,480,440,440,440,440,440,464,440,440,440,440, \
480,440,440,440,440,448,439,440,440,440,440,440,440,448,440,448, \
512,439,440,448,440,440,440,438,440,440,440,440,496,440,465,440, \
440,466,440,440,440,440,512,440,440,440,440,464,440,440,448,466, \
512,496,512,512,512,448,512,447,448,468,472,448,480,464,480,512, \
466,466,496,468,512,468,496,480,512,512,496,467,472,512,512,512, \
512,468,512,512,512,512,512,478,512,472,512,512,512,496,512,512, \
512,512,512,512,496,480,496,496,512,512,512,496,480,512,544,480, \
576,512,512,576,512,512,512,576,512,512,496,496,512,480,576,576, \
512,510,496,568,576,576,496,560,576,511,512,576,576,512,512,576, \
560,496,576,512,512,512,512,512,512,576,576,512,512,576,512,512, \
512,512,576,512,512,512,508,512,576,512,576,576,512,576,592,512, \
568,512,576,568,576,576,576,512,576,576,592,576,592,512,608,576 \
#define MPFR_MUL_THRESHOLD 17 /* limbs */
#define MPFR_SQR_THRESHOLD 19 /* limbs */
#define MPFR_DIV_THRESHOLD 28 /* limbs */
#define MPFR_EXP_2_THRESHOLD 1031 /* bits */
#define MPFR_EXP_THRESHOLD 10625 /* bits */
#define MPFR_SINCOS_THRESHOLD 26682 /* bits */
#define MPFR_AI_THRESHOLD1 -11328 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 1045
#define MPFR_AI_THRESHOLD3 17871
/* Tuneup completed successfully, took 562 seconds */

View File

@ -1,90 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#define MPFR_MULHIGH_TAB \
-1,0,-1,0,-1,0,-1,-1,0,-1,-1,0,0,0,0,10, \
0,12,13,14,15,16,0,0,0,0,0,19,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32, \
30,32,30,34,32,32,36,34,36,36,38,38,42,38,38,42, \
40,38,42,46,42,42,42,44,44,44,44,44,48,50,46,46, \
60,50,50,48,50,56,56,56,56,56,56,56,60,60,64,60, \
64,64,60,60,60,72,64,64,68,72,76,72,76,72,72,76, \
75,76,76,72,76,72,75,72,72,72,84,76,84,75,72,76, \
84,80,76,84,84,76,76,76,76,88,84,88,80,84,83,96, \
84,96,92,84,88,91,92,88,92,90,96,96,92,91,92,96, \
96,120,95,100,112,120,100,119,112,120,120,112,119,112,119,119, \
120,118,119,119,119,118,119,120,128,127,120,128,128,120,120,127, \
120,128,128,128,128,120,128,127,120,128,128,127,128,127,144,136, \
128,144,152,152,152,136,144,144,144,136,151,152,144,152,128,151, \
144,152,144,144,151,144,150,150,136,151,152,143,143,143,142,168, \
144,144,168,151,168,144,152,151,152,152,160,152,151,152,160,151, \
152,151,152,167,152,152,166,152,167,160,168,204,160,160,168,168, \
204,176,202,167,168,166,167,168,204,184,202,204,204,204,204,192, \
184,192,204,202,202,216,204,227,202,204,216,203,203,204,203,227, \
202,204,202,202,202,203,202,215,204,202,203,202,202,215,228,214, \
226,214,228,214,228,215,228,216,226,214,228,225,226,228,226,226, \
226,215,216,216,226,225,226,227,216,227,240,216,252,252,226,227, \
228,239,227,250,227,226,227,227,252,238,228,239,252,227,228,228, \
252,226,246,228,227,227,252,247,250,263,262,250,252,250,250,252, \
250,288,288,250,250,250,251,264,264,271,287,276,250,288,252,286, \
251,287,288,251,276,274,288,262,263,263,282,252,288,252,276,284, \
287,274,264,274,288,275,275,274,274,288,276,264,273,286,274,276, \
300,287,288,286,286,276,288,285,275,300,275,273,275,299,300,299, \
279,336,336,286,287,284,360,359,336,335,288,360,333,359,334,335, \
335,287,359,335,336,336,359,333,334,359,360,288,360,332,335,336, \
335,336,336,333,336,335,336,359,334,334,335,360,336,334,356,357, \
335,336,358,359,359,336,335,336,334,355,384,356,354,384,334,357, \
336,359,384,359,360,356,384,382,336,383,384,384,354,355,383,384, \
382,359,384,382,382,383,383,359,381,382,383,356,384,382,381,384, \
357,384,358,357,358,358,380,383,382,382,383,360,360,381,382,360, \
377,360,378,360,360,381,382,383,381,380,383,383,360,382,383,380, \
383,383,384,381,379,360,381,381,382,431,380,380,378,380,384,381, \
382,382,384,407,384,382,379,384,430,431,383,384,408,384,456,431, \
431,455,431,428,384,454,455,403,432,383,407,430,430,456,408,427, \
455,455,456,455,432,431,431,429,455,432,432,424,430,427,427,429, \
452,454,426,455,456,431,430,454,452,454,431,456,431,428,455,430, \
454,430,432,455,454,442,443,432,443,431,451,452,456,430,451,456, \
444,455,449,456,432,454,449,454,502,432,448,504,450,503,503,453, \
454,502,446,452,453,454,455,499,504,453,456,504,454,453,503,455, \
456,456,500,478,502,454,456,499,478,454,480,499,501,496,502,455, \
499,502,503,456,478,500,501,500,479,503,504,451,452,479,454,455, \
502,503,504,504,454,499,503,501,454,503,456,503,504,501,455,502, \
503,503,502,504,610,503,504,574,480,551,528,504,609,576,480,503, \
496,502,503,552,551,552,551,503,504,503,610,608,609,610,611,608, \
608,551,648,611,612,550,576,572,608,611,610,606,608,611,610,574, \
575,576,606,607,606,606,608,606,606,575,576,604,604,604,608,609, \
606,606,606,608,604,604,611,604,604,576,610,606,610,606,604,610, \
606,612,604,608,610,609,604,608,606,647,612,610,604,606,648,610, \
610,606,646,608,604,647,606,647,606,609,610,647,648,609,641,611, \
643,611,643,648,643,640,646,611,644,644,645,611,642,646,611,612, \
640,647,610,611,610,611,606,647,648,647,648,644,682,642,682,683, \
610,611,680,678,642,681,682,647,682,612,682,648,611,665,680,683, \
609,646,666,676,680,646,679,647,646,646,648,679,684,611,612,643, \
684,645,646,647,683,647,608,645,682,647,682,646,610,648,682,610, \
684,612,612,683,684,647,647,646,680,646,646,745,648,646,644,647, \
648,647,678,646,647,683,642,682,682,684,646,645,642,647,646,677, \
646,647,683,678,680,646,646,643,681,647,683,645,666,755,756,645, \
643,647,646,647,647,648,674,755,756,674,647,643,680,682,684,680, \
680,682,682,675,682,677,666,683,680,682,682,684,680,681,674,674 \
#define MPFR_MUL_THRESHOLD 19
#define MPFR_EXP_2_THRESHOLD 411 /* bits */
#define MPFR_EXP_THRESHOLD 45200 /* bits */

View File

@ -1,236 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.3.2 */
/* gcc11.fsffrance.org (Dual-Core AMD Opteron(tm) Processor 2212)
with gmp 5.0.2.
Keith Briggs sent similar parameters obtained on a AMD Athlon
(__tune_k8__, __x86_64, __amd64, __k8) */
#define MPFR_MULHIGH_TAB \
-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,11,11, \
12,12,11,15,14,14,15,16,18,18,19,20,18,19,19,20, \
22,22,23,24,26,30,28,28,32,30,30,32,32,30,32,32, \
32,30,30,32,32,38,32,32,36,40,40,40,36,38,40,38, \
40,44,40,44,44,44,44,48,48,46,48,48,56,56,56,56, \
56,56,56,60,64,60,60,64,64,64,64,64,64,64,64,64, \
72,72,72,72,72,72,72,72,72,72,72,72,80,80,80,80, \
80,80,80,80,80,80,80,80,80,80,80,80,93,80,93,93, \
93,76,80,93,80,93,93,90,93,93,93,93,93,93,93,93, \
93,93,111,105,93,117,105,105,117,117,111,117,117,105,117,117, \
117,105,117,117,117,117,117,117,117,117,117,117,117,117,117,117, \
117,117,117,117,116,117,116,117,117,117,117,117,117,117,117,117, \
117,117,140,117,140,140,140,140,140,148,148,147,140,156,156,156, \
148,148,156,148,156,156,156,156,156,155,156,155,156,155,156,156, \
156,156,156,156,156,156,156,156,172,172,172,156,172,172,172,172, \
172,172,172,172,180,180,180,180,180,180,180,188,188,188,188,188, \
180,188,188,188,188,187,188,188,188,188,188,188,188,188,188,188, \
188,188,188,188,188,188,188,188,188,188,188,188,188,220,220,204, \
220,220,220,219,220,220,220,220,220,219,220,219,220,219,220,220, \
220,236,236,220,236,219,233,236,233,252,236,252,236,252,252,236, \
235,236,236,252,252,236,236,252,252,236,252,252,236,251,250,251, \
252,252,251,252,252,252,252,252,252,252,252,252,252,252,252,252, \
252,252,284,252,284,284,284,284,284,252,284,284,284,284,284,284, \
283,284,284,284,284,284,284,284,284,284,284,283,284,284,284,284, \
284,284,283,284,284,284,284,284,284,284,284,284,284,300,284,300, \
300,316,300,300,300,316,300,300,316,316,316,316,316,316,316,316, \
316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316, \
316,315,316,316,315,316,316,316,315,316,316,316,316,316,316,316, \
316,316,316,368,316,316,367,368,368,368,368,368,368,368,368,368, \
368,368,368,368,368,368,368,368,368,368,368,368,368,368,368,368, \
368,368,368,368,368,368,367,368,368,368,368,367,368,367,367,368, \
368,367,367,368,367,368,368,367,368,368,368,367,368,368,368,368, \
367,368,416,415,416,416,416,416,416,416,415,416,416,416,416,416, \
416,416,416,416,416,416,415,416,415,416,415,416,416,416,416,416, \
416,415,416,416,415,416,416,415,416,416,440,416,416,416,440,416, \
415,416,415,416,464,464,464,464,464,464,463,464,464,464,463,464, \
464,464,464,464,464,463,464,464,474,474,464,464,473,474,474,504, \
474,474,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,504,504,504,503,504,504,504,504,504,504, \
503,504,504,504,504,504,503,504,504,504,504,504,503,504,504,503, \
504,504,504,504,504,504,504,504,503,504,504,504,504,504,503,504, \
504,504,504,504,568,568,568,504,568,568,568,568,568,568,568,568, \
568,567,568,568,568,567,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,567,567,568,566,568,568,568,567, \
568,568,568,568,568,568,568,568,568,568,567,568,568,567,568,568, \
568,568,568,568,567,568,568,566,567,568,568,568,568,568,568,568, \
568,567,568,568,567,568,567,568,567,568,567,568,567,568,632,568, \
600,632,632,600,631,632,632,632,632,631,600,600,632,632,600,631, \
632,632,632,632,632,632,631,632,632,632,631,632,631,632,632,632, \
632,632,631,632,632,631,632,632,632,631,632,632,632,632,631,632, \
632,632,632,632,630,632,632,632,632,632,631,632,631,632,631,632, \
632,632,632,632,632,632,632,632,631,632,632,632,632,632,632,631, \
632,632,632,631,632,632,632,736,632,631,632,736,632,632,632,632, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,734,736,736,735,736,736,735,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,735,736,736,736,736,736,736,736,735,736, \
736,736,735,736,735,736,736,736,735,736,736,736,736,736,736,736, \
736,736,736,735,736,736,736,735,736,736,736,736,736,735,736,736, \
736,736,736,736,736,736,736,736,736,735,736,735,736,832,736,832, \
832,832,832,832,831,832,832,831,832,832,832,832,832,832,831,832, \
831,832,831,832,832,831,832,832,832,832,832,832,831,832,832,832, \
831,832,832,832,832,832,831,832,832,832,832,832,831,832,831,832, \
832,832,831,832,831,832,831,832,832,832,832,832,832,832,831,832 \
#define MPFR_SQRHIGH_TAB \
-1,0,0,0,0,-1,-1,-1,-1,-1,7,7,8,9,9,11, \
11,11,11,11,13,13,15,15,17,17,18,17,17,17,18,20, \
20,21,23,23,20,21,23,23,24,25,23,23,24,25,26,25, \
28,27,28,29,28,31,34,31,34,34,34,34,34,34,34,34, \
40,34,40,36,40,42,40,42,40,40,42,42,48,48,46,46, \
42,46,48,48,46,50,46,52,54,54,48,56,54,50,54,52, \
50,54,54,52,54,54,58,58,62,64,58,58,58,64,62,64, \
58,64,66,72,68,68,68,68,68,62,66,72,72,72,68,68, \
72,72,68,72,72,72,72,72,80,84,80,80,80,84,80,80, \
80,84,84,84,84,84,92,80,80,84,92,84,92,92,92,96, \
100,92,100,92,96,92,92,96,100,100,96,96,96,100,100,96, \
96,96,92,92,96,96,108,100,96,100,100,112,112,112,112,112, \
112,112,108,112,100,104,112,116,104,116,116,108,112,112,112,116, \
112,112,112,112,112,141,135,141,116,135,135,135,141,141,141,141, \
141,141,141,141,141,141,135,135,141,141,147,141,141,141,140,141, \
141,141,147,147,141,147,147,147,147,147,147,147,147,147,147,159, \
153,147,147,159,159,159,159,159,159,159,159,159,165,171,171,171, \
165,170,171,171,165,171,171,171,165,171,171,171,183,171,171,171, \
183,183,171,183,171,183,183,183,183,183,183,183,189,189,183,195, \
171,171,188,171,171,195,171,171,171,195,195,182,195,177,182,183, \
183,181,182,183,183,189,183,194,195,195,194,195,195,195,195,195, \
195,195,213,195,195,195,195,195,189,195,195,195,195,195,195,195, \
212,195,213,195,195,195,213,195,195,195,195,195,195,213,213,201, \
195,195,195,213,213,213,213,213,212,213,213,213,213,213,213,213, \
237,212,213,213,213,213,213,225,213,213,213,249,213,249,237,237, \
237,237,237,249,237,237,237,237,249,237,249,237,237,237,249,249, \
249,236,237,249,249,249,249,249,249,249,249,249,249,249,249,249, \
249,273,273,273,273,273,273,272,273,273,273,273,273,273,273,273, \
273,273,273,273,273,273,273,285,273,284,285,285,285,285,297,284, \
285,297,285,297,297,297,297,297,297,297,297,296,297,296,297,296, \
297,297,297,297,297,297,297,273,297,273,309,273,273,273,273,320, \
321,321,321,285,285,285,285,285,284,285,297,285,297,297,297,297, \
297,297,333,297,297,297,296,297,309,297,297,297,297,285,309,348, \
297,297,348,348,285,321,297,321,321,297,320,321,321,297,297,321, \
297,321,333,366,333,333,309,333,333,333,332,333,297,321,321,321, \
321,348,321,345,348,348,348,366,348,347,348,365,366,365,333,366, \
402,366,333,366,366,366,366,402,366,365,366,366,366,366,366,366, \
366,348,420,420,348,420,419,420,419,420,420,420,366,366,420,366, \
366,365,366,402,366,366,366,366,402,402,402,401,402,402,402,401, \
420,401,402,402,420,420,420,420,402,420,420,420,420,419,420,419, \
420,419,420,420,402,401,420,402,402,420,402,420,402,401,420,420, \
420,420,420,420,420,402,420,420,402,420,420,420,420,420,420,420, \
420,420,420,420,420,420,420,420,420,419,420,420,438,420,420,438, \
420,420,420,420,420,420,438,420,437,438,438,420,438,438,420,420, \
438,420,420,438,438,420,420,420,438,420,420,420,420,419,420,420, \
420,420,420,420,474,419,420,420,420,438,419,456,438,474,438,437, \
438,438,438,438,438,420,438,420,438,438,438,420,420,419,420,420, \
438,420,438,419,420,420,420,420,420,419,420,474,420,420,438,420, \
438,473,474,474,474,473,438,474,474,438,438,437,438,438,438,438, \
438,438,474,437,437,474,560,456,473,474,535,536,474,560,536,536, \
560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560, \
560,560,559,560,560,560,560,560,560,560,560,560,560,560,560,560, \
559,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560, \
560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560, \
559,560,560,560,560,560,560,560,559,560,559,560,560,560,560,559, \
559,560,559,560,560,560,560,560,560,559,560,560,559,560,559,560, \
560,560,559,560,560,560,560,559,560,560,560,560,560,560,560,560, \
560,560,560,560,560,560,560,560,560,560,559,584,560,560,560,560, \
559,560,560,559,560,560,560,560,560,560,559,559,560,560,560,560, \
560,560,559,560,560,560,560,560,560,583,560,560,584,560,584,584, \
584,560,583,583,584,584,582,584,584,584,583,584,584,584,584,584, \
727,584,728,632,728,560,727,728,728,560,584,560,560,727,728,728, \
727,728,728,728,608,728,728,724,728,728,760,727,728,727,728,728, \
728,759,728,696,728,728,728,728,728,727,759,760,727,760,760,727 \
#define MPFR_DIVHIGH_TAB \
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, \
14,15,18,19,18,14,22,18,18,18,18,20,18,18,20,22, \
22,22,23,24,26,26,26,28,24,30,28,28,28,30,30,32, \
32,34,32,34,32,34,34,31,32,37,32,37,32,33,34,35, \
39,37,37,39,39,37,39,39,39,39,39,39,43,44,46,46, \
47,45,46,48,52,48,50,50,48,46,50,50,52,56,54,50, \
60,60,60,56,56,64,61,60,56,64,60,64,64,64,64,60, \
64,64,64,63,64,64,64,64,64,64,70,64,64,68,78,66, \
74,69,70,74,70,69,74,78,78,74,74,74,74,78,78,79, \
78,78,78,78,78,78,78,78,78,78,88,88,88,88,88,88, \
92,92,88,91,92,88,95,96,96,96,96,92,92,88,92,112, \
112,112,112,108,112,112,112,112,120,112,112,112,120,112,120,112, \
112,120,120,120,104,112,112,128,112,112,112,120,112,112,120,120, \
128,120,120,120,112,120,128,128,128,120,128,128,128,128,128,128, \
128,128,120,128,128,128,128,128,120,128,128,128,128,128,128,128, \
128,128,128,128,128,128,126,128,128,128,127,128,128,128,144,148, \
136,136,144,144,140,141,140,148,148,151,144,148,148,160,156,148, \
160,160,160,160,156,156,156,148,148,156,148,160,160,160,148,156, \
148,148,148,156,156,156,156,160,156,156,158,156,156,157,160,156, \
156,160,160,158,156,156,158,158,159,160,159,160,160,160,184,183, \
184,184,180,184,184,176,184,184,184,184,186,184,184,184,184,184, \
184,184,186,186,192,184,184,186,184,184,186,183,184,185,186,184, \
184,184,186,185,216,184,192,186,208,192,192,184,208,216,224,209, \
208,216,224,222,224,216,208,224,224,224,208,224,210,224,216,234, \
208,216,216,208,224,216,216,224,224,222,224,224,224,216,224,224, \
224,221,224,216,232,224,224,224,224,224,224,224,208,224,222,224, \
224,224,216,224,232,224,224,216,224,256,224,256,224,248,224,224, \
224,224,224,224,224,222,224,232,222,224,224,224,224,224,230,232, \
256,234,232,240,240,233,240,233,248,240,240,240,240,238,240,256, \
248,240,248,256,256,256,256,256,256,248,256,256,256,256,256,256, \
256,256,256,256,256,256,248,256,248,256,248,248,256,256,256,256, \
256,256,256,256,280,296,280,280,256,288,296,280,256,280,280,296, \
296,296,280,280,280,296,296,296,280,280,280,296,280,296,295,312, \
312,312,312,296,312,311,312,312,312,296,296,312,296,296,312,312, \
312,296,312,312,296,311,312,312,312,312,312,312,312,312,312,296, \
296,312,311,296,312,312,312,312,312,312,312,312,296,312,312,312, \
312,312,312,312,312,312,312,312,296,312,312,312,312,312,312,312, \
312,312,312,312,311,311,312,312,312,312,312,312,312,312,312,312, \
312,312,312,312,312,312,312,312,312,312,312,312,312,312,320,316, \
320,319,319,320,320,320,319,320,319,320,360,320,320,320,352,360, \
368,352,368,368,369,372,344,370,372,366,369,352,370,370,370,360, \
360,360,360,368,360,372,372,360,370,368,372,367,368,360,370,368, \
372,371,370,372,372,372,371,368,368,368,370,370,368,368,368,372, \
370,372,367,368,368,370,368,368,360,368,360,368,370,368,368,367, \
360,368,368,368,372,368,372,368,368,368,372,371,368,416,368,367, \
372,368,372,372,372,370,440,372,368,416,368,368,368,433,448,369, \
440,416,415,416,440,448,440,440,448,448,440,448,440,440,448,416, \
416,416,415,440,417,416,416,418,432,418,417,448,416,432,416,432, \
416,420,440,448,408,416,432,448,416,448,448,448,440,440,440,440, \
448,440,440,440,440,448,416,448,440,416,448,416,448,448,440,448, \
416,440,416,419,417,448,416,420,416,432,433,420,417,432,416,424, \
440,440,440,440,448,437,440,440,448,440,440,448,448,448,448,432, \
480,440,440,440,448,448,448,448,448,448,440,448,445,432,448,448, \
448,439,448,448,468,448,448,440,440,440,448,448,468,496,480,448, \
440,448,440,468,440,496,440,466,448,448,448,468,448,440,448,448, \
448,496,496,496,496,448,448,496,448,468,468,448,448,468,480,467, \
468,512,496,512,512,496,496,480,512,480,496,512,512,512,496,512, \
512,496,496,496,512,512,512,512,512,496,512,512,496,496,496,496, \
512,512,496,512,496,496,496,496,512,512,512,496,480,496,496,496, \
496,496,512,512,512,512,496,496,512,496,496,496,512,480,496,544, \
512,496,496,496,576,512,496,560,496,496,512,561,496,560,496,560, \
560,496,512,512,512,496,512,512,512,576,512,512,512,512,512,512, \
512,512,512,512,560,512,560,512,576,512,576,592,512,560,591,512, \
592,512,576,512,576,592,592,624,592,576,560,512,592,576,592,592 \
#define MPFR_MUL_THRESHOLD 19 /* limbs */
#define MPFR_SQR_THRESHOLD 18 /* limbs */
#define MPFR_DIV_THRESHOLD 34 /* limbs */
#define MPFR_EXP_2_THRESHOLD 1031 /* bits */
#define MPFR_EXP_THRESHOLD 11014 /* bits */
#define MPFR_SINCOS_THRESHOLD 26907 /* bits */
#define MPFR_AI_THRESHOLD1 -12404 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 1024
#define MPFR_AI_THRESHOLD3 19611
/* Tuneup completed successfully, took 759 seconds */

View File

@ -1,94 +0,0 @@
/* mpfr_cmpabs -- compare the absolute values of two FP numbers
Copyright 1999, 2001-2004, 2006-2018 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "mpfr-impl.h"
/* Return a positive value if abs(b) > abs(c), 0 if abs(b) = abs(c), and
a negative value if abs(b) < abs(c). Neither b nor c may be NaN. */
int
mpfr_cmpabs (mpfr_srcptr b, mpfr_srcptr c)
{
mpfr_exp_t be, ce;
mp_size_t bn, cn;
mp_limb_t *bp, *cp;
if (MPFR_ARE_SINGULAR (b, c))
{
if (MPFR_IS_NAN (b) || MPFR_IS_NAN (c))
{
MPFR_SET_ERANGEFLAG ();
return 0;
}
else if (MPFR_IS_INF (b))
return ! MPFR_IS_INF (c);
else if (MPFR_IS_INF (c))
return -1;
else if (MPFR_IS_ZERO (c))
return ! MPFR_IS_ZERO (b);
else /* b == 0 */
return -1;
}
MPFR_ASSERTD (MPFR_IS_PURE_FP (b));
MPFR_ASSERTD (MPFR_IS_PURE_FP (c));
/* Now that we know that b and c are pure FP numbers (i.e. they have
a meaningful exponent), we use MPFR_EXP instead of MPFR_GET_EXP to
allow exponents outside the current exponent range. For instance,
this is useful for mpfr_pow, which compares values to __gmpfr_one.
This is for internal use only! For compatibility with other MPFR
versions, the user must still provide values that are representable
in the current exponent range. */
be = MPFR_EXP (b);
ce = MPFR_EXP (c);
if (be > ce)
return 1;
if (be < ce)
return -1;
/* exponents are equal */
bn = MPFR_LIMB_SIZE(b)-1;
cn = MPFR_LIMB_SIZE(c)-1;
bp = MPFR_MANT(b);
cp = MPFR_MANT(c);
for ( ; bn >= 0 && cn >= 0; bn--, cn--)
{
if (bp[bn] > cp[cn])
return 1;
if (bp[bn] < cp[cn])
return -1;
}
for ( ; bn >= 0; bn--)
if (bp[bn])
return 1;
for ( ; cn >= 0; cn--)
if (cp[cn])
return -1;
return 0;
}

View File

@ -1,29 +0,0 @@
/* mpfr_get_patches -- Patches that have been applied
Copyright 2007-2018 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "mpfr-impl.h"
const char *
mpfr_get_patches (void)
{
return "";
}

View File

@ -1,233 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.3.2 */
/* generated on gcc61.fsffrance.org (HP PA-8600) with GMP 5.0.2 */
#define MPFR_MULHIGH_TAB \
-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,48,47,48,47,48,47,48,47, \
48,47,64,63,64,63,64,63,64,63,64,63,64,63,64,63, \
64,63,64,63,64,63,64,63,64,63,64,63,64,63,64,63, \
64,63,64,72,64,72,64,93,64,93,64,93,92,93,92,93, \
92,93,92,93,92,93,92,93,92,93,92,93,92,93,92,93, \
92,93,92,93,105,93,105,93,105,93,105,93,105,105,105,108, \
105,105,105,105,108,105,105,105,108,108,108,117,108,117,108,141, \
140,141,140,141,140,141,140,141,140,141,140,141,140,141,140,141, \
140,141,140,141,140,141,140,141,140,141,140,141,140,141,140,141, \
140,141,140,141,140,141,140,141,141,153,140,141,140,141,140,140, \
144,140,140,141,140,139,140,141,140,141,140,141,188,188,188,187, \
188,187,188,188,188,188,188,188,188,188,188,188,188,188,188,187, \
187,187,188,188,188,188,188,188,210,188,210,188,188,210,188,188, \
188,188,188,188,188,188,188,188,188,188,186,188,210,188,188,187, \
188,188,210,210,210,210,210,210,210,210,210,210,210,210,210,210, \
210,210,210,210,210,210,210,208,210,209,210,210,210,210,210,233, \
234,234,234,233,232,234,234,234,234,234,234,234,234,234,234,276, \
234,276,234,276,234,276,276,276,276,276,276,276,282,276,282,276, \
282,276,276,276,276,276,282,281,276,276,276,276,276,276,276,276, \
276,276,276,276,276,276,282,276,282,276,282,276,282,281,282,281, \
282,281,282,281,282,281,282,281,282,281,282,306,282,306,282,306, \
306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306, \
306,372,306,371,306,372,372,372,372,372,372,371,372,372,372,372, \
372,372,372,372,372,372,372,372,372,372,372,372,372,372,372,372, \
372,371,372,372,372,372,372,372,372,372,372,372,372,372,372,372, \
372,372,372,372,372,372,372,372,372,372,372,372,372,372,372,372, \
372,372,372,372,372,372,372,372,372,372,372,372,372,372,372,372, \
372,372,372,372,372,372,372,372,372,372,372,372,372,372,372,372, \
372,372,372,372,372,372,372,372,426,372,426,426,426,426,426,426, \
426,426,426,426,426,425,426,425,426,426,426,426,426,426,426,426, \
426,426,426,426,426,424,426,426,426,426,426,426,426,426,426,426, \
426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,503, \
504,503,504,503,504,503,504,503,504,503,504,503,504,503,504,503, \
504,503,504,503,504,503,504,503,502,503,504,503,504,503,504,503, \
504,496,504,503,504,503,504,503,504,503,504,503,504,503,504,503, \
504,503,504,503,504,503,504,503,504,503,568,568,568,568,568,568, \
568,567,568,568,568,567,568,567,568,567,568,568,568,567,568,568, \
568,568,568,568,568,567,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,567,568,568,568,568,568,567,568,567,568,568,568,567, \
568,567,568,567,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
568,567,568,568,568,568,568,568,632,568,568,568,568,631,568,568, \
568,568,568,568,568,567,568,567,568,568,568,568,632,632,632,631, \
632,631,632,631,632,632,632,631,632,632,632,631,632,632,632,728, \
728,727,728,727,728,728,728,727,728,727,728,727,728,727,728,728, \
728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728, \
728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728, \
728,752,728,752,728,752,728,752,752,752,728,752,752,752,752,752, \
752,752,752,752,752,752,752,752,752,752,752,752,752,751,752,751, \
752,751,752,751,728,728,728,728,752,728,728,728,728,728,728,728, \
728,752,832,751,832,752,832,752,832,752,832,752,832,752,832,751, \
832,831,832,752,832,831,832,832,832,832,832,832,832,824,832,832, \
832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \
832,832,832,832,832,832,832,831,832,831,832,831,832,831,832,831, \
832,831,832,832,832,831,832,831,832,831,832,831,832,831,832,831, \
832,832,832,831,832,832,832,832,832,831,832,832,832,832,832,832 \
#define MPFR_SQRHIGH_TAB \
-1,0,0,0,0,0,0,0,0,0,0,7,0,8,9,9, \
10,10,11,11,12,13,14,13,14,15,16,15,16,17,18,17, \
18,19,20,19,20,21,22,21,22,23,24,23,24,25,26,25, \
26,27,28,27,28,29,30,29,30,31,32,31,32,33,34,33, \
34,35,36,35,36,37,38,37,38,39,40,39,40,41,42,41, \
42,43,44,43,44,47,48,47,48,47,48,47,48,51,52,51, \
52,51,52,51,56,55,56,55,56,55,56,59,60,59,60,59, \
60,63,60,63,64,63,64,63,68,63,68,67,68,67,68,71, \
68,71,72,71,72,71,72,75,76,75,76,75,76,79,80,79, \
80,79,80,75,76,83,84,79,80,79,80,79,80,83,84,83, \
84,83,84,83,88,93,88,93,88,93,96,93,88,93,96,99, \
96,93,92,93,92,93,96,93,96,99,96,99,96,99,98,99, \
102,99,102,99,102,105,102,105,102,105,104,105,108,111,108,111, \
108,117,114,117,116,117,116,117,116,117,120,117,120,123,120,123, \
120,123,128,129,126,129,128,129,132,129,132,141,138,141,140,141, \
140,141,140,141,140,141,140,141,140,153,152,153,152,153,152,153, \
152,153,152,153,152,153,152,153,164,165,164,165,164,165,164,165, \
164,165,164,165,164,177,176,177,176,177,176,177,176,177,176,177, \
176,177,180,177,165,189,165,189,165,189,165,164,165,164,165,164, \
165,164,177,176,177,176,177,176,177,176,177,176,177,176,177,188, \
189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,200, \
189,200,201,200,201,200,201,200,201,200,201,212,213,212,213,212, \
213,212,213,212,213,212,213,212,213,212,213,212,213,224,225,213, \
225,213,225,213,225,213,225,213,225,213,237,225,237,225,237,225, \
201,225,201,200,201,201,201,252,201,201,201,201,201,212,213,213, \
213,213,213,212,213,213,213,212,213,213,213,213,213,213,225,225, \
225,225,225,225,225,225,225,225,225,225,225,237,237,237,237,237, \
237,236,237,237,237,252,252,252,252,252,252,252,252,252,252,252, \
252,252,252,252,252,252,252,252,268,268,268,268,268,268,268,268, \
268,266,268,268,268,268,268,268,268,268,275,268,275,268,275,268, \
275,294,294,294,294,294,294,294,300,294,300,294,300,300,300,300, \
300,300,300,300,300,300,318,318,318,318,318,318,318,318,318,318, \
318,318,318,318,324,318,318,318,318,324,324,318,324,324,330,330, \
330,330,342,342,342,342,342,342,342,342,342,342,342,342,342,342, \
342,348,348,348,348,348,348,348,348,348,348,366,366,366,366,366, \
366,366,366,366,372,366,372,366,372,372,366,372,372,372,372,372, \
372,372,372,372,372,372,378,390,378,390,390,390,390,390,390,390, \
390,390,396,390,396,390,366,390,396,396,372,396,372,396,372,396, \
378,414,366,414,366,414,366,414,366,414,372,414,372,414,372,414, \
372,372,372,395,396,395,396,390,390,390,390,390,390,390,390,390, \
390,390,366,390,396,365,366,371,396,396,372,371,372,390,378,414, \
378,414,378,414,414,414,414,414,390,414,390,389,390,389,390,395, \
396,395,396,395,396,396,402,414,402,395,396,395,396,389,414,413, \
414,413,414,413,414,413,414,414,420,395,420,419,420,395,396,401, \
396,419,420,419,414,413,414,413,414,413,414,413,414,413,414,413, \
414,413,420,419,420,419,420,419,420,419,426,425,426,437,438,437, \
438,437,438,437,438,437,444,437,444,443,438,443,444,443,444,443, \
444,443,444,443,444,461,462,461,462,461,462,461,462,461,462,461, \
462,461,462,467,468,467,468,467,468,467,468,467,468,467,474,473, \
486,485,486,485,486,485,414,485,486,485,486,491,492,491,492,519, \
520,491,504,503,420,503,504,437,504,503,504,437,504,437,438,437, \
520,443,444,519,520,519,520,519,520,519,520,519,520,527,520,527, \
528,527,528,461,528,461,528,461,462,461,462,467,468,467,468,467, \
468,551,552,551,552,551,552,551,552,551,560,551,552,551,552,551, \
552,551,552,559,560,559,560,559,560,503,568,567,504,503,504,503, \
504,503,504,519,520,519,520,519,520,519,520,520,520,519,520,519, \
520,519,520,519,520,527,528,527,528,527,528,527,528,527,528,527, \
528,535,552,551,552,551,552,551,552,552,552,551,552,551,552,551, \
552,551,552,551,552,551,552,551,552,559,560,551,560,559,560,559, \
560,567,568,567,568,583,568,567,584,583,584,583,584,583,584,583, \
584,583,584,583,584,583,584,583,584,583,592,591,592,591,592,591, \
592,591,592,591,592,615,616,519,520,615,520,519,520,615,616,615, \
616,615,528,615,616,615,528,527,528,615,528,623,624,623,536,552, \
552,551,552,551,552,551,552,551,552,551,552,551,552,551,552,551 \
#define MPFR_DIVHIGH_TAB \
0,1,2,3,4,5,6,7,6,7,10,11,10,11,12,13, \
10,11,11,11,12,12,14,15,14,14,16,16,16,16,18,17, \
22,19,22,23,22,23,26,27,26,23,30,29,26,27,26,27, \
30,31,30,31,30,35,30,35,30,35,34,31,34,35,38,35, \
34,36,38,39,38,39,38,43,38,40,42,43,42,44,42,43, \
42,44,46,47,46,44,46,51,50,48,50,51,54,52,54,52, \
50,51,54,55,58,55,54,56,58,56,62,60,58,63,58,63, \
62,64,62,64,62,64,62,64,62,67,66,71,66,67,74,71, \
70,67,70,71,74,72,74,75,70,76,74,79,74,75,74,79, \
74,79,78,80,78,76,78,80,78,79,82,84,82,80,82,87, \
86,84,86,84,86,84,86,88,90,88,90,92,90,88,94,96, \
90,92,94,92,94,92,94,96,94,102,98,96,100,102,98,102, \
98,104,100,102,102,104,104,102,102,102,104,104,104,104,108,112, \
128,110,128,110,128,128,128,128,128,128,128,128,128,128,128,128, \
128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, \
128,128,128,128,128,128,128,128,128,128,128,128,128,128,142,142, \
142,142,140,142,144,144,144,142,144,142,140,142,140,142,142,144, \
140,142,140,142,140,144,144,144,144,144,144,144,144,144,148,146, \
148,160,148,150,148,158,156,158,156,160,156,158,160,160,156,160, \
164,158,156,160,164,160,164,182,180,182,164,184,182,184,182,182, \
180,182,182,182,182,186,184,182,180,182,184,184,184,185,182,184, \
182,185,182,185,182,185,184,185,184,185,182,185,184,184,184,182, \
184,185,184,186,184,185,182,182,184,184,184,184,184,184,186,185, \
186,206,200,206,188,206,196,198,196,208,196,198,196,198,196,206, \
200,206,208,206,196,198,200,208,200,206,200,206,200,208,216,208, \
208,206,208,206,216,208,216,208,216,208,216,208,216,208,216,220, \
216,210,216,220,256,220,216,220,216,224,216,222,256,250,248,254, \
256,256,256,254,256,254,256,254,256,254,256,254,256,256,256,256, \
256,254,256,254,256,256,256,254,256,254,256,254,256,256,256,254, \
256,254,256,254,256,254,256,256,256,254,256,254,256,256,256,254, \
256,254,256,256,256,254,256,254,256,254,256,256,256,254,256,254, \
256,254,256,254,256,254,256,254,256,282,280,256,256,256,282,284, \
282,284,282,288,280,281,282,288,282,288,282,282,280,281,280,282, \
282,287,288,288,280,282,282,288,282,288,282,288,282,288,282,288, \
282,284,282,288,280,288,282,288,282,284,282,288,282,288,282,288, \
282,288,288,288,288,288,288,288,288,288,288,288,288,288,296,300, \
296,304,296,304,298,300,296,300,296,300,312,302,296,306,312,300, \
312,320,312,300,312,370,312,320,312,302,312,320,312,370,312,371, \
312,371,312,369,372,371,372,371,368,370,372,370,372,370,372,370, \
371,369,372,370,368,370,372,370,372,370,372,370,370,370,364,370, \
371,370,372,370,370,370,372,370,372,370,372,370,370,370,372,370, \
370,372,370,370,372,370,372,370,372,370,368,370,370,372,372,370, \
370,370,372,370,372,372,372,370,372,370,370,366,372,370,370,370, \
372,368,368,370,370,370,372,370,370,370,372,370,372,370,368,370, \
372,370,372,370,369,370,372,370,372,369,372,370,372,371,372,370, \
372,370,368,372,372,371,372,369,372,371,370,371,372,370,372,372, \
372,370,372,372,372,372,376,416,376,416,376,416,414,416,416,420, \
384,416,415,416,414,416,415,416,392,420,400,416,420,420,392,420, \
400,416,416,416,416,420,416,412,416,416,416,416,418,416,414,416, \
418,420,418,420,418,416,416,416,418,420,414,420,418,420,420,420, \
416,416,418,420,418,418,416,416,420,416,418,416,432,420,432,420, \
416,416,416,420,416,420,432,420,418,420,432,420,418,416,418,420, \
420,420,432,420,420,420,432,468,464,512,432,468,432,444,432,444, \
512,508,432,468,512,512,464,510,432,510,512,512,512,512,512,512, \
512,512,512,512,512,508,512,508,512,512,512,508,512,510,512,512, \
512,512,512,512,512,512,512,508,512,512,512,508,512,512,512,512, \
512,512,512,512,512,512,512,512,512,512,512,508,512,512,512,512, \
512,512,512,512,512,508,512,512,512,512,512,468,464,512,564,468, \
512,564,512,512,564,512,512,512,564,508,564,508,564,503,564,508, \
512,508,512,512,564,508,512,508,564,512,512,512,512,512,512,508, \
512,510,512,512,512,512,512,512,512,512,512,512,512,512,512,512, \
512,508,512,508,512,512,512,512,512,512,512,512,512,512,512,512, \
512,512,512,512,512,512,512,512,512,564,562,564,560,512,564,564, \
562,564,560,564,564,564,560,564,564,564,564,564,564,564,564,562 \
#define MPFR_MUL_THRESHOLD 6 /* limbs */
#define MPFR_SQR_THRESHOLD 8 /* limbs */
#define MPFR_DIV_THRESHOLD 23 /* limbs */
#define MPFR_EXP_2_THRESHOLD 530 /* bits */
#define MPFR_EXP_THRESHOLD 2918 /* bits */
#define MPFR_SINCOS_THRESHOLD 28251 /* bits */
#define MPFR_AI_THRESHOLD1 -21852 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 2256
#define MPFR_AI_THRESHOLD3 34310
/* Tuneup completed successfully, took 8236 seconds */

View File

@ -1,233 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.4.5 */
/* gcc60.fsffrance.org (Madison) with gmp 5.0.2 */
#define MPFR_MULHIGH_TAB \
-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, \
-1,-1,14,16,16,17,18,19,20,20,22,22,20,21,22,23, \
24,23,24,25,24,25,30,30,30,31,32,32,32,33,32,33, \
32,33,34,37,36,37,38,35,36,40,36,39,40,41,40,43, \
48,48,42,43,48,41,48,50,48,48,48,50,48,60,48,50, \
60,64,60,60,60,60,60,66,64,64,64,63,64,65,68,64, \
64,64,64,63,64,64,68,68,64,68,64,64,64,64,76,76, \
80,76,76,72,72,80,76,76,76,82,80,80,80,80,80,80, \
84,93,88,96,96,96,90,99,96,93,96,99,96,93,96,99, \
96,96,102,105,108,99,108,105,108,105,108,111,108,111,108,111, \
108,117,120,117,120,117,117,117,120,120,120,117,120,120,120,123, \
120,117,120,123,120,120,126,141,120,141,141,141,140,141,144,141, \
140,141,141,141,144,141,144,147,144,141,156,141,140,141,156,165, \
164,165,156,165,164,165,165,165,164,165,164,165,164,165,165,165, \
164,165,164,165,168,177,180,177,165,177,177,177,176,177,180,177, \
180,177,180,177,176,177,180,165,168,189,180,189,192,189,186,189, \
188,189,176,177,192,189,180,177,192,189,180,201,192,177,192,189, \
192,189,189,189,188,213,212,213,192,213,200,201,192,213,200,201, \
212,213,192,201,200,213,212,213,212,213,200,213,212,213,210,201, \
212,213,236,212,212,213,212,213,216,213,236,213,236,235,236,252, \
236,225,236,251,236,233,236,235,236,240,252,252,236,235,252,252, \
236,249,252,251,252,252,252,251,256,256,256,251,252,251,252,251, \
252,252,252,267,268,265,268,267,268,265,268,267,268,265,268,267, \
268,267,268,283,268,281,284,283,284,281,268,283,284,281,284,283, \
284,284,284,283,284,283,284,283,284,283,284,283,284,281,300,284, \
284,284,300,300,300,316,284,315,284,313,300,315,316,284,316,315, \
316,299,300,284,316,284,316,315,300,315,316,315,316,300,316,316, \
316,313,316,315,316,313,316,315,316,316,316,315,320,316,316,315, \
354,354,354,315,354,354,354,354,354,354,354,354,354,353,378,378, \
354,354,354,378,354,354,354,354,354,377,378,354,354,377,378,378, \
378,378,378,378,378,377,378,378,378,378,378,378,378,377,378,378, \
378,378,378,378,378,377,378,378,378,378,378,378,378,378,378,378, \
378,377,378,378,378,378,378,402,378,378,378,378,402,378,378,378, \
402,426,426,426,426,402,426,426,402,402,426,426,402,402,426,426, \
426,426,426,426,426,425,426,426,426,402,426,426,426,426,426,426, \
426,426,426,426,426,426,426,426,472,472,426,426,472,426,472,472, \
472,426,426,426,472,471,472,472,472,472,472,472,472,472,472,472, \
472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472, \
472,472,472,472,472,472,472,472,472,472,472,472,504,504,472,472, \
504,504,504,472,472,472,472,504,472,472,472,472,504,472,504,504, \
504,504,504,504,504,504,536,504,504,504,504,504,504,504,504,504, \
504,504,536,535,536,504,536,536,536,504,536,536,504,504,504,504, \
504,504,536,536,536,536,536,536,536,536,536,536,536,536,536,536, \
536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536, \
536,536,536,536,536,536,536,536,536,536,536,568,536,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,600,600,568,600,600,600,600,568,600,600, \
600,600,600,600,600,600,600,600,600,600,599,600,600,600,600,600, \
600,600,600,600,600,600,600,599,600,600,600,600,600,600,632,600, \
600,600,600,600,632,600,600,600,632,600,632,632,632,632,632,632, \
632,632,632,632,632,632,632,632,632,600,632,600,632,632,632,600, \
664,632,664,664,632,632,664,664,664,664,632,664,664,632,664,664, \
664,632,664,664,664,664,664,664,664,664,664,664,631,632,632,632, \
664,632,664,664,664,664,663,664,664,664,736,664,736,664,664,664, \
736,736,736,664,736,735,736,735,736,736,736,735,736,735,736,735, \
736,736,664,735,736,736,736,736,736,735,736,735,736,735,736,736, \
736,736,736,735,736,736,736,735,736,736,736,735,736,735,736,736, \
736,736,760,760,736,760,760,760,760,760,784,760,760,783,784,760, \
760,760,760,760,784,760,760,760,760,784,784,784,784,784,784,784, \
736,760,784,784,784,784,784,783,784,783,784,783,784,783,784,784, \
784,760,784,784,784,784,784,784,784,784,784,784,784,784,784,760, \
784,784,784,784,784,783,784,831,784,784,784,784,784,784,784,831, \
832,784,832,831,784,831,832,831,832,784,784,831,832,783,784,831, \
832,784,832,831,832,784,856,856,856,856,856,856,856,856,856,856 \
#define MPFR_SQRHIGH_TAB \
-1,0,0,0,0,0,-1,-1,-1,6,-1,8,8,8,10,10, \
10,12,11,11,12,12,14,14,14,14,16,15,16,16,18,19, \
18,18,19,20,20,20,22,22,22,22,24,24,24,28,26,30, \
28,32,30,28,28,28,30,30,30,30,32,34,34,34,36,36, \
36,38,38,40,36,38,38,40,38,42,42,44,44,44,42,44, \
44,46,46,48,44,50,46,52,48,54,50,52,48,54,50,52, \
54,50,56,52,56,52,58,56,56,56,58,58,60,60,62,62, \
60,64,62,62,68,68,66,66,64,68,66,70,72,72,66,68, \
68,70,70,70,72,74,74,74,80,78,78,76,80,80,82,84, \
84,82,86,80,82,82,84,84,86,86,88,92,88,90,86,92, \
84,94,86,90,88,92,90,94,86,86,88,98,92,88,90,90, \
94,92,92,94,96,92,94,94,96,100,98,98,96,100,102,102, \
100,98,102,100,100,102,102,102,104,106,106,108,108,104,106,110, \
108,106,114,108,108,124,110,110,116,110,114,116,112,114,114,128, \
128,114,118,120,128,128,118,120,132,132,132,120,120,128,124,124, \
128,144,124,128,128,128,140,136,132,132,128,136,136,128,136,140, \
132,140,166,136,160,161,140,140,136,140,166,154,144,168,166,154, \
154,155,142,142,160,167,166,166,148,166,178,167,160,154,154,179, \
172,167,167,154,156,148,156,160,172,172,166,166,167,166,154,155, \
168,167,166,162,172,168,167,178,166,178,167,178,180,174,173,184, \
180,190,178,172,178,178,190,178,178,190,191,184,178,190,190,172, \
191,184,178,192,180,180,191,184,192,190,190,190,184,190,190,190, \
192,190,214,203,204,202,190,214,202,190,190,190,204,191,190,208, \
204,216,196,203,216,208,215,212,209,214,214,216,215,220,215,216, \
214,216,216,214,220,216,214,216,220,214,214,240,228,226,226,232, \
226,234,228,238,233,238,226,226,232,220,238,240,244,239,239,214, \
240,232,238,250,227,232,250,250,233,238,240,226,232,234,238,226, \
252,232,238,244,239,240,238,238,239,240,238,262,246,256,250,246, \
252,244,262,252,252,262,251,262,262,264,275,262,264,258,233,262, \
268,234,263,236,263,240,239,270,238,244,239,244,240,240,249,244, \
243,244,245,252,249,244,251,250,257,258,255,250,262,264,257,258, \
250,262,262,258,257,262,262,274,274,262,273,262,263,274,275,274, \
275,264,263,276,274,268,275,288,281,286,288,288,264,274,281,274, \
295,274,296,300,293,274,275,296,295,288,292,280,311,312,300,304, \
307,302,300,308,312,304,315,314,299,316,320,316,303,320,318,320, \
315,312,320,320,318,320,307,336,316,334,313,332,327,336,312,334, \
316,320,313,340,316,320,315,344,332,315,332,315,316,328,335,318, \
332,320,331,308,332,331,326,315,316,331,345,332,347,344,347,347, \
315,329,335,331,348,345,327,320,331,334,348,352,378,378,334,378, \
351,390,332,378,348,390,390,378,377,390,377,378,390,377,329,402, \
356,390,402,378,378,390,378,390,378,390,401,378,378,390,390,414, \
388,426,401,426,378,401,378,426,389,390,402,426,402,402,426,414, \
402,414,402,426,425,426,437,414,402,438,402,426,426,401,426,426, \
426,390,426,390,426,425,426,414,426,426,402,426,426,426,426,426, \
426,438,426,426,426,426,438,414,402,438,450,426,426,402,426,438, \
426,426,426,426,437,438,426,426,438,438,450,426,426,438,426,426, \
437,438,426,426,425,426,438,460,474,438,449,438,426,474,426,474, \
425,438,426,425,486,462,438,474,438,462,450,474,426,426,426,474, \
438,474,462,474,450,474,438,474,473,438,474,474,474,536,426,474, \
486,486,474,486,474,474,536,474,474,536,474,474,474,536,462,536, \
486,536,474,536,536,536,536,536,536,536,536,536,474,536,536,536, \
535,536,535,536,536,536,536,536,536,536,536,536,536,536,536,536, \
536,536,535,535,536,536,536,535,536,536,535,535,536,536,536,536, \
536,536,536,536,536,552,536,535,536,535,536,535,536,536,536,535, \
536,536,536,536,536,584,536,536,536,535,536,535,536,536,568,535, \
552,536,568,536,536,584,536,535,536,536,536,536,536,536,600,535, \
536,536,536,584,536,584,536,535,536,536,536,535,536,600,600,535, \
536,600,568,536,568,568,536,584,536,536,536,536,600,584,567,584, \
600,584,583,599,584,584,600,584,600,568,600,599,600,600,600,584, \
616,600,600,600,600,600,600,599,600,600,600,600,600,600,600,599, \
600,600,615,599,616,616,584,599,600,616,600,600,600,600,600,599, \
616,616,600,600,616,616,600,600,600,616,600,599,600,600,600,599, \
600,616,616,599,616,616,616,599,616,616,616,599,616,616,600,599, \
616,616,600,616,616,616,632,648,664,648,616,648,600,600,632,664 \
#define MPFR_DIVHIGH_TAB \
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,13, \
16,17,18,19,18,21,22,23,22,25,17,17,20,23,25,22, \
24,25,21,21,24,29,29,31,28,28,26,31,30,28,29,30, \
31,37,38,37,36,40,37,37,40,37,41,37,36,39,38,46, \
42,43,42,43,40,37,42,43,44,49,42,43,40,45,46,47, \
49,49,50,43,44,45,50,46,54,53,53,55,50,51,50,50, \
54,56,54,52,55,53,57,55,56,57,58,58,56,62,66,59, \
62,65,64,59,60,65,66,77,76,73,70,73,68,65,72,73, \
76,69,72,71,70,81,72,85,76,77,74,77,80,81,76,77, \
84,85,84,79,82,81,84,77,84,83,80,85,82,81,96,83, \
96,85,85,91,96,84,92,95,92,100,92,96,88,98,96,99, \
96,96,100,100,96,95,100,100,102,96,100,95,96,98,100,99, \
109,100,100,100,104,112,104,117,104,109,120,117,108,110,124,109, \
112,114,112,115,120,120,112,117,118,116,116,115,112,120,124,127, \
128,127,120,116,120,127,125,129,120,123,120,131,131,129,132,136, \
132,125,136,131,136,125,144,144,136,144,144,147,144,128,152,144, \
148,149,132,144,150,145,147,145,152,151,144,143,152,164,152,152, \
152,152,152,149,152,159,152,152,152,159,144,155,160,144,164,160, \
152,152,168,163,148,160,168,160,155,164,170,152,152,160,160,164, \
168,160,166,168,168,170,168,162,164,168,164,168,168,160,163,176, \
168,166,176,167,168,168,169,176,168,190,186,176,192,171,184,192, \
192,190,192,186,176,172,176,176,176,192,192,186,192,192,198,191, \
192,198,192,198,192,192,192,216,192,192,192,191,192,191,216,198, \
198,198,192,192,192,198,197,192,192,192,198,198,208,224,208,198, \
198,216,198,198,216,208,216,208,216,222,216,215,208,209,234,224, \
240,221,234,216,216,240,232,233,216,222,233,232,216,239,240,218, \
224,234,240,240,240,240,224,232,240,240,216,240,224,233,230,240, \
224,233,240,234,240,234,224,232,240,233,233,240,230,230,234,240, \
240,232,240,240,240,228,240,240,235,240,240,232,240,238,240,240, \
240,240,240,240,240,244,246,240,256,240,240,240,244,288,250,250, \
256,288,288,256,246,282,288,288,256,288,256,288,248,293,254,288, \
288,256,264,256,257,265,288,257,255,288,288,288,256,288,288,281, \
292,280,288,292,288,287,280,288,287,280,288,282,288,294,288,288, \
288,288,288,288,288,288,288,288,294,304,288,304,288,288,288,292, \
294,288,288,288,280,294,292,294,292,328,288,282,328,288,288,291, \
288,288,288,288,300,288,317,304,288,329,304,292,304,320,304,318, \
327,325,324,326,304,312,336,304,329,320,328,330,328,330,336,320, \
328,327,330,318,316,319,330,336,328,336,352,336,320,326,352,320, \
336,325,326,324,342,329,327,328,336,336,336,336,336,328,352,330, \
320,328,336,326,320,335,335,326,352,352,342,336,352,326,336,336, \
336,352,329,328,342,328,342,336,326,336,384,352,384,329,352,336, \
384,352,384,352,336,336,334,384,384,384,384,384,384,352,351,384, \
384,384,383,372,384,372,384,384,352,368,384,384,382,396,384,372, \
384,384,352,384,384,383,384,384,384,384,384,384,384,384,384,384, \
372,384,384,396,384,384,384,384,384,384,384,384,384,384,384,384, \
384,396,384,384,384,384,384,372,384,384,384,396,384,384,384,432, \
384,383,384,384,384,396,384,384,384,396,382,384,384,396,394,384, \
384,384,384,383,392,396,400,384,384,401,384,384,396,432,396,432, \
392,408,432,396,396,396,416,396,416,432,448,428,424,420,394,395, \
432,432,432,396,432,432,432,432,432,426,432,432,448,448,444,464, \
416,440,432,425,432,430,448,432,432,432,432,432,432,432,442,432, \
432,432,432,447,472,432,432,480,432,468,480,480,448,465,450,432, \
480,465,448,464,480,448,472,467,468,480,438,479,464,465,468,472, \
468,469,480,448,480,480,464,480,468,469,464,467,468,432,472,480, \
464,480,472,468,480,468,472,472,468,477,480,471,472,467,448,480, \
448,496,488,464,470,480,480,480,480,469,472,448,480,479,480,512, \
492,477,480,469,480,464,480,480,464,480,500,480,472,480,472,479, \
488,468,500,480,512,472,504,467,480,472,480,480,464,469,480,480, \
480,472,496,500,480,480,480,480,472,480,480,496,480,576,480,480, \
480,497,576,500,480,516,504,504,498,480,504,480,504,480,504,576, \
512,496,512,508,576,529,512,500,576,534,534,504,512,515,528,576, \
560,528,576,512,528,513,512,528,528,576,576,496,528,576,576,511, \
512,504,576,576,560,512,576,504,576,576,576,576,564,576,564,576, \
576,562,576,576,576,576,576,560,576,576,564,528,532,576,576,576 \
#define MPFR_MUL_THRESHOLD 26 /* limbs */
#define MPFR_SQR_THRESHOLD 19 /* limbs */
#define MPFR_DIV_THRESHOLD 44 /* limbs */
#define MPFR_EXP_2_THRESHOLD 1092 /* bits */
#define MPFR_EXP_THRESHOLD 5435 /* bits */
#define MPFR_SINCOS_THRESHOLD 24855 /* bits */
#define MPFR_AI_THRESHOLD1 -9637 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 922
#define MPFR_AI_THRESHOLD3 16031
/* Tuneup completed successfully, took 1058 seconds */

View File

@ -1,10 +1,14 @@
/* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
Copyright 1991-1994, 1996, 1997, 1999-2005, 2007-2009, 2011-2018 Free Software Foundation, Inc.
Copyright 1991-1994, 1996, 1997, 1999-2005, 2007-2009, 2011-2020 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library and has been copied from
GNU MP 6.1.0 (the FIXME's come from GNU MP), except the parts marked
beginning of code specific to MPFR ... end of code specific to MPFR.
GNU MP 6.2.0, with the following changes:
* the copyright notice (note: only LGPL 3+ is used in MPFR);
* the code declared as added for MPFR just below these comments;
* __GMP_DECLSPEC renamed to __MPFR_DECLSPEC;
* patch on https://gmplib.org/list-archives/gmp-bugs/2020-June/004807.html
for arm / aarch64 / 64-bit powerpc applied.
The GNU MPFR 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
@ -18,7 +22,7 @@ License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* You have to define the following before including this file:
@ -45,6 +49,18 @@ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
expected.
*/
/* Code added for MPFR */
#ifndef MPFR_NEED_LONGLONG_H
# error "Never include mpfr-longlong.h directly; define MPFR_NEED_LONGLONG_H instead."
#endif
#ifndef __GMP_GNUC_PREREQ
# define __GMP_GNUC_PREREQ(X,Y) __MPFR_GNUC(X,Y)
#endif
/* End of code added for MPFR */
#define __BITS4 (W_TYPE_SIZE / 4)
#define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2))
#define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1))
@ -196,7 +212,6 @@ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
(pl) = __m0 * __m1; \
} while (0)
#endif
#define UMUL_TIME 18
#else /* ! __GNUC__ */
#include <machine/builtins.h>
#define umul_ppmm(ph, pl, m0, m1) \
@ -214,7 +229,6 @@ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
} while (0)
#define UDIV_PREINV_ALWAYS 1
#define UDIV_NEEDS_NORMALIZATION 1
#define UDIV_TIME 220
#endif /* LONGLONG_STANDALONE */
/* clz_tab is required in all configurations, since mpn/alpha/cntlz.asm
@ -277,7 +291,6 @@ long __MPN(count_leading_zeros) (UDItype);
#include <intrinsics.h>
#define UDIV_PREINV_ALWAYS 1
#define UDIV_NEEDS_NORMALIZATION 1
#define UDIV_TIME 220
long __MPN(count_leading_zeros) (UDItype);
#define count_leading_zeros(count, x) \
((count) = _leadz ((UWtype) (x)))
@ -321,7 +334,6 @@ long __MPN(count_leading_zeros) (UDItype);
__asm__ ("xma.hu %0 = %2, %3, f0\n\txma.l %1 = %2, %3, f0" \
: "=&f" (ph), "=f" (pl) \
: "f" (m0), "f" (m1))
#define UMUL_TIME 14
#define count_leading_zeros(count, x) \
do { \
UWtype _x = (x), _y, _a, _c; \
@ -364,7 +376,6 @@ long __MPN(count_leading_zeros) (UDItype);
#define UDIV_PREINV_ALWAYS 1
#define UDIV_NEEDS_NORMALIZATION 1
#endif
#define UDIV_TIME 220
#endif
@ -416,17 +427,17 @@ long __MPN(count_leading_zeros) (UDItype);
: "=r" (sh), \
"=&r" (sl) \
: "r" ((USItype) (ah)), \
"rIJ" ((USItype) (bh)), \
"rICal" ((USItype) (bh)), \
"%r" ((USItype) (al)), \
"rIJ" ((USItype) (bl)))
"rICal" ((USItype) (bl)))
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
: "=r" (sh), \
"=&r" (sl) \
: "r" ((USItype) (ah)), \
"rIJ" ((USItype) (bh)), \
"rICal" ((USItype) (bh)), \
"r" ((USItype) (al)), \
"rIJ" ((USItype) (bl)))
"rICal" ((USItype) (bl)))
#endif
#if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \
@ -435,9 +446,39 @@ long __MPN(count_leading_zeros) (UDItype);
__asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC)
/* FIXME: Extend the immediate range for the low word by using both ADDS and
SUBS, since they set carry in the same way. We need separate definitions
for thumb and non-thumb since thumb lacks RSC. */
#if defined (__thumb__)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (al)) \
if (__builtin_constant_p (ah) && __builtin_constant_p (bh) \
&& (ah) == (bh)) \
__asm__ ("subs\t%1, %2, %3\n\tsbc\t%0, %0, %0" \
: "=r" (sh), "=r" (sl) \
: "r" (al), "rI" (bl) __CLOBBER_CC); \
else if (__builtin_constant_p (al)) \
__asm__ ("rsbs\t%1, %5, %4\n\tsbc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \
else if (__builtin_constant_p (bl)) \
__asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
else \
__asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
} while (0)
#else
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (ah) && __builtin_constant_p (bh) \
&& (ah) == (bh)) \
__asm__ ("subs\t%1, %2, %3\n\tsbc\t%0, %0, %0" \
: "=r" (sh), "=r" (sl) \
: "r" (al), "rI" (bl) __CLOBBER_CC); \
else if (__builtin_constant_p (al)) \
{ \
if (__builtin_constant_p (ah)) \
__asm__ ("rsbs\t%1, %5, %4\n\trsc\t%0, %3, %2" \
@ -460,21 +501,15 @@ long __MPN(count_leading_zeros) (UDItype);
: "rI" (ah), "r" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \
} \
else if (__builtin_constant_p (bl)) \
{ \
if (__builtin_constant_p (bh)) \
__asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
else \
__asm__ ("subs\t%1, %4, %5\n\trsc\t%0, %3, %2" \
: "=r" (sh), "=&r" (sl) \
: "rI" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
} \
__asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
else /* only bh might be a constant */ \
__asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC);\
: "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
} while (0)
#endif
#if defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_2A__) \
|| defined (__ARM_ARCH_3__)
#define umul_ppmm(xh, xl, a, b) \
@ -497,18 +532,17 @@ long __MPN(count_leading_zeros) (UDItype);
"=&r" (__t0), "=&r" (__t1), "=r" (__t2) \
: "r" ((USItype) (a)), "r" ((USItype) (b)) __CLOBBER_CC); \
} while (0)
#define UMUL_TIME 20
#ifndef LONGLONG_STANDALONE
#define udiv_qrnnd(q, r, n1, n0, d) \
do { UWtype __r; \
(q) = __MPN(udiv_qrnnd) (&__r, (n1), (n0), (d)); \
(r) = __r; \
} while (0)
extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
#define UDIV_TIME 200
#endif /* LONGLONG_STANDALONE */
#else /* ARMv4 or newer */
#define umul_ppmm(xh, xl, a, b) \
__asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
#define UMUL_TIME 5
#define smul_ppmm(xh, xl, a, b) \
__asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
#ifndef LONGLONG_STANDALONE
@ -519,12 +553,10 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
} while (0)
#define UDIV_PREINV_ALWAYS 1
#define UDIV_NEEDS_NORMALIZATION 1
#define UDIV_TIME 70
#endif /* LONGLONG_STANDALONE */
#endif /* defined(__ARM_ARCH_2__) ... */
#define count_leading_zeros(count, x) count_leading_zeros_gcc_clz(count, x)
#define count_trailing_zeros(count, x) count_trailing_zeros_gcc_ctz(count, x)
#define COUNT_LEADING_ZEROS_0 32
#endif /* __arm__ */
#if defined (__aarch64__) && W_TYPE_SIZE == 64
@ -540,15 +572,25 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
: "=r,r" (sh), "=&r,&r" (sl) \
: "rZ,rZ" ((UDItype)(ah)), "rZ,rZ" ((UDItype)(bh)), \
"r,Z" ((UDItype)(al)), "rI,r" ((UDItype)(bl)) __CLOBBER_CC)
#if __GMP_GNUC_PREREQ (4,9)
#define umul_ppmm(w1, w0, u, v) \
do { \
typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \
__ll_UTItype __ll = (__ll_UTItype)(u) * (v); \
w1 = __ll >> 64; \
w0 = __ll; \
} while (0)
#endif
#if !defined (umul_ppmm)
#define umul_ppmm(ph, pl, m0, m1) \
do { \
UDItype __m0 = (m0), __m1 = (m1); \
__asm__ ("umulh\t%0, %1, %2" : "=r" (ph) : "r" (__m0), "r" (__m1)); \
(pl) = __m0 * __m1; \
} while (0)
#endif
#define count_leading_zeros(count, x) count_leading_zeros_gcc_clz(count, x)
#define count_trailing_zeros(count, x) count_trailing_zeros_gcc_ctz(count, x)
#define COUNT_LEADING_ZEROS_0 64
#endif /* __aarch64__ */
#if defined (__clipper__) && W_TYPE_SIZE == 32
@ -640,11 +682,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
(wh) = __x.__i.__h; \
(wl) = __x.__i.__l; \
} while (0)
#define UMUL_TIME 8
#define UDIV_TIME 60
#else
#define UMUL_TIME 40
#define UDIV_TIME 80
#endif
#define count_leading_zeros(count, x) \
do { \
@ -930,7 +967,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
double d; \
unsigned a[2]; \
} __u; \
ASSERT ((n) != 0); \
__u.d = (UWtype) (n); \
(c) = 0x3FF + 31 - (__u.a[1] >> 20); \
} while (0)
@ -987,12 +1023,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
#endif /* ! pentium */
#ifndef UMUL_TIME
#define UMUL_TIME 10
#endif
#ifndef UDIV_TIME
#define UDIV_TIME 40
#endif
#endif /* 80x86 */
#if defined (__amd64__) && W_TYPE_SIZE == 64
@ -1006,29 +1036,61 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
: "=r" (sh), "=&r" (sl) \
: "0" ((UDItype)(ah)), "rme" ((UDItype)(bh)), \
"1" ((UDItype)(al)), "rme" ((UDItype)(bl)))
#if X86_ASM_MULX \
&& (HAVE_HOST_CPU_haswell || HAVE_HOST_CPU_broadwell \
|| HAVE_HOST_CPU_skylake || HAVE_HOST_CPU_bd4 || HAVE_HOST_CPU_zen)
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("mulq %3" \
__asm__ ("mulx\t%3, %0, %1" \
: "=r" (w0), "=r" (w1) \
: "%d" ((UDItype)(u)), "rm" ((UDItype)(v)))
#else
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("mulq\t%3" \
: "=a" (w0), "=d" (w1) \
: "%0" ((UDItype)(u)), "rm" ((UDItype)(v)))
#endif
#define udiv_qrnnd(q, r, n1, n0, dx) /* d renamed to dx avoiding "=d" */\
__asm__ ("divq %4" /* stringification in K&R C */ \
: "=a" (q), "=d" (r) \
: "0" ((UDItype)(n0)), "1" ((UDItype)(n1)), "rm" ((UDItype)(dx)))
/* bsrq destination must be a 64-bit register, hence UDItype for __cbtmp. */
#if HAVE_HOST_CPU_haswell || HAVE_HOST_CPU_broadwell || HAVE_HOST_CPU_skylake \
|| HAVE_HOST_CPU_k10 || HAVE_HOST_CPU_bd1 || HAVE_HOST_CPU_bd2 \
|| HAVE_HOST_CPU_bd3 || HAVE_HOST_CPU_bd4 || HAVE_HOST_CPU_zen \
|| HAVE_HOST_CPU_bobcat || HAVE_HOST_CPU_jaguar
#define count_leading_zeros(count, x) \
do { \
/* This is lzcnt, spelled for older assemblers. Destination and */ \
/* source must be a 64-bit registers, hence cast and %q. */ \
__asm__ ("rep;bsr\t%1, %q0" : "=r" (count) : "rm" ((UDItype)(x))); \
} while (0)
#define COUNT_LEADING_ZEROS_0 64
#else
#define count_leading_zeros(count, x) \
do { \
UDItype __cbtmp; \
ASSERT ((x) != 0); \
__asm__ ("bsrq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
__asm__ ("bsr\t%1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
(count) = __cbtmp ^ 63; \
} while (0)
/* bsfq destination must be a 64-bit register, "%q0" forces this in case
count is only an int. */
#endif
#if HAVE_HOST_CPU_bd2 || HAVE_HOST_CPU_bd3 || HAVE_HOST_CPU_bd4 \
|| HAVE_HOST_CPU_zen || HAVE_HOST_CPU_jaguar
#define count_trailing_zeros(count, x) \
do { \
/* This is tzcnt, spelled for older assemblers. Destination and */ \
/* source must be a 64-bit registers, hence cast and %q. */ \
__asm__ ("rep;bsf\t%1, %q0" : "=r" (count) : "rm" ((UDItype)(x))); \
} while (0)
#define COUNT_TRAILING_ZEROS_0 64
#else
#define count_trailing_zeros(count, x) \
do { \
ASSERT ((x) != 0); \
__asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \
__asm__ ("bsf\t%1, %q0" : "=r" (count) : "rm" ((UDItype)(x))); \
} while (0)
#endif
#endif /* __amd64__ */
#if defined (__i860__) && W_TYPE_SIZE == 32
@ -1109,12 +1171,10 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
__asm__ ("mulu%.l %3,%1:%0" \
: "=d" (w0), "=d" (w1) \
: "%0" ((USItype)(u)), "dmi" ((USItype)(v)))
#define UMUL_TIME 45
#define udiv_qrnnd(q, r, n1, n0, d) \
__asm__ ("divu%.l %4,%1:%0" \
: "=d" (q), "=d" (r) \
: "0" ((USItype)(n0)), "1" ((USItype)(n1)), "dmi" ((USItype)(d)))
#define UDIV_TIME 90
#define sdiv_qrnnd(q, r, n1, n0, d) \
__asm__ ("divs%.l %4,%1:%0" \
: "=d" (q), "=d" (r) \
@ -1148,8 +1208,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
"=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
: "%2" ((USItype)(a)), "d" ((USItype)(b))); \
} while (0)
#define UMUL_TIME 100
#define UDIV_TIME 400
#endif /* not mc68020 */
/* The '020, '030, '040 and '060 have bitfield insns.
GCC 3.4 defines __mc68020__ when in CPU32 mode, check for __mcpu32__ to
@ -1202,11 +1260,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
__asm__ ("divu.d %0,%1,%2" \
: "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \
(r) = (n0) - __q.__l * (d); (q) = __q.__l; })
#define UMUL_TIME 5
#define UDIV_TIME 25
#else
#define UMUL_TIME 17
#define UDIV_TIME 150
#endif /* __m88110__ */
#endif /* __m88000__ */
@ -1228,12 +1281,18 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
__asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \
: "=d" (w0), "=d" (w1) : "d" (u), "d" (v))
#endif
#define UMUL_TIME 10
#define UDIV_TIME 100
#endif /* __mips */
#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
#if __GMP_GNUC_PREREQ (4,4) || defined(__clang__)
#if defined (_MIPS_ARCH_MIPS64R6)
#define umul_ppmm(w1, w0, u, v) \
do { \
UDItype __m0 = (u), __m1 = (v); \
(w0) = __m0 * __m1; \
__asm__ ("dmuhu\t%0, %1, %2" : "=d" (w1) : "d" (__m0), "d" (__m1)); \
} while (0)
#endif
#if !defined (umul_ppmm) && (__GMP_GNUC_PREREQ (4,4) || defined(__clang__))
#define umul_ppmm(w1, w0, u, v) \
do { \
typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \
@ -1254,8 +1313,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
: "=d" (w0), "=d" (w1) \
: "d" ((UDItype)(u)), "d" ((UDItype)(v)))
#endif
#define UMUL_TIME 20
#define UDIV_TIME 140
#endif /* __mips */
#if defined (__mmix__) && W_TYPE_SIZE == 64
@ -1320,33 +1377,41 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
do { \
if (__builtin_constant_p (bh) && (bh) == 0) \
__asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl)); \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl) \
__CLOBBER_CC); \
else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
__asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl)); \
: "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl) \
__CLOBBER_CC); \
else \
__asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "r" (bh), "%r" (al), "rI" (bl) \
__CLOBBER_CC); \
} while (0)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (ah) && (ah) == 0) \
__asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl) \
__CLOBBER_CC); \
else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \
__asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
: "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl) \
__CLOBBER_CC); \
else if (__builtin_constant_p (bh) && (bh) == 0) \
__asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl) \
__CLOBBER_CC); \
else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
__asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
: "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl) \
__CLOBBER_CC); \
else \
__asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \
: "r" (ah), "r" (bh), "rI" (al), "r" (bl) \
__CLOBBER_CC); \
} while (0)
#define count_leading_zeros(count, x) \
__asm__ ("cntlzw %0,%1" : "=r" (count) : "r" (x))
@ -1368,23 +1433,17 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
(pl) = __m0 * __m1; \
} while (0)
#endif
#define UMUL_TIME 15
#define smul_ppmm(ph, pl, m0, m1) \
do { \
SItype __m0 = (m0), __m1 = (m1); \
__asm__ ("mulhw %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
(pl) = __m0 * __m1; \
} while (0)
#define SMUL_TIME 14
#define UDIV_TIME 120
#else
#define UMUL_TIME 8
#define smul_ppmm(xh, xl, m0, m1) \
__asm__ ("mul %0,%2,%3" : "=r" (xh), "=q" (xl) : "r" (m0), "r" (m1))
#define SMUL_TIME 4
#define sdiv_qrnnd(q, r, nh, nl, d) \
__asm__ ("div %0,%2,%4" : "=r" (q), "=q" (r) : "r" (nh), "1" (nl), "r" (d))
#define UDIV_TIME 100
#endif
#endif /* 32-bit POWER architecture variants. */
@ -1400,81 +1459,60 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
__asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"%r" ((UDItype)(al)), "rI" ((UDItype)(bl))); \
"%r" ((UDItype)(al)), "rI" ((UDItype)(bl)) \
__CLOBBER_CC); \
else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
__asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"%r" ((UDItype)(al)), "rI" ((UDItype)(bl))); \
"%r" ((UDItype)(al)), "rI" ((UDItype)(bl)) \
__CLOBBER_CC); \
else \
__asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), "r" ((UDItype)(bh)), \
"%r" ((UDItype)(al)), "rI" ((UDItype)(bl))); \
"%r" ((UDItype)(al)), "rI" ((UDItype)(bl)) \
__CLOBBER_CC); \
} while (0)
/* We use "*rI" for the constant operand here, since with just "I", gcc barfs.
This might seem strange, but gcc folds away the dead code late. */
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (bl) && bl > -0x8000 && bl <= 0x8000) { \
if (__builtin_constant_p (ah) && (ah) == 0) \
__asm__ ("addic %1,%3,%4\n\tsubfze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "*rI" (-((UDItype)(bl)))); \
else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
__asm__ ("addic %1,%3,%4\n\tsubfme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "*rI" (-((UDItype)(bl)))); \
else if (__builtin_constant_p (bh) && (bh) == 0) \
__asm__ ("addic %1,%3,%4\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"rI" ((UDItype)(al)), "*rI" (-((UDItype)(bl)))); \
else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
__asm__ ("addic %1,%3,%4\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"rI" ((UDItype)(al)), "*rI" (-((UDItype)(bl)))); \
else \
__asm__ ("addic %1,%4,%5\n\tsubfe %0,%3,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "*rI" (-((UDItype)(bl)))); \
} else { \
if (__builtin_constant_p (ah) && (ah) == 0) \
__asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl))); \
else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
__asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl))); \
else if (__builtin_constant_p (bh) && (bh) == 0) \
__asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl))); \
else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
__asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl))); \
else \
__asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl))); \
} \
if (__builtin_constant_p (ah) && (ah) == 0) \
__asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl)) \
__CLOBBER_CC); \
else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
__asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl)) \
__CLOBBER_CC); \
else if (__builtin_constant_p (bh) && (bh) == 0) \
__asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl)) \
__CLOBBER_CC); \
else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
__asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl)) \
__CLOBBER_CC); \
else \
__asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
: "=r" (sh), "=&r" (sl) \
: "r" ((UDItype)(ah)), "r" ((UDItype)(bh)), \
"rI" ((UDItype)(al)), "r" ((UDItype)(bl)) \
__CLOBBER_CC); \
} while (0)
#endif /* ! _LONG_LONG_LIMB */
#define count_leading_zeros(count, x) \
__asm__ ("cntlzd %0,%1" : "=r" (count) : "r" (x))
#define COUNT_LEADING_ZEROS_0 64
#if 0 && (__GMP_GNUC_PREREQ (4,4) || defined(__clang__)) /* Disable, this results in libcalls! */
/* XXXMRG GCC-9 era, pre-req went from 4.4 to 4.8, check this. */
#if 0 && (__GMP_GNUC_PREREQ (4,8) || defined(__clang__)) /* Disable, this results in libcalls! */
#define umul_ppmm(w1, w0, u, v) \
do { \
typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \
@ -1491,15 +1529,12 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
(pl) = __m0 * __m1; \
} while (0)
#endif
#define UMUL_TIME 15
#define smul_ppmm(ph, pl, m0, m1) \
do { \
DItype __m0 = (m0), __m1 = (m1); \
__asm__ ("mulhd %0,%1,%2" : "=r" (ph) : "%r" (__m0), "r" (__m1)); \
(pl) = __m0 * __m1; \
} while (0)
#define SMUL_TIME 14 /* ??? */
#define UDIV_TIME 120 /* ??? */
#endif /* 64-bit PowerPC. */
#if defined (__pyr__) && W_TYPE_SIZE == 32
@ -1560,8 +1595,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
: "=r" (ph), "=r" (pl) \
: "%r" ((USItype)(m0)), "r" ((USItype)(m1)) \
: "r2")
#define UMUL_TIME 20
#define UDIV_TIME 200
#define count_leading_zeros(count, x) \
do { \
if ((x) >= 0x10000) \
@ -1576,11 +1609,19 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
} while (0)
#endif /* RT/ROMP */
#if defined (__riscv64) && W_TYPE_SIZE == 64
#define umul_ppmm(ph, pl, u, v) \
do { \
UDItype __u = (u), __v = (v); \
(pl) = __u * __v; \
__asm__ ("mulhu\t%2, %1, %0" : "=r" (ph) : "%r" (__u), "r" (__v)); \
} while (0)
#endif
#if (defined (__SH2__) || defined (__SH3__) || defined (__SH4__)) && W_TYPE_SIZE == 32
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("dmulu.l %2,%3\n\tsts macl,%1\n\tsts mach,%0" \
: "=r" (w1), "=r" (w0) : "r" (u), "r" (v) : "macl", "mach")
#define UMUL_TIME 5
#endif
#if defined (__sparc__) && W_TYPE_SIZE == 32
@ -1628,10 +1669,8 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
but INTERPRETED AS UNSIGNED. */
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v))
#define UMUL_TIME 5
#if HAVE_HOST_CPU_supersparc
#define UDIV_TIME 60 /* SuperSPARC timing */
#else
/* Don't use this on SuperSPARC because its udiv only handles 53 bit
dividends and will trap to the kernel for the rest. */
@ -1643,7 +1682,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
(r) = (n0) - __q * (d); \
(q) = __q; \
} while (0)
#define UDIV_TIME 25
#endif /* HAVE_HOST_CPU_supersparc */
#else /* ! __sparc_v8__ */
@ -1652,7 +1690,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
instructions scan (ffs from high bit) and divscc. */
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v))
#define UMUL_TIME 5
#define udiv_qrnnd(q, r, n1, n0, d) \
__asm__ ("! Inlined udiv_qrnnd\n" \
" wr %%g0,%2,%%y ! Not a delayed write for sparclite\n" \
@ -1695,7 +1732,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
"1: ! End of inline udiv_qrnnd" \
: "=r" (q), "=r" (r) : "r" (n1), "r" (n0), "rI" (d) \
: "%g1" __AND_CLOBBER_CC)
#define UDIV_TIME 37
#define count_leading_zeros(count, x) \
__asm__ ("scan %1,1,%0" : "=r" (count) : "r" (x))
/* Early sparclites return 63 for an argument of 0, but they warn that future
@ -1749,7 +1785,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
" rd %%y,%1" \
: "=r" (w1), "=r" (w0) : "%rI" (u), "r" (v) \
: "%g1", "%g2" __AND_CLOBBER_CC)
#define UMUL_TIME 39 /* 39 instructions */
#endif
#ifndef udiv_qrnnd
#ifndef LONGLONG_STANDALONE
@ -1759,9 +1794,6 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
(r) = __r; \
} while (0)
extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
#ifndef UDIV_TIME
#define UDIV_TIME 140
#endif
#endif /* LONGLONG_STANDALONE */
#endif /* udiv_qrnnd */
#endif /* __sparc__ */
@ -2096,14 +2128,15 @@ extern __longlong_h_C UWtype mpn_udiv_qrnnd_r (UWtype, UWtype, UWtype, UWtype *)
/* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through
__udiv_w_sdiv (defined in libgcc or elsewhere). */
#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd) && !defined(LONGLONG_STANDALONE)
#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd) \
&& ! defined (LONGLONG_STANDALONE)
#define udiv_qrnnd(q, r, nh, nl, d) \
do { \
UWtype __r; \
(q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \
(r) = __r; \
} while (0)
__GMP_DECLSPEC UWtype __MPN(udiv_w_sdiv) (UWtype *, UWtype, UWtype, UWtype);
__MPFR_DECLSPEC UWtype __MPN(udiv_w_sdiv) (UWtype *, UWtype, UWtype, UWtype);
#endif
/* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */
@ -2147,7 +2180,7 @@ __GMP_DECLSPEC UWtype __MPN(udiv_w_sdiv) (UWtype *, UWtype, UWtype, UWtype);
#endif
#ifdef COUNT_LEADING_ZEROS_NEED_CLZ_TAB
extern const unsigned char __GMP_DECLSPEC __clz_tab[129];
extern const unsigned char __MPFR_DECLSPEC __clz_tab[129];
#endif
#if !defined (count_trailing_zeros)
@ -2196,12 +2229,3 @@ extern const unsigned char __GMP_DECLSPEC __clz_tab[129];
#ifndef UDIV_PREINV_ALWAYS
#define UDIV_PREINV_ALWAYS 0
#endif
/* Give defaults for UMUL_TIME and UDIV_TIME. */
#ifndef UMUL_TIME
#define UMUL_TIME 1
#endif
#ifndef UDIV_TIME
#define UDIV_TIME UMUL_TIME
#endif

View File

@ -1,232 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2010-10-22, gcc 4.2.4, gmp 5.0.1 */
/* RS/6000 7025 F50 kindly provided by David Kirkby, under AIX 5.3 */
/* used MPFR svn revision 7238 */
#define MPFR_MULHIGH_TAB \
-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,40,40,40,40,40,40, \
40,40,40,40,40,44,48,48,48,48,48,48,48,48,48,48, \
48,48,48,48,52,52,52,52,52,52,52,52,52,52,52,64, \
64,64,64,64,74,74,74,75,74,75,75,75,75,75,75,75, \
75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75, \
75,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93, \
105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105, \
105,105,124,124,124,124,124,124,124,124,124,124,124,124,124,124, \
124,124,124,124,124,124,140,140,140,140,140,140,140,140,156,156, \
156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156, \
156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156, \
156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156, \
156,156,156,156,156,156,156,156,186,186,186,186,186,186,186,186, \
186,186,186,186,186,186,186,186,186,186,186,186,186,186,210,210, \
210,210,234,234,234,234,234,234,234,234,234,234,234,234,234,234, \
234,234,234,234,234,234,234,233,234,234,234,234,234,234,234,234, \
234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234, \
234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234, \
234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234, \
234,280,280,280,280,280,280,280,312,312,312,312,312,312,312,312, \
312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312, \
312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312, \
312,312,312,312,312,312,312,312,312,344,344,344,344,344,344,312, \
344,344,344,344,344,344,344,344,344,344,344,344,344,344,344,344, \
344,344,344,344,344,344,376,376,376,376,376,376,376,376,376,376, \
376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, \
376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, \
376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, \
376,376,376,376,376,376,376,376,408,408,408,408,408,408,408,408, \
408,408,408,408,408,408,408,408,408,407,408,408,408,408,408,408, \
408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408, \
408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408, \
408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408, \
408,408,408,408,408,408,408,408,408,408,408,408,504,504,504,504, \
504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,584,584,584,584,584,584,584,584,584,584,584, \
584,584,584,584,584,584,584,584,583,584,583,584,584,584,584,584, \
592,584,592,584,592,592,592,592,592,584,592,592,592,584,584,584, \
584,584,584,584,584,584,584,584,584,584,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,591,592,591,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,591,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, \
592,592,592,592,592,592,592,592,592,592,592,592,592,592,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,735,736,735,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
736,736,736,736,736,736,736,736,736,736,736,736,736,832,832,736, \
832,831,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \
832,832,831,832,832,832,832,832,832,832,832,832,832,832,832,832, \
832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832 \
#define MPFR_SQRHIGH_TAB \
-1,0,0,0,0,0,0,0,0,0,0,7,8,8,9,9, \
10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17, \
18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25, \
26,26,27,28,28,28,30,32,32,32,32,32,32,32,34,34, \
36,36,36,36,36,40,40,40,40,40,40,40,42,42,42,44, \
44,44,46,46,46,46,46,46,46,46,47,47,56,56,56,56, \
56,56,56,56,60,64,64,64,64,64,64,64,64,64,64,64, \
64,64,64,68,68,72,72,72,72,72,72,72,72,76,76,76, \
76,76,76,76,68,72,72,72,72,72,76,76,76,76,76,76, \
76,76,76,76,76,76,77,77,87,90,93,93,93,93,93,93, \
93,96,99,99,99,99,93,96,93,93,96,99,99,102,99,99, \
105,102,105,105,105,105,108,108,108,111,111,111,111,111,117,117, \
117,117,117,117,117,117,123,123,123,123,123,123,123,126,126,129, \
129,123,129,129,129,129,129,129,129,129,129,129,129,129,129,129, \
129,123,123,123,123,123,123,123,126,129,129,129,129,129,129,129, \
129,129,129,129,129,129,164,164,164,164,164,164,164,164,164,164, \
172,172,172,172,172,172,156,156,156,156,156,156,156,156,156,163, \
164,164,164,164,164,171,171,171,172,172,172,172,172,172,172,180, \
180,179,180,180,180,180,180,180,180,180,180,180,180,180,180,180, \
180,180,180,180,198,198,198,198,180,198,198,198,210,210,210,210, \
210,210,210,210,210,210,210,222,222,222,222,222,222,222,222,222, \
222,222,222,222,234,234,234,234,234,234,234,234,234,234,234,234, \
234,234,246,246,246,246,246,246,246,246,246,246,246,246,246,246, \
258,246,246,258,258,258,258,258,258,258,258,258,258,270,270,270, \
270,270,270,270,270,270,270,270,270,270,270,270,270,270,270,270, \
270,270,270,270,270,270,270,270,270,270,270,270,270,270,270,270, \
270,270,270,270,270,270,270,270,270,270,270,270,270,270,312,270, \
312,312,312,270,270,270,270,270,270,270,270,328,328,312,328,328, \
328,328,328,328,328,328,328,344,344,312,328,344,328,328,328,328, \
328,328,328,328,328,328,328,328,328,328,328,327,328,328,328,328, \
328,344,328,328,328,328,328,328,344,344,344,344,344,344,344,344, \
344,344,344,360,360,360,360,360,360,360,360,360,360,360,360,360, \
360,360,360,360,360,360,360,360,360,360,328,328,360,328,328,328, \
328,328,360,328,328,328,328,328,328,328,328,344,344,344,344,344, \
344,344,344,344,344,344,344,344,344,360,360,360,360,360,360,360, \
360,360,360,360,360,360,360,360,360,360,360,360,360,360,360,360, \
360,360,360,360,360,360,360,360,360,360,360,360,360,360,360,360, \
360,360,360,360,360,360,360,360,360,360,360,360,360,360,360,360, \
360,360,360,360,360,360,360,360,360,360,360,360,360,360,360,360, \
408,408,408,408,408,408,408,408,408,408,440,440,440,440,440,439, \
440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440, \
440,440,440,440,440,440,440,440,440,440,440,440,440,472,472,440, \
440,471,504,472,472,472,472,472,472,472,472,472,472,472,472,472, \
472,472,472,472,472,472,472,472,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,504,504,504,504,536,536,536,536,536,536,536, \
536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536, \
536,536,536,536,536,536,536,536,536,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
504,504,504,504,568,568,504,504,504,504,504,504,504,504,504,504, \
504,504,504,504,504,600,600,600,600,600,600,600,536,536,536,535, \
535,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536, \
536,536,536,536,536,536,536,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,567,568,568,568,568,568,568, \
568,568,568,568,568,567,568,568,568,568,568,568,600,600,600,599, \
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600, \
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600, \
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600, \
600,600,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
568,568,568,568,568,568,568,568,568,568,568,600,600,600,600,600, \
600,600,600,600,600,600,600,600,599,600,600,600,600,600,600,600, \
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600, \
600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600 \
#define MPFR_DIVHIGH_TAB \
0,1,2,3,4,5,6,7,8,7,10,9,12,13,12,9, \
12,12,12,12,12,12,15,15,16,15,16,16,16,19,20,20, \
20,19,19,19,20,20,21,21,22,23,23,24,25,25,25,25, \
26,26,27,27,28,28,29,29,31,31,31,31,32,35,33,33, \
34,36,35,35,36,36,37,37,38,38,40,39,40,40,41,41, \
42,42,43,48,44,48,47,45,47,47,47,48,48,48,49,49, \
50,51,51,51,52,52,53,53,54,55,56,55,56,63,57,64, \
63,64,64,64,64,64,62,64,64,63,64,64,72,64,72,65, \
66,72,72,71,72,71,71,70,80,71,71,71,80,72,73,80, \
74,79,80,80,80,80,80,80,80,79,80,80,80,80,81,81, \
82,88,85,95,84,96,96,88,96,96,95,95,96,96,96,96, \
96,95,96,104,96,96,96,94,96,95,104,96,96,96,104,104, \
98,104,100,104,104,104,104,104,103,104,104,103,104,104,105,105, \
106,106,128,110,108,128,128,128,128,128,128,128,128,128,128,128, \
128,128,128,128,127,128,128,128,127,124,128,128,126,126,128,125, \
128,128,127,128,128,128,128,128,128,127,128,128,148,128,146,129, \
130,148,144,147,150,148,150,148,148,150,147,150,144,148,150,148, \
150,150,160,148,160,148,148,150,148,149,150,150,160,148,150,148, \
148,150,147,150,150,150,149,149,160,150,151,151,152,156,156,156, \
154,156,160,160,160,156,159,157,158,160,160,160,160,160,161,161, \
162,168,176,192,186,192,186,186,186,192,192,184,192,186,184,192, \
185,186,191,192,192,191,186,192,192,192,192,192,192,192,192,192, \
192,190,192,192,190,192,192,192,186,192,192,192,192,192,192,192, \
192,192,192,192,192,192,192,191,192,192,191,192,192,208,208,208, \
194,208,208,208,208,207,208,208,208,208,207,208,206,208,201,208, \
208,208,204,208,208,208,208,208,208,208,208,208,208,208,209,209, \
210,210,211,211,212,248,256,216,216,248,254,256,256,248,255,256, \
256,256,256,255,256,256,256,255,256,256,256,248,256,256,248,256, \
256,255,256,256,254,256,256,256,248,255,256,256,256,256,254,256, \
256,248,256,247,256,256,256,256,256,256,256,255,255,255,256,256, \
256,254,256,256,253,255,256,256,256,255,256,256,256,253,256,288, \
256,256,296,256,256,296,300,296,296,288,300,299,312,312,312,312, \
288,312,294,311,312,312,299,300,312,296,312,300,300,296,295,299, \
312,300,310,312,296,312,310,312,312,311,312,312,311,312,312,312, \
312,312,311,312,312,312,310,311,312,310,312,312,310,311,311,312, \
312,312,312,312,299,300,300,312,312,312,311,312,312,312,312,312, \
312,312,312,312,310,300,311,310,312,312,312,312,308,300,312,312, \
312,310,311,310,311,311,312,301,312,312,312,311,312,312,312,312, \
311,312,312,312,312,312,312,312,312,312,311,312,312,312,313,313, \
314,314,315,320,320,372,320,320,320,372,372,371,371,372,324,372, \
371,371,372,370,369,371,371,372,372,372,372,372,370,370,372,370, \
371,372,370,372,372,372,372,372,371,371,372,372,370,372,372,372, \
370,372,372,372,370,372,372,370,372,370,370,371,372,371,384,372, \
371,384,368,372,384,370,383,372,384,383,384,384,384,384,384,372, \
372,384,372,372,369,370,372,370,372,368,372,372,372,372,371,370, \
372,372,371,416,384,384,384,416,415,383,383,416,384,384,372,372, \
416,370,371,372,372,415,373,417,415,416,384,384,384,416,416,417, \
417,416,384,416,416,384,415,415,416,384,414,416,414,416,416,417, \
386,408,416,416,416,408,416,416,414,416,417,417,417,416,414,416, \
415,416,416,416,414,416,408,415,415,417,414,407,415,416,416,415, \
416,416,417,416,416,415,416,416,416,416,415,416,416,416,419,415, \
416,416,415,414,415,416,417,413,416,417,416,416,416,416,417,417, \
418,418,419,419,420,420,421,421,422,444,432,430,496,443,496,496, \
432,432,432,468,468,468,468,444,495,466,496,496,496,494,496,496, \
496,468,512,494,496,496,496,496,468,496,493,496,492,496,496,512, \
496,496,496,495,495,495,496,496,496,496,496,512,496,496,512,496, \
496,493,496,496,496,509,496,512,512,496,512,496,512,512,496,495, \
496,512,511,511,512,512,512,511,512,511,495,496,511,511,512,511, \
512,512,493,495,495,495,512,493,495,560,496,496,496,496,496,560, \
496,560,492,496,560,495,494,496,496,495,496,495,496,560,511,496, \
512,509,512,495,494,496,511,496,560,496,512,512,511,496,575,512, \
560,496,496,495,585,511,621,495,621,511,622,624,623,511,624,620, \
624,623,511,620,620,624,591,623,624,622,623,620,624,613,624,624, \
560,623,624,624,624,621,622,623,624,623,576,624,624,624,624,620 \
#define MPFR_MUL_THRESHOLD 8 /* limbs */
#define MPFR_SQR_THRESHOLD 1 /* limbs */
#define MPFR_EXP_2_THRESHOLD 530 /* bits */
#define MPFR_EXP_THRESHOLD 7030 /* bits */
#define MPFR_SINCOS_THRESHOLD 10754 /* bits */
#define MPFR_AI_THRESHOLD1 -30447 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 3973
#define MPFR_AI_THRESHOLD3 46501
/* Tuneup completed successfully, took 12578 seconds */

File diff suppressed because it is too large Load Diff

View File

@ -1,234 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.3.2 */
/* gcc14.fsffrance.org (Intel(R) Xeon(R) CPU X5450 @ 3.00GHz) with gmp 5.0.2
configured with ABI=32 */
#define MPFR_MULHIGH_TAB \
-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,0,10,10,0, \
11,11,0,13,13,0,0,17,17,16,19,19,19,18,18,22, \
20,18,19,26,26,28,23,24,28,29,26,28,29,28,30,32, \
29,30,38,30,34,32,33,37,34,36,37,38,38,38,38,38, \
38,44,36,52,44,48,52,56,51,52,56,56,52,52,56,58, \
52,60,60,56,60,55,52,68,60,68,68,68,68,72,72,67, \
68,68,68,76,76,68,75,75,68,72,76,68,68,75,72,72, \
78,73,74,72,76,74,76,72,76,74,76,72,76,76,75,76, \
75,74,76,76,99,99,104,76,76,111,104,102,99,99,99,104, \
93,105,99,104,99,104,99,99,99,96,102,99,104,104,104,108, \
104,105,111,110,110,111,111,111,109,111,110,111,111,114,108,111, \
111,111,105,105,111,108,111,110,111,110,111,111,110,111,110,134, \
111,141,153,153,153,140,141,165,141,153,151,153,153,153,152,152, \
153,165,153,152,153,153,153,163,165,164,165,153,153,164,163,164, \
165,165,153,168,168,173,174,165,176,177,177,164,176,177,165,165, \
165,172,164,165,165,165,168,177,175,176,177,176,165,175,176,176, \
165,177,176,177,204,204,204,204,204,203,177,218,217,220,204,219, \
220,217,220,220,220,218,219,220,220,220,220,217,217,219,220,220, \
217,204,217,219,220,220,217,218,218,219,220,219,220,219,219,220, \
220,220,220,220,219,220,220,220,220,251,220,219,220,220,220,236, \
249,220,251,250,249,249,251,248,251,251,251,250,251,251,251,249, \
248,248,240,250,250,250,249,251,246,251,250,251,251,251,250,250, \
251,249,249,250,251,251,249,251,250,306,305,306,306,306,306,306, \
306,306,306,251,306,306,305,305,306,306,305,305,306,306,306,305, \
330,305,306,305,306,306,306,330,306,306,305,305,330,330,327,330, \
330,330,306,329,330,330,330,330,330,329,330,306,330,330,329,329, \
329,330,329,330,330,330,330,330,330,327,328,329,330,329,329,330, \
330,329,330,330,328,330,330,330,330,330,354,330,329,330,330,354, \
330,329,330,353,354,330,354,354,330,353,354,354,354,354,354,354, \
354,354,353,354,352,354,354,354,330,354,354,353,354,354,354,378, \
353,408,408,408,408,407,408,407,407,408,408,408,408,407,408,408, \
407,407,407,440,407,408,408,407,439,408,408,408,407,408,440,440, \
440,440,440,440,440,439,440,437,439,440,439,439,440,440,439,440, \
439,439,440,439,440,440,440,439,438,439,440,440,439,440,438,439, \
440,440,440,439,440,440,440,440,438,440,439,439,440,440,440,439, \
440,440,440,440,440,440,439,440,440,471,472,471,439,440,439,472, \
472,472,472,472,472,472,440,472,439,440,471,472,471,471,439,472, \
496,496,496,472,440,471,472,480,495,496,496,495,472,534,536,534, \
534,536,536,536,536,536,536,536,536,536,535,536,536,536,536,536, \
534,535,536,536,536,535,534,534,535,536,536,534,535,536,536,535, \
536,536,536,536,535,536,536,536,536,536,535,536,568,535,536,536, \
536,535,536,568,536,536,568,536,568,568,568,536,568,536,536,566, \
567,567,535,568,568,536,535,536,535,536,536,536,567,536,568,536, \
568,567,568,568,567,600,597,568,567,567,568,600,568,568,568,598, \
566,567,568,568,566,568,568,568,567,568,567,568,568,568,568,568, \
600,567,568,600,568,600,568,568,568,568,568,600,599,566,568,600, \
568,568,600,567,568,599,567,600,599,600,568,600,567,599,600,599, \
568,597,600,598,600,599,599,599,600,600,598,600,598,600,597,600, \
600,600,600,600,600,599,600,600,598,599,600,599,600,639,600,600, \
600,600,568,639,600,568,567,568,568,568,600,640,600,599,600,599, \
600,600,600,598,600,599,568,600,598,600,600,599,600,597,639,598, \
600,600,600,600,599,600,600,600,600,600,600,687,736,598,599,600, \
736,600,600,688,736,736,600,688,735,736,736,734,736,736,735,736, \
640,734,735,736,734,733,736,736,731,735,736,736,736,736,736,736, \
736,735,736,736,736,736,784,735,784,735,784,783,783,736,736,735, \
784,784,784,736,783,784,784,784,784,783,783,784,784,784,784,784, \
781,782,782,784,784,784,784,784,784,734,784,783,784,784,784,736, \
808,783,784,784,784,783,784,783,784,783,784,783,784,832,832,829, \
832,824,823,832,824,784,784,824,831,832,784,783,784,783,784,832, \
784,784,784,783,784,784,781,784,784,784,784,783,824,832,831,784, \
832,831,832,830,832,807,784,832,830,784,832,808,832,824,823,832, \
824,808,831,824,824,824,832,823,832,824,832,831,832,832,829,830, \
831,832,832,832,831,831,832,832,830,832,832,832,832,831,831,832, \
879,832,832,880,832,831,832,831,832,832,832,832,832,832,832,831 \
#define MPFR_SQRHIGH_TAB \
-1,0,0,0,-1,-1,-1,-1,-1,-1,-1,8,8,8,9,9, \
10,10,11,13,13,14,15,16,14,16,17,16,18,17,19,18, \
20,18,19,22,21,22,23,22,23,22,25,24,25,24,25,26, \
27,26,29,27,28,29,30,34,34,36,36,38,38,40,40,42, \
34,44,42,46,38,42,44,38,38,44,40,42,42,50,44,46, \
50,48,48,44,50,52,52,46,50,46,52,50,52,50,50,52, \
52,54,52,52,54,58,58,54,57,58,58,58,56,58,58,58, \
68,58,64,68,72,60,64,72,68,64,72,64,72,68,72,68, \
76,76,72,76,80,76,76,76,84,80,76,88,84,84,84,84, \
88,84,87,88,88,92,92,92,88,96,92,96,96,92,96,96, \
100,100,100,100,96,84,92,92,88,96,92,88,99,92,96,91, \
92,96,100,100,99,100,100,100,100,96,98,96,100,98,100,100, \
100,100,100,117,100,123,123,135,122,123,124,129,126,122,135,123, \
129,135,135,133,134,135,141,140,135,126,140,135,129,129,129,132, \
146,134,129,147,150,135,152,140,135,140,141,141,147,141,147,147, \
147,150,141,147,152,147,141,150,141,151,153,146,147,152,147,147, \
147,152,147,153,151,153,147,147,153,150,147,152,153,150,150,152, \
153,150,153,152,153,150,147,164,150,187,188,148,187,180,152,196, \
187,196,180,186,187,188,196,187,196,188,196,180,195,196,188,188, \
188,196,196,188,192,194,195,196,196,196,195,204,211,212,203,204, \
204,196,196,203,204,220,212,203,196,204,195,204,196,187,216,188, \
200,195,196,204,219,203,195,196,188,203,204,195,203,204,219,195, \
196,211,212,220,196,203,196,212,204,204,220,196,203,220,220,211, \
203,212,212,211,212,212,216,218,220,211,211,218,220,219,220,220, \
220,220,220,220,220,220,219,220,282,282,219,276,276,282,282,275, \
276,282,269,276,258,294,276,282,282,294,294,270,282,294,258,270, \
258,270,294,270,258,270,282,276,306,282,282,282,282,282,276,270, \
282,282,282,281,282,281,281,294,282,276,282,282,282,294,294,282, \
306,306,294,282,294,282,294,294,305,288,306,294,294,294,306,294, \
306,305,318,306,306,318,312,306,306,318,305,306,306,306,317,312, \
311,318,311,312,324,318,317,330,330,318,318,330,323,330,329,330, \
324,330,329,324,342,330,342,329,330,336,341,318,294,329,341,306, \
300,305,300,299,300,305,306,306,324,305,318,318,312,317,330,306, \
306,306,306,306,318,317,318,318,318,324,330,329,324,318,318,318, \
323,324,306,323,324,324,329,328,328,330,330,330,318,318,318,317, \
317,336,330,342,342,341,330,330,330,342,330,340,330,330,318,341, \
342,426,426,341,342,425,426,426,426,342,426,425,426,425,425,426, \
426,426,318,426,425,450,426,425,378,378,378,426,426,450,450,450, \
402,330,449,450,449,450,450,449,450,450,402,450,450,450,450,450, \
426,401,402,450,450,426,426,450,474,472,474,450,426,426,426,474, \
474,474,473,425,426,450,450,426,424,425,426,426,474,449,450,450, \
450,426,474,449,426,450,450,448,449,498,450,498,450,426,450,449, \
448,450,450,448,449,449,474,448,449,450,450,473,474,474,473,449, \
449,474,450,474,450,450,473,474,450,473,474,474,474,474,521,498, \
474,474,474,474,474,474,498,498,474,474,474,473,473,474,474,498, \
498,474,498,498,498,498,498,519,498,522,522,498,498,520,498,498, \
498,498,498,522,522,498,521,521,520,521,522,522,474,522,521,546, \
520,522,546,522,516,546,546,521,522,522,522,521,522,522,521,474, \
545,545,546,546,474,522,522,522,522,474,498,546,522,546,546,544, \
545,545,522,521,546,546,546,522,546,545,522,498,546,546,522,520, \
522,522,522,521,521,545,546,522,521,522,600,568,522,522,521,522, \
600,522,521,521,522,522,519,599,521,522,545,546,522,545,546,545, \
522,599,522,521,546,545,546,546,600,598,600,546,546,545,546,600, \
568,546,600,546,598,600,600,632,632,545,546,599,600,546,546,545, \
546,632,632,600,632,631,632,631,600,600,632,632,598,600,632,599, \
599,599,600,599,599,600,600,600,600,596,600,631,599,600,600,599, \
600,600,600,600,600,600,664,631,632,600,663,664,696,664,600,664, \
663,631,696,662,600,693,696,695,663,696,696,664,631,632,688,630, \
632,632,696,631,695,632,632,695,696,695,695,696,696,696,632,695, \
696,695,696,696,632,695,696,631,664,664,695,663,663,664,696,687, \
662,664,664,663,664,663,694,695,695,727,728,728,693,728,693,695, \
696,696,696,696,696,694,695,696,696,695,696,694,727,696,696,688, \
695,696,696,695,696,695,695,696,696,727,696,696,695,696,695,696, \
696,695,696,695,696,696,696,728,728,696,720,728,728,728,726,728 \
#define MPFR_DIVHIGH_TAB \
0,1,2,3,4,5,6,7,8,9,10,9,10,11,14,13, \
14,11,16,17,13,14,15,16,16,14,16,16,16,19,20,18, \
23,18,22,19,24,25,27,23,23,24,24,23,27,28,27,28, \
28,33,29,30,32,29,37,32,35,33,33,39,33,33,35,38, \
39,38,38,37,38,39,37,37,48,40,39,40,40,50,51,46, \
47,48,48,46,50,50,50,59,52,50,51,48,56,56,54,50, \
51,54,53,58,58,58,56,59,61,58,62,59,62,67,62,67, \
60,64,71,68,64,64,62,68,67,72,66,72,76,72,74,72, \
67,72,72,74,76,70,74,74,76,76,76,76,76,76,74,76, \
76,76,80,87,78,76,88,80,79,88,88,96,94,96,88,103, \
104,104,104,100,103,102,104,104,104,96,104,104,112,112,104,104, \
95,104,104,103,104,104,104,112,104,104,104,103,112,104,104,112, \
104,104,112,104,104,112,104,112,112,112,111,112,120,104,112,116, \
112,120,112,110,120,112,120,112,120,118,116,126,119,120,128,120, \
136,128,120,120,136,120,120,136,152,136,136,136,143,136,128,140, \
128,152,148,152,136,144,152,152,144,152,144,152,152,152,152,152, \
134,152,152,136,136,136,140,152,152,143,152,144,152,152,152,152, \
152,152,144,152,152,152,144,152,152,152,152,152,152,152,152,152, \
152,152,152,152,152,152,150,151,152,152,152,152,156,152,160,160, \
168,156,176,159,160,160,176,160,176,174,176,176,208,176,176,174, \
176,183,176,208,208,176,208,208,208,208,192,208,208,208,208,208, \
208,208,208,200,208,208,208,208,208,208,208,208,208,208,208,208, \
208,208,208,208,208,208,222,208,209,208,208,208,208,208,208,222, \
208,208,208,208,208,208,208,208,208,208,208,208,208,207,208,208, \
208,208,208,208,208,208,208,208,208,222,220,220,222,208,221,216, \
208,220,208,208,208,209,208,208,220,208,208,208,208,208,222,221, \
222,220,220,224,220,216,216,220,216,220,221,222,216,224,224,222, \
222,221,221,222,222,224,222,222,222,222,228,240,232,224,225,225, \
304,228,272,256,231,248,240,234,232,272,288,234,270,256,264,240, \
240,272,256,272,270,271,272,240,303,270,304,304,272,303,304,304, \
304,304,272,270,272,304,288,287,257,303,304,304,288,304,304,272, \
304,304,304,272,304,305,304,303,304,304,303,302,303,304,272,303, \
304,304,304,303,304,304,272,304,304,288,288,304,304,304,305,282, \
304,304,303,304,304,304,304,304,303,304,304,304,302,304,304,305, \
303,302,287,302,304,304,304,305,304,304,302,302,303,303,304,288, \
303,304,304,304,304,302,303,304,304,288,304,303,304,304,304,303, \
304,304,303,303,304,304,304,304,304,304,304,303,304,303,304,304, \
304,303,304,303,304,304,320,303,304,304,304,304,304,304,305,306, \
320,312,320,320,320,320,320,320,320,320,320,320,320,320,352,320, \
352,320,336,320,352,320,319,320,336,336,352,348,348,344,348,348, \
352,348,351,351,351,352,352,354,350,352,352,352,360,353,416,359, \
352,360,416,352,352,370,416,352,353,416,352,416,416,416,352,416, \
352,416,416,416,416,352,408,416,416,384,416,352,416,392,416,416, \
416,401,408,416,416,416,416,416,416,416,416,407,416,408,416,416, \
416,408,408,416,416,416,416,432,416,416,416,436,440,416,416,440, \
440,416,416,416,432,416,440,416,440,438,440,416,440,416,440,438, \
440,444,416,448,416,440,440,440,416,448,448,415,447,440,416,440, \
416,416,408,408,416,416,416,448,416,416,416,416,416,416,416,416, \
416,416,416,416,416,416,440,416,417,416,416,416,416,416,416,416, \
416,416,416,440,416,416,440,416,416,448,416,416,416,416,416,416, \
448,416,416,416,448,416,416,416,416,416,440,416,416,416,432,440, \
416,416,416,416,416,432,416,432,432,440,440,416,416,416,440,440, \
440,448,448,438,440,433,440,439,440,448,440,440,440,439,440,447, \
444,439,440,440,440,440,448,448,448,440,440,448,444,448,443,440, \
440,440,440,440,440,448,448,440,448,439,440,444,447,448,448,448, \
448,448,448,448,448,448,448,447,448,448,448,448,448,448,512,608, \
480,608,464,480,608,456,464,608,608,480,608,480,608,480,480,480, \
608,480,512,480,608,513,512,608,512,512,608,512,608,496,480,496, \
608,516,496,608,480,512,608,512,608,512,512,608,608,608,608,608, \
608,576,608,607,608,608,512,608,607,609,607,608,608,609,608,608, \
609,608,608,608,607,608,607,608,607,608,608,608,608,608,608,607, \
607,608,608,608,608,608,607,607,608,607,608,608,608,607,608,608, \
608,608,609,609,608,608,609,608,608,608,606,606,608,608,609,607, \
606,607,608,608,610,608,608,609,608,608,608,608,608,608,607,608 \
#define MPFR_MUL_THRESHOLD 15 /* limbs */
#define MPFR_SQR_THRESHOLD 18 /* limbs */
#define MPFR_DIV_THRESHOLD 22 /* limbs */
#define MPFR_EXP_2_THRESHOLD 649 /* bits */
#define MPFR_EXP_THRESHOLD 10653 /* bits */
#define MPFR_SINCOS_THRESHOLD 36331 /* bits */
#define MPFR_AI_THRESHOLD1 -21595 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 2333
#define MPFR_AI_THRESHOLD3 33925
/* Tuneup completed successfully, took 1155 seconds */

View File

@ -1,160 +0,0 @@
/* Various Thresholds of MPFR, not exported. -*- mode: C -*-
Copyright 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Generated by MPFR's tuneup.c, 2009-02-09, gcc 4.3 */
/* crumble.loria.fr with gmp-4.2.4 */
#define MPFR_MULHIGH_TAB \
-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,19,20,20,24,26,0,0,24,26,28,27,26,28, \
30,32,32,32,30,30,34,34,32,34,34,36,32,34,36,34, \
35,0,0,36,36,0,37,48,0,0,48,48,51,0,48,52, \
51,0,52,52,51,55,52,56,55,0,56,60,59,59,60,64, \
63,63,64,64,67,67,68,72,63,71,72,60,67,67,60,72, \
63,61,64,64,63,71,68,68,71,67,68,68,67,71,68,72, \
68,68,72,72,76,76,69,69,72,72,71,103,104,72,73,96, \
103,94,95,104,96,96,94,103,104,104,96,96,103,103,104,104, \
120,120,103,103,104,104,120,111,103,112,104,104,120,120,109,103, \
119,119,120,120,127,112,128,128,120,120,136,127,128,128,120,126, \
121,129,126,134,135,135,136,120,113,113,114,118,127,127,136,120, \
121,125,126,118,119,119,120,136,121,153,122,122,127,119,120,128, \
165,153,162,134,163,159,136,136,153,153,134,158,135,135,136,136, \
153,153,162,158,159,159,156,152,153,189,158,186,187,163,156,168, \
189,159,165,165,176,176,172,172,183,173,164,174,165,165,176,176, \
177,177,183,188,189,189,180,185,176,186,177,177,193,188,189,189, \
200,200,201,201,177,207,188,198,199,189,200,200,186,201,207,207, \
213,203,189,189,200,210,201,196,212,207,208,213,189,199,200,200, \
203,209,216,204,199,223,206,200,213,225,208,208,203,203,216,204, \
205,205,224,212,213,213,184,208,209,203,198,210,199,187,206,200, \
201,189,208,208,203,185,216,198,187,199,200,212,213,213,202,208, \
203,197,198,198,199,211,212,212,285,213,280,274,227,275,288,204, \
284,284,278,285,307,216,273,308,309,309,275,219,213,311,305,284, \
306,306,307,307,308,308,309,309,303,303,311,311,284,312,285,285, \
307,286,287,308,309,309,303,303,304,332,305,305,306,299,328,300, \
308,301,309,309,303,310,311,311,333,305,285,285,307,314,308,308, \
321,305,354,322,331,355,332,308,309,333,334,334,303,303,304,312, \
305,305,306,306,307,307,308,308,309,309,302,302,375,311,312,360, \
353,305,330,354,307,355,380,308,357,309,358,358,359,311,312,312, \
345,329,378,354,331,355,356,356,357,357,374,334,375,311,336,384, \
356,329,330,357,331,358,404,332,369,333,334,334,335,353,354,354, \
355,382,356,347,357,357,358,358,377,359,405,333,352,379,353,353, \
354,354,355,355,356,356,357,357,358,376,359,377,369,360,379,370, \
380,380,354,372,355,382,383,401,357,357,376,358,377,377,405,378, \
379,379,380,380,381,381,402,402,353,403,404,404,405,405,376,376, \
377,357,368,358,379,379,360,400,401,381,372,452,373,383,454,384, \
405,405,456,356,357,357,358,378,379,379,490,370,381,381,492,402, \
463,403,404,404,405,405,456,456,527,357,448,448,489,449,400,450, \
453,453,454,454,455,455,456,456,468,490,491,491,492,404,405,482, \
472,450,451,462,463,463,464,453,465,465,455,455,456,489,490,490, \
491,491,492,492,405,526,483,527,484,484,452,452,486,453,454,454, \
455,477,456,522,490,490,491,524,481,492,526,482,483,527,495,517, \
521,533,522,474,499,523,524,524,489,489,490,526,527,527,528,528, \
529,529,518,554,495,483,496,472,521,557,486,522,535,535,524,512, \
525,561,526,526,491,527,528,528,529,517,518,554,531,519,544,520, \
521,521,558,546,559,535,560,536,489,573,490,514,491,563,492,492, \
528,489,555,555,491,491,492,596,597,545,546,546,560,599,600,600, \
523,562,563,511,564,525,526,630,553,527,528,528,607,555,595,543, \
544,531,532,571,559,559,599,560,535,535,562,562,563,537,564,564, \
565,630,514,631,528,632,555,542,634,595,557,557,597,558,559,559, \
571,599,530,530,559,545,546,616,561,547,548,534,633,563,564,564, \
607,537,594,636,567,539,624,554,555,555,598,598,557,557,558,572, \
559,559,560,574,603,561,562,632,563,563,578,592,593,607,580,608, \
553,609,624,596,597,597,598,612,627,585,600,614,573,629,616,602, \
599,599,585,585,616,616,587,632,603,603,634,634,635,605,636,621, \
622,607,623,593,609,609,625,610,611,626,612,597,628,598,599,599, \
600,630,631,616,602,632,633,603,634,634,635,635,636,636,607,637, \
668,608,609,609,610,610,611,611,597,657,628,628,629,629,630,630, \
609,625,562,626,627,563,564,628,629,629,630,630,631,599,664,632, \
681,633,634,634,635,635,620,636,621,621,622,622,623,639,672,592, \
609,641,594,594,595,627,596,564,629,597,598,598,631,599,600,600, \
601,681,618,634,603,635,636,636,557,621,622,606,623,623,608,608 \
#define MPFR_SQRHIGH_TAB \
-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,8,8,9,9, \
10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17, \
18,18,19,19,20,20,21,21,22,22,23,23,26,24,25,25, \
26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33, \
34,34,35,35,36,36,37,38,39,39,39,39,40,40,41,41, \
42,42,43,43,44,44,45,46,46,46,47,47,48,48,49,49, \
50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57, \
58,58,59,59,60,60,61,61,62,62,63,68,64,64,65,65, \
66,68,67,69,68,68,71,69,70,75,76,76,72,72,73,73, \
74,82,75,80,78,76,77,77,78,83,79,81,82,80,81,81, \
82,82,83,85,84,84,85,85,86,86,87,87,88,88,89,89, \
90,92,91,93,94,92,93,93,94,94,95,95,96,96,97,97, \
98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105, \
106,106,107,107,108,108,109,112,110,110,111,118,112,112,113,113, \
114,114,115,122,123,116,117,117,118,118,119,119,120,120,121,121, \
122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129, \
130,154,135,131,132,132,133,133,134,134,135,135,136,140,151,137, \
142,138,139,143,144,154,155,150,151,156,152,143,153,158,145,145, \
165,146,147,147,152,162,149,149,150,150,151,151,152,171,153,153, \
154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161, \
162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169, \
170,170,171,171,172,183,173,173,174,174,175,175,176,187,194,182, \
183,178,179,179,180,180,181,181,182,182,183,183,195,184,185,185, \
186,197,187,187,188,188,189,189,190,190,191,191,192,192,193,204, \
207,200,201,208,209,196,197,203,204,198,199,199,200,200,201,201, \
202,215,216,230,217,210,211,218,212,206,207,207,208,208,209,209, \
210,230,231,231,232,225,226,226,227,227,228,242,222,257,217,217, \
218,245,246,219,220,240,241,234,235,235,236,264,230,258,225,225, \
226,226,227,227,228,228,229,260,261,230,231,270,247,232,233,233, \
234,234,235,235,236,236,237,237,238,238,239,239,240,240,241,241, \
242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249, \
250,250,251,251,252,252,253,253,254,254,255,255,256,256,257,257, \
258,258,259,259,260,260,261,261,262,262,263,263,264,264,265,265, \
266,266,267,267,268,268,269,269,270,270,279,271,272,272,273,273, \
274,274,275,275,276,276,277,277,278,278,279,279,280,280,281,281, \
282,282,283,283,284,284,285,285,294,286,287,287,288,288,289,289, \
290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297, \
298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305, \
306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313, \
314,314,315,315,316,316,317,317,318,318,319,319,320,320,321,321, \
322,322,323,323,324,324,325,325,326,326,327,337,349,338,329,329, \
330,330,331,331,332,332,333,333,334,334,335,335,336,336,337,337, \
338,338,339,360,340,340,341,341,342,342,343,343,344,354,355,345, \
346,346,368,368,369,369,359,349,393,382,383,361,362,362,363,363, \
365,365,366,390,367,391,380,404,358,393,406,382,383,395,396,396, \
385,409,386,410,387,399,388,412,413,401,390,367,368,403,404,416, \
417,405,382,406,407,407,408,408,409,409,410,410,435,411,412,412, \
413,413,414,379,439,427,428,392,393,441,442,430,479,455,444,432, \
437,386,451,387,465,439,427,389,390,454,455,455,404,417,444,444, \
394,394,395,446,460,460,461,487,410,475,399,476,477,464,401,465, \
402,492,403,403,404,404,405,405,406,406,407,419,408,408,409,409, \
410,410,411,411,412,412,413,413,414,414,415,415,416,416,417,417, \
418,418,419,419,420,420,421,421,422,422,423,423,424,424,425,508, \
426,426,427,427,428,428,429,429,430,430,431,431,432,432,433,433, \
434,434,435,435,436,436,437,437,438,438,439,536,440,440,441,441, \
442,442,443,443,444,444,445,445,446,446,447,447,448,448,449,476, \
450,450,451,451,452,452,482,453,454,454,455,455,456,456,457,457, \
458,458,459,459,460,460,461,461,462,462,463,463,464,464,465,465, \
466,466,467,467,468,468,469,469,470,470,471,471,472,472,473,473, \
474,474,475,475,476,476,477,477,478,478,479,479,480,480,481,481, \
482,482,483,483,484,484,485,485,486,486,487,487,488,488,489,489, \
490,490,491,491,492,492,493,493,494,494,495,495,496,496,497,497, \
498,498,499,499,500,500,501,501,502,502,503,503,504,504,505,505, \
506,506,507,507,508,508,509,509,510,510,511,511,512,512,513,513 \
#define MPFR_MUL_THRESHOLD 8 /* limbs */
#define MPFR_EXP_2_THRESHOLD 519 /* bits */
#define MPFR_EXP_THRESHOLD 6533 /* bits */

View File

@ -1,6 +1,6 @@
/* Test file for mpfr_asin.
Copyright 2001-2018 Free Software Foundation, Inc.
Copyright 2001-2020 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
@ -17,7 +17,7 @@ License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "mpfr-test.h"
@ -98,7 +98,7 @@ special (void)
mpfr_set_ui (x, 1, MPFR_RNDN); /* exact */
mpfr_asin (y, x, (mpfr_rnd_t) r);
mpfr_const_pi (x, (mpfr_rnd_t) r);
mpfr_div_2exp (x, x, 1, MPFR_RNDN); /* exact */
mpfr_div_2ui (x, x, 1, MPFR_RNDN); /* exact */
if (mpfr_cmp (x, y))
{
printf ("Error: asin(1) != Pi/2 for rnd=%s\n",
@ -114,7 +114,7 @@ special (void)
mpfr_asin (y, x, (mpfr_rnd_t) r);
mpfr_const_pi (x, MPFR_INVERT_RND((mpfr_rnd_t) r));
mpfr_neg (x, x, MPFR_RNDN); /* exact */
mpfr_div_2exp (x, x, 1, MPFR_RNDN); /* exact */
mpfr_div_2ui (x, x, 1, MPFR_RNDN); /* exact */
if (mpfr_cmp (x, y))
{
printf ("Error: asin(-1) != -Pi/2 for rnd=%s\n",

View File

@ -1,6 +1,6 @@
/* Test file for mpfr_atan.
Copyright 2001-2018 Free Software Foundation, Inc.
Copyright 2001-2020 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
@ -17,7 +17,7 @@ License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "mpfr-test.h"
@ -55,7 +55,7 @@ special (void)
mpfr_set_inf (x, 1);
mpfr_atan (y, x, (mpfr_rnd_t) r);
mpfr_const_pi (x, (mpfr_rnd_t) r);
mpfr_div_2exp (x, x, 1, (mpfr_rnd_t) r);
mpfr_div_2ui (x, x, 1, (mpfr_rnd_t) r);
if (mpfr_cmp (x, y))
{
printf ("Error: mpfr_atan(+Inf), rnd=%s\n",
@ -71,7 +71,7 @@ special (void)
mpfr_atan (y, x, (mpfr_rnd_t) r);
mpfr_const_pi (x, MPFR_INVERT_RND((mpfr_rnd_t) r));
mpfr_neg (x, x, (mpfr_rnd_t) r);
mpfr_div_2exp (x, x, 1, (mpfr_rnd_t) r);
mpfr_div_2ui (x, x, 1, (mpfr_rnd_t) r);
if (mpfr_cmp (x, y))
{
printf ("Error: mpfr_atan(-Inf), rnd=%s\n",

View File

@ -1,6 +1,6 @@
/* Test file for mpfr_exp.
Copyright 1999, 2001-2018 Free Software Foundation, Inc.
Copyright 1999, 2001-2020 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
@ -17,7 +17,7 @@ License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "mpfr-test.h"
@ -618,6 +618,8 @@ bug20080731 (void)
mpfr_set_str (x, "-2.c5c85fdf473de6af278ece700fcbdabd03cd0cb9ca62d8b62c@7",
16, MPFR_RNDN);
/* exp(x) is just below 0xf.fffffffffffffffp-1073741828 */
mpfr_init2 (y1, prec);
mpfr_exp (y1, x, MPFR_RNDU);
@ -629,9 +631,9 @@ bug20080731 (void)
if (mpfr_cmp0 (y1, y2) != 0)
{
printf ("Error in bug20080731\nExpected ");
mpfr_out_str (stdout, 16, 0, y2, MPFR_RNDN);
mpfr_dump (y2);
printf ("\nGot ");
mpfr_out_str (stdout, 16, 0, y1, MPFR_RNDN);
mpfr_dump (y1);
printf ("\n");
exit (1);
}

View File

@ -1,121 +0,0 @@
/* Test file for mpfr_prec_round.
Copyright 1999-2004, 2006-2018 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
The GNU MPFR 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 MPFR 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 MPFR Library; see the file COPYING.LESSER. If not, see
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "mpfr-test.h"
int
main (void)
{
mpfr_t x;
mpfr_exp_t emax;
tests_start_mpfr ();
mpfr_init (x);
mpfr_set_nan (x);
mpfr_prec_round (x, 2, MPFR_RNDN);
MPFR_ASSERTN(mpfr_nan_p (x));
mpfr_set_inf (x, 1);
mpfr_prec_round (x, 2, MPFR_RNDN);
MPFR_ASSERTN(mpfr_inf_p (x) && mpfr_sgn (x) > 0);
mpfr_set_inf (x, -1);
mpfr_prec_round (x, 2, MPFR_RNDN);
MPFR_ASSERTN(mpfr_inf_p (x) && mpfr_sgn (x) < 0);
mpfr_set_ui (x, 0, MPFR_RNDN);
mpfr_prec_round (x, 2, MPFR_RNDN);
MPFR_ASSERTN(mpfr_cmp_ui (x, 0) == 0 && MPFR_IS_POS(x));
mpfr_set_ui (x, 0, MPFR_RNDN);
mpfr_neg (x, x, MPFR_RNDN);
mpfr_prec_round (x, 2, MPFR_RNDN);
MPFR_ASSERTN(mpfr_cmp_ui (x, 0) == 0 && MPFR_IS_NEG(x));
emax = mpfr_get_emax ();
set_emax (0);
mpfr_set_prec (x, 3);
mpfr_set_str_binary (x, "0.111");
mpfr_prec_round (x, 2, MPFR_RNDN);
MPFR_ASSERTN(mpfr_inf_p (x) && mpfr_sgn (x) > 0);
set_emax (emax);
mpfr_set_prec (x, mp_bits_per_limb + 2);
mpfr_set_ui (x, 1, MPFR_RNDN);
mpfr_nextbelow (x);
mpfr_prec_round (x, mp_bits_per_limb + 1, MPFR_RNDN);
MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0);
mpfr_set_prec (x, 3);
mpfr_set_ui (x, 5, MPFR_RNDN);
mpfr_prec_round (x, 2, MPFR_RNDN);
if (mpfr_cmp_ui(x, 4))
{
printf ("Error in tround: got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf (" instead of 4\n");
exit (1);
}
/* check case when reallocation is needed */
mpfr_set_prec (x, 3);
mpfr_set_ui (x, 5, MPFR_RNDN); /* exact */
mpfr_prec_round (x, mp_bits_per_limb + 1, MPFR_RNDN);
if (mpfr_cmp_ui(x, 5))
{
printf ("Error in tround: got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf (" instead of 5\n");
exit (1);
}
mpfr_clear(x);
mpfr_init2 (x, 3);
mpfr_set_si (x, -5, MPFR_RNDN); /* exact */
mpfr_prec_round (x, mp_bits_per_limb + 1, MPFR_RNDN);
if (mpfr_cmp_si(x, -5))
{
printf ("Error in tround: got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf (" instead of -5\n");
exit (1);
}
/* check case when new precision needs less limbs */
mpfr_set_prec (x, mp_bits_per_limb + 1);
mpfr_set_ui (x, 5, MPFR_RNDN); /* exact */
mpfr_prec_round (x, 3, MPFR_RNDN); /* exact */
if (mpfr_cmp_ui(x, 5))
{
printf ("Error in tround: got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf (" instead of 5\n");
exit (1);
}
mpfr_clear(x);
tests_end_mpfr ();
return 0;
}