5f534b93e8
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.
16 lines
558 B
Text
16 lines
558 B
Text
$NetBSD: patch-aa,v 1.11 2006/12/09 03:38:16 jnemeth Exp $
|
|
|
|
--- longlong.h.orig 2006-12-08 17:56:28.000000000 -0800
|
|
+++ longlong.h
|
|
@@ -826,8 +826,10 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
|
|
count is only an int. */
|
|
#define count_trailing_zeros(count, x) \
|
|
do { \
|
|
+ UDItype __cbtmp; \
|
|
ASSERT ((x) != 0); \
|
|
- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \
|
|
+ __asm__ ("bsfq %1,%q0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
|
|
+ (count) = __cbtmp; \
|
|
} while (0)
|
|
#endif /* x86_64 */
|
|
|