Commit graph

18 commits

Author SHA1 Message Date
jnemeth
5f534b93e8 Update to GNU MP 4.2.1
Changes between GMP version 4.2 and 4.2.1

  Bugs:
  * Shared library numbers corrected.
  * Broken support for 32-bit AIX fixed.
  * Misc minor fixes.

  Speedups:
  * Exact division (mpz_divexact) now falls back to plain division for large
    operands.

  Features:
  * Support for some new systems.


Changes between GMP version 4.1.4 and 4.2

  Bugs:
  * Minor bug fixes and code generalizations.
  * Expanded and improved test suite.

  Speedups:
  * Many minor optimizations, too many to mention here.
  * Division now always subquadratic.
  * Computation of n-factorial much faster.
  * Added basic x86-64 assembly code.
  * Floating-point output is now subquadratic for all bases.
  * FFT multiply code now about 25% faster.
  * Toom3 multiply code faster.

  Features:
  * Much improved configure.
  * Workarounds for many more compiler bugs.
  * Temporary allocations are now made on the stack only if small.
  * New systems supported: HPPA-2.0 gcc, IA-64 HP-UX, PowerPC-64 Darwin,
    Sparc64 GNU/Linux.
  * New i386 fat binaries, selecting optimised code at runtime (--enable-fat).
  * New build option: --enable-profiling=instrument.
  * New memory function: mp_get_memory_functions.
  * New Mersenne Twister random numbers: gmp_randinit_mt, also now used for
    gmp_randinit_default.
  * New random functions: gmp_randinit_set, gmp_urandomb_ui, gmp_urandomm_ui.
  * New integer functions: mpz_combit, mpz_rootrem.
  * gmp_printf etc new type "M" for mp_limb_t.
  * gmp_scanf and friends now accept C99 hex floats.
  * Numeric input and output can now be in bases up to 62.
  * Comparisons mpz_cmp_d, mpz_cmpabs_d, mpf_cmp_d recognise infinities.
  * Conversions mpz_get_d, mpq_get_d, mpf_get_d truncate towards zero,
    previously their behaviour was unspecified.
  * Fixes for overflow issues with operands >= 2^31 bits.

  Caveats:
  * mpfr is gone, and will from now on be released only separately.  Please see
    www.mpfr.org.
2006-12-09 03:38:16 +00:00
hiramatsu
27c19ee0da Fix for OpenBSD/i386.
This patch is taken from OpenBSD ports.
2005-11-02 04:38:42 +00:00
jschauma
1c40d9a183 Make this work on IRIX, by passing -c99 (if mipspro is used) and by
ensuring that the conftests are actually removed and therefor capabilities
can actually be detected (rather than configure failing for them)
2005-10-21 15:46:43 +00:00
jschauma
13dcf12680 revert previous; this wasn't tested very well. Sorry. 2005-06-14 14:28:32 +00:00
jschauma
465ef78b4a make this build on IRIX 2005-06-14 03:08:30 +00:00
jschauma
4884bc7744 patch configure to work with current irix versions 2005-05-10 02:31:38 +00:00
wiz
9ab65e5aae Add patch provided by Richard Earnshaw in PR 23181:
"GMP does not handle pure-endian FP on ARM"
Bump PKGREVISION.
2005-03-15 15:51:30 +00:00
agc
4a3d2f7ce2 Add RMD160 digests. 2005-02-23 22:24:08 +00:00
adam
bed7c85964 Changes 4.1.4:
* Bug fix to FFT multiplication code (crash for huge operands).
* Bug fix to mpf_sub (miscomputation).
* Support for powerpc64-gnu-linux.
* Better support for AMD64 in 32-bit mode.
* Upwardly binary compatible with 4.1.3, 4.1.2, 4.1.1, 4.1, 4.0.1, 4.0,
  and 3.x versions.
2004-11-22 13:58:28 +00:00
adam
a90efb8f55 Changes 4.1.3:
* Bug fixes.
* mpz_export allows NULL for countp parameter.
2004-08-18 12:41:32 +00:00
drochner
34fb415599 fix amd64 inline assembler code to deal with 32-bit integers
passed to count_trailing_zeros()
2004-02-26 17:08:22 +00:00
mycroft
5d3ea311dd Update to gmp 4.1.2. Many changes, but the relevant bug fixes seems to be:
* mpn/generic/rootrem.c: In Newton loop, pad qp with leading zero.

	* mpn/generic/rootrem.c: Allocate 1.585 (log2(3)) times more space
        for pp temporary to allow for worst case overestimate of root.
	Add some asserts.

	* tests/mpz/t-root.c: Generalize and speed up.

        * mpfr/pow.c: Fixed bug (infinite loop) for exact powers.

	* mpfr/sub.c: Fixed wrong inexact flag for a - b where a and b are of
        different signs and EXP(a) < EXP(b).

	* printf/printffuns.c (gmp_fprintf_reps): Make it actually work
	for padding > 256.

        * gmp-impl.h (USE_LEADING_REGPARM): Disable for PIC code generation.

	* mpn/generic/tdiv_qr.c: Remove a bogus assert.

	* mpn/generic/mode1o.c, mpn/alpha/ev5/mode1o.c: Correction to ASSERTs.
	Reported by Christoph Ludwig.

	* mpf/urandomb.c: Truncate nbits to precision of rop.

	* configure.in (sparc v9 *bsd*): Add NetBSD and OpenBSD sparc64.
	(x86 openbsd*): Extra underscore for _GLOBAL_OFFSET_TABLE_.

	* mpn/generic/rootrem.c: Avoid overflow in xnb calculation.
	* mpz/root.c: Avoid overflow in rootnb calculation.

	* gmpxx.h (__gmp_binary_equal, __gmp_binary_not_equal): Fix broken
	mpq/double functions.

	* mpn/m68k/lshift.asm: Fix typo in !scale_available_p code.
        * mpn/m68k/rshift.asm: Likewise.

	* mpz/remove.c: Make src==0 return 0, not do DIVIDE_BY_ZERO.

	* mpfr/acinclude.m4 (MPFR_CONFIGS): Patch by Vincent for an apparent
	float rounding gremlin on powerpc.

	* mpf/inp_str.c: Fix returned count of chars read, reported by Paul
	Zimmermann.  Also fix a memory leak for invalid input.

	* mpfr/set_q.c: Allow for 1 bit numerator or denominator.
2003-02-21 12:25:22 +00:00
jlam
1c57323789 Merge packages from the buildlink2 branch back into the main trunk that
have been converted to USE_BUILDLINK2.
2002-08-25 21:48:57 +00:00
mjl
a1f4abf7ef Update to 4.1
* Bug fixes.
* Speed improvements.
* Upwardly binary compatible with 4.0, 4.0.1, and 3.x versions.
* Asymptotically fast conversion to/from strings (mpz, mpq, mpn levels), but
  also major speed improvements for tiny operands.
* mpn_get_str parameter restrictions relaxed.
* Major speed improvments for HPPA 2.0 systems.
* Major speed improvments for UltraSPARC systems.
* Major speed improvments for IA-64 systems (but still sub-optimal code).
* Extended test suite.
* mpfr is back, with many bug fixes and portability improvements.
* New function: mpz_ui_sub.
* New functions: mpz_export, mpz_import.
* Optimization for nth root functions (mpz_root, mpz_perfect_power_p).
* Optimization for extended gcd (mpz_gcdext, mpz_invert, mpn_gcdext).
* Generalized low-level number format, reserving a `nails' part of each
  limb.  (Please note that this is really experimental; some functions
  are likely to compute garbage when nails are enabled.)
* Nails-enabled Alpha 21264 assembly code, allowing up to 75% better
  performance.  (Use --enable-nails=4 to enable it.)
2002-08-24 00:39:06 +00:00
fredb
2c2c66c485 Make this compile with gas-2.11.2/m68k/ELF (NetBSD-1.5ZC/mac68k). 2002-05-10 05:06:22 +00:00
hubertf
40d8739477 Update gmp to 4.0.1. Changes:
* Bug fixes.
* Speed improvements.
* Upwardly binary compatible with 3.x versions.
* New CPU support: IA-64, Pentium 4.
* Improved CPU support: 21264, Cray vector systems.
* Support for all MIPS ABIs: o32, n32, 64.
* New systems supported: Darwin, SCO, Windows DLLs.
* New divide-and-conquer square root algorithm.
* New algorithms chapter in the manual.
* New malloc reentrant temporary memory method.
* New C++ class interface by Gerardo Ballabio (beta).
* Revamped configure, featuring ABI selection.
* Speed improvements for mpz_powm and mpz_powm_ui (mainly affecting small
  operands).
* mpz_perfect_power_p now properly recognizes 0, 1, and negative perfect
  powers.
* mpz_hamdist now supports negative operands.
* mpz_jacobi now accepts non-positive denominators.
* mpz_powm now supports negative exponents.
* mpn_mul_1 operand overlap requirements relaxed.
* Float input and output uses locale specific decimal point where available.
* New gmp_printf, gmp_scanf and related functions.
* New division functions: mpz_cdiv_q_2exp, mpz_cdiv_r_2exp, mpz_divexact_ui.
* New divisibility tests: mpz_divisible_p, mpz_divisible_ui_p,
  mpz_divisible_2exp_p, mpz_congruent_p, mpz_congruent_ui_p,
  mpz_congruent_2exp_p.
* New Fibonacci function: mpz_fib2_ui.
* New Lucas number functions: mpz_lucnum_ui, mpz_lucnum2_ui.
* Other new integer functions: mpz_cmp_d, mpz_cmpabs_d, mpz_get_d_2exp,
  mpz_init2, mpz_kronecker, mpz_lcm_ui, mpz_realloc2.
* New rational I/O: mpq_get_str, mpq_inp_str, mpq_out_str, mpq_set_str.
* Other new rational functions: mpq_abs, mpq_cmp_si, mpq_div_2exp,
  mpq_mul_2exp, mpq_set_f.
* New float tests: mpf_integer_p, mpf_fits_sint_p, mpf_fits_slong_p,
  mpf_fits_sshort_p, mpf_fits_uint_p, mpf_fits_ulong_p, mpf_fits_ushort_p.
* Other new float functions: mpf_cmp_d, mpf_get_default_prec, mpf_get_si,
  mpf_get_ui, mpf_get_d_2exp.
* New random functions: gmp_randinit_default, gmp_randinit_lc_2exp_size.
* New demo expression string parser (see demos/expr).
* New preliminary perl interface (see demos/perl).
* Tuned algorithm thresholds for many more CPUs.
2002-04-10 12:37:53 +00:00
wiz
dfb2d5edc6 Move to sha1 digests, and/or add distfile sizes. 2001-04-21 00:44:09 +00:00
agc
d7d36b3561 + move the distfile digest/checksum value from files/md5 to distinfo
+ move the patch digest/checksum values from files/patch-sum to distinfo
2001-04-17 10:57:56 +00:00