Commit Graph

189 Commits

Author SHA1 Message Date
mrg 18b749761d add turbosparc to the list of known sparc machines.
reported by Ken Wellsch on port-sparc.

config.guess knows that this CPU is a turbosparc, and that's what
passes "turbosparc" not "sparc" further down.

XXX: pullup-10.
2024-02-07 07:12:17 +00:00
mrg 82fc93f0b4 updates for mpc 1.3.1 2023-03-05 22:36:58 +00:00
mrg 367b82799a initial import of mpc 1.3.1. changes from 1.2.1 include:
New function: mpc_agm
New rounding modes "away from zero", indicated by the letter "A" and
corresponding to MPFR_RNDA on the designated real or imaginary part.
New experimental ball arithmetic.
New experimental function: mpc_eta_fund
Bug fixes:
- mpc_asin for asin(z) with small |Re(z)| and tiny |Im(z)|
- mpc_pow_fr: sign of zero part of result when the base has up to sign
  the same real and imaginary part, and the exponent is an even positive
  integer
- mpc_fma: the returned int value was incorrect in some cases
  (indicating whether the rounded real/imaginary parts were
  smaller/equal/greater than the exact values), but the computed complex
  value was correct.
- Remove the unmaintained Makefile.vc; build files for Visual Studio are
  maintained independently by Brian Gladman.
2023-03-05 22:35:51 +00:00
mrg ad5b340faf updates for mpfr 4.2.0. 2023-03-05 22:12:02 +00:00
mrg 17dc1ceb5c merge mpfr 4.2.0. 2023-03-05 22:11:12 +00:00
mrg ba125506a6 initial import of MPFR 4.2.0. changes from 4.1.0 include:
Binary compatible with MPFR 4.0.* and 4.1.*, though some minor changes
in the behavior of the formatted output functions may be visible,
regarded as underspecified behavior or bug fixes (see below).

New functions mpfr_cosu, mpfr_sinu, mpfr_tanu, mpfr_acosu, mpfr_asinu,
mpfr_atanu and mpfr_atan2u.

New functions mpfr_cospi, mpfr_sinpi, mpfr_tanpi, mpfr_acospi,
mpfr_asinpi, mpfr_atanpi and mpfr_atan2pi.

New functions mpfr_log2p1, mpfr_log10p1, mpfr_exp2m1, mpfr_exp10m1 and
mpfr_compound_si.

New functions mpfr_fmod_ui, mpfr_powr, mpfr_pown, mpfr_pow_uj,
mpfr_pow_sj and mpfr_rootn_si (mpfr_pown is actually a macro defined as
an alias for mpfr_pow_sj).

Bug fixes.
- In particular, for the formatted output functions (mpfr_printf, etc.),
the case where the precision consists only of a period has been fixed to
be like .0 as specified in the ISO C standard, and the manual has been
corrected and clarified.
- The macros of the custom interface have also been fixed:
they now behave like functions (except a minor limitation for
mpfr_custom_init_set).
2023-03-05 22:08:36 +00:00
christos 5f34f68b67 fix lint build on vax 2022-05-31 17:52:35 +00:00
rillig b6f12bc4a7 libmpc: suppress wrong lint warnings 2022-05-14 11:12:31 +00:00
rillig 7e48373d7e libgmp: remove trailing whitespace 2021-12-07 19:14:05 +00:00
rillig 99b4d3b95b libgmp: suppress lint warnings about int/size_t mismatch
The cases where numbers have 4 GB of precision are probably rare.
2021-12-07 19:12:54 +00:00
rillig fd5ea1b146 libgmp: clean up LINTFLAGS
Now that gmp-impl.h includes <stdlib.h>, defining alloca is no longer
necessary.
2021-12-07 19:04:27 +00:00
christos 2fcb78072a fix alloca for NetBSD lint 2021-12-07 02:22:37 +00:00
rillig 1eff204dfe libgmp: fix unwarranted ignored error on 'make clean'
rmdir: dummy: No such file or directory
*** Error code 1 (ignored)
2021-12-06 23:07:49 +00:00
rillig 51f592ae95 libgmp: suppress a few lint warnings
Instead of erroring out due to the unknown function alloca, lint now
warns about a pointer/integer mismatch since it wrongly assumes that all
__builtin functions return int. The warning is still better than a
failing build though.
2021-12-06 23:05:36 +00:00
mrg 4e23f5f9be gmp: pullover fixes for https://nvd.nist.gov/vuln/detail/CVE-2021-43618
changeset 18135:561a9c25298e

mpz/inp_raw.c: Avoid bit size overflows
author 	Marco Bodrato <bodrato@mail.dm.unipi.it>


XXX: pullup-8, pullup-9
2021-11-29 03:57:22 +00:00
christos a043955316 Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist.  In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
2021-09-18 01:47:07 +00:00
mrg 119a1bddf6 mknative-gmp for mipsn64* and GMP 6.2.1. 2021-07-12 18:42:39 +00:00
mrg 06cfffb4b6 add mipsn64 support, so native-gmp works, and likely, build.sh tools
on a mipsn64 host.
2021-07-12 18:42:23 +00:00
mrg a1763d54a8 mknative-gmp for GMP 6.2.1 and most platforms. 2021-07-12 09:34:54 +00:00
mrg 6a02a25550 regen for GMP 6.2.1 and i386 and arm64. update docs so i don't forget
that i mostly got 'native-gmp' working last year.
2021-07-12 07:59:51 +00:00
mrg effeba7a85 regen gmp parts for amd64 and gmp 6.2.1. 2021-07-12 07:04:37 +00:00
mrg a273202eee merge GMP 6.2.1. 2021-07-11 21:15:45 +00:00
mrg 1daf83e636 initial import of GMP 6.2.1. from their NEWS:
Changes between GMP version 6.2.0 and 6.2.1

  BUGS FIXED
  * A possible overflow of type int is avoided for mpz_cmp on huge operands.
  * Overflows are more carefully detected and reported for mpz_pow_ui.
  * A bug in longlong.h for aarch64 sub_ddmmss, not affecting GMP, was healed.

  FEATURES
  * C90 compliance.
  * Initial support for Darwin on arm64, and improved portability.
  * Support for more processors.
2021-07-11 21:14:44 +00:00
mrg a0d373eed0 initial import of MPC 1.2.1. from their NEWS:
Changes in version 1.2.1, released in October 2020:
  - Bug fixes:
    - Fix an incompatibility problem with GMP 6.0 and before.
    - Fix an intermediate overflow in asin.
2021-07-11 20:13:00 +00:00
christos 885f4c70a1 Copied from mips64el 2021-04-25 23:58:23 +00:00
christos 6b942a58a1 copied from mips64eb 2021-04-25 23:57:47 +00:00
christos ef96cd7f1c Handle mipsn64 2021-04-25 23:52:59 +00:00
rin a8c74629f6 Support aarch64eb in */config.guess.
Cherry-picked from upstream:
https://git.savannah.gnu.org/gitweb/?p=config.git;a=commit;h=1c4398015583eb77bc043234f5734be055e64bea

Everything except external/apache2/llvm/dist/llvm/cmake/config.guess
is patched, which is under vendor tag and cannot be modified. I expect
that this file is not actually used as we use hand-crafted version of
configure script instead of cmake for building LLVM.

Note that external/apache2/llvm/autoconf/autoconf/config.guess has
already been committed on Oct. 20, but commit message disappeared as
cvs aborted due to "permission denied" when trying to modify the file
mentioned above. Sorry for confusing you.

Also note that GMP uses its own config.guess Patch for
external/lgpl3/gmp/dist/config.guess is provided by ryo@. Thanks!
2020-11-17 10:35:10 +00:00
macallan fc217a59c2 recognize some more G4 model names produced by config.guess
now native tools builds on ppc7447 and ppc7455 work again
2020-10-31 21:48:06 +00:00
mrg 63c24fdcdf re-run native-gmp for gmp 6.2.0 and arm: run with a v4 toolchain
instead of a v7 toolchain, so it works on all.

should fix latest build mess.

future: test the speed of this vs armv[567] specific on armv[567].
2020-09-27 21:19:36 +00:00
mrg bc89ad3318 mknative-gmp output for GMP 6.2.0. 2020-09-27 00:31:51 +00:00
mrg 41f3ac3e09 merge gmp 6.2.0. 2020-09-27 00:30:26 +00:00
mrg 72c7faa4db initial import of GMP 6.2.0. changes include:
- Bug fixes to gmp_snprintf, conversion to double, mpz_powm,
  and mpf_set_str.
- New functions for factorial, primorial, fibonacci, mpz_2fac_ui,
  and mpz_mfac_uiui.
- MIPS r6 cores are now supported.
- Various speeds ups.
2020-09-27 00:27:02 +00:00
mrg 3169bf0d27 update slightly to enable 'native-gmp' target from tools/gmp to work.
call the awk script on 'config.log', which has (almost) the same output
as the stdout of ./configure, and automatically store it as 'srcs.mk'.
2020-09-26 20:58:48 +00:00
mrg 4874f8c7fe updates for mpc 1.2.0. 2020-09-26 07:57:56 +00:00
mrg 90a8ff2142 initial import of mpc 1.2.0. main changes are:
New functions:
  mpc_sum
  mpc_dot

Several functions are more robust with a reduced exponent range (for
example corresponding to IEEE 754 binary formats).
2020-09-26 07:54:54 +00:00
mrg 555a5a053b updates for mpfr 4.0.1. 2020-09-26 07:50:41 +00:00
mrg 2b532294c7 empty PATCHES is needed. revert a local change that is wrong now. 2020-09-26 07:40:50 +00:00
mrg 76abf2fb07 merge mpfr 4.1.0 2020-09-26 07:29:57 +00:00
mrg 2ba2404b55 GNU mpfr 4.1.0. main changes from 4.0:
Changed __float128 to the type _Float128 specified in ISO/IEC TS 18661.
__float128 is used as a fallback if _Float128 is not supported.
New function mpfr_get_str_ndigits about conversion to a string of digits.
New function mpfr_dot for the dot product (incomplete, experimental).
New functions mpfr_get_decimal128 and mpfr_set_decimal128 (available
only when MPFR has been built with decimal float support).
New function mpfr_cmpabs_ui.
New function mpfr_total_order_p for the IEEE 754 totalOrder predicate.
The mpfr_out_str function now accepts bases from -2 to -36, in order to
follow mpfr_get_str and GMP's mpf_out_str functions (these cases gave an
assertion failure, as with other invalid bases).
Shared caches: cleanup; really detect lock failures (abort in this case).
Improved mpfr_add and mpfr_sub when all operands have a precision
equal to twice the number of bits per word, e.g., 128 bits on a 64-bit
platform.
Optimized the tuning parameters for various architectures.
2020-09-26 07:25:38 +00:00
mrg e7604a0c6a we don't have a patch version for a while now. 2020-09-26 07:01:39 +00:00
jakllsch 5aa118c344 Teach native gmp about aarch64eb 2020-09-02 15:15:30 +00:00
joerg 2fd68a1040 Ignore warnings for tautological compares for clang. 2020-05-15 14:44:05 +00:00
mrg 1eeccc863c remove obsolete comments. 2019-06-01 08:29:16 +00:00
mrg d1429afe98 fake mknative, mostly enough to build real for mknative. 2019-04-17 08:56:10 +00:00
maya fc3e881944 Fake mknative 2019-04-15 14:02:23 +00:00
mrg ca946efc7f add missing sources needed by new mpfr/mpc. 2018-09-04 06:09:31 +00:00
mrg c85a385b03 build new libmpc and libmpfr files. define endianness as needed.
remove odd sort of duplicated SRCS list for mpfr.
2018-09-04 05:16:25 +00:00
mrg 2dd031d465 merge mpfr 4.0.1. 2018-09-04 05:05:25 +00:00
mrg 299c6f0c6b import mpfr 4.0.1. main changes since 3.1.5 are:
Changes from version 4.0.0 to version 4.0.1:
- Bug fixes (see ChangeLog file), in particular in mpfr_div_ui, which
  could yield an incorrectly rounded result to nearest when using
  different precisions; this bug had been present since the introduction
  of mpfr_div_ui, and in MPFR 4.0.0, it was affecting mpfr_div too.

Changes from versions 3.1.* to version 4.0.0:
- Partial support of MPFR_RNDF (faithful rounding).
- New functions: mpfr_fpif_export and mpfr_fpif_import to export and import
  numbers in a floating-point interchange format, independent both on the
  number of bits per word and on the endianness.
- New function mpfr_fmodquo to return the low bits of the quotient
  corresponding to mpfr_fmod.
- New functions mpfr_flags_clear, mpfr_flags_set, mpfr_flags_test,
  mpfr_flags_save and mpfr_flags_restore to operate on groups of flags.
- New functions mpfr_set_float128 and mpfr_get_float128 to convert from/to
  the __float128 type (requires --enable-float128 and compiler support).
- New functions mpfr_buildopt_float128_p and mpfr_buildopt_sharedcache_p.
- New functions mpfr_rint_roundeven and mpfr_roundeven, completing the
  other similar round-to-integer functions for rounding to nearest with
  the even-rounding rule.
- New macro mpfr_round_nearest_away to add partial emulation of the
  rounding to nearest-away (as defined in IEEE 754-2008).
- New functions mpfr_nrandom and mpfr_erandom to generate random numbers
  following normal and exponential distributions respectively.
- New functions mpfr_fmma and mpfr_fmms to compute a*b+c*d and a*b-c*d.
- New function mpfr_rootn_ui, similar to mpfr_root, but agreeing with the
  rootn function of the IEEE 754-2008 standard.
- New functions mpfr_log_ui to compute the logarithm of an integer,
  mpfr_gamma_inc for the incomplete Gamma function.
- New function mpfr_beta for the Beta function (incomplete, experimental).
- New function mpfr_get_q to convert a floating-point number into rational.
- Dropped K&R C compatibility.
- Major speedup in mpfr_add, mpfr_sub, mpfr_mul, mpfr_div and mpfr_sqrt when
  all operands have the same precision and this precision is less than twice
  the number of bits per word, e.g., less than 128 on a 64-bit computer.
- Speedup by a factor of almost 2 in the double <--> mpfr conversions
  (mpfr_set_d and mpfr_get_d).
- Speedup in mpfr_log1p and mpfr_atanh for small arguments.
- Speedup in the mpfr_const_euler function (contributed by Fredrik Johansson),
  in the computation of Bernoulli numbers (used in mpfr_gamma, mpfr_li2,
  mpfr_digamma, mpfr_lngamma and mpfr_lgamma), in mpfr_div, in mpfr_fma
  and mpfr_fms.
2018-09-04 05:02:00 +00:00