|
* 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.
|
|
* 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.)
|
|
* 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.
|