head 1.14; access; symbols pkgsrc-2019Q4:1.13.0.50 pkgsrc-2019Q4-base:1.13 pkgsrc-2019Q3:1.13.0.46 pkgsrc-2019Q3-base:1.13 pkgsrc-2019Q2:1.13.0.44 pkgsrc-2019Q2-base:1.13 pkgsrc-2019Q1:1.13.0.42 pkgsrc-2019Q1-base:1.13 pkgsrc-2018Q4:1.13.0.40 pkgsrc-2018Q4-base:1.13 pkgsrc-2018Q3:1.13.0.38 pkgsrc-2018Q3-base:1.13 pkgsrc-2018Q2:1.13.0.36 pkgsrc-2018Q2-base:1.13 pkgsrc-2018Q1:1.13.0.34 pkgsrc-2018Q1-base:1.13 pkgsrc-2017Q4:1.13.0.32 pkgsrc-2017Q4-base:1.13 pkgsrc-2017Q3:1.13.0.30 pkgsrc-2017Q3-base:1.13 pkgsrc-2017Q2:1.13.0.26 pkgsrc-2017Q2-base:1.13 pkgsrc-2017Q1:1.13.0.24 pkgsrc-2017Q1-base:1.13 pkgsrc-2016Q4:1.13.0.22 pkgsrc-2016Q4-base:1.13 pkgsrc-2016Q3:1.13.0.20 pkgsrc-2016Q3-base:1.13 pkgsrc-2016Q2:1.13.0.18 pkgsrc-2016Q2-base:1.13 pkgsrc-2016Q1:1.13.0.16 pkgsrc-2016Q1-base:1.13 pkgsrc-2015Q4:1.13.0.14 pkgsrc-2015Q4-base:1.13 pkgsrc-2015Q3:1.13.0.12 pkgsrc-2015Q3-base:1.13 pkgsrc-2015Q2:1.13.0.10 pkgsrc-2015Q2-base:1.13 pkgsrc-2015Q1:1.13.0.8 pkgsrc-2015Q1-base:1.13 pkgsrc-2014Q4:1.13.0.6 pkgsrc-2014Q4-base:1.13 pkgsrc-2014Q3:1.13.0.4 pkgsrc-2014Q3-base:1.13 pkgsrc-2014Q2:1.13.0.2 pkgsrc-2014Q2-base:1.13 pkgsrc-2014Q1:1.12.0.10 pkgsrc-2014Q1-base:1.12 pkgsrc-2013Q4:1.12.0.8 pkgsrc-2013Q4-base:1.12 pkgsrc-2013Q3:1.12.0.6 pkgsrc-2013Q3-base:1.12 pkgsrc-2013Q2:1.12.0.4 pkgsrc-2013Q2-base:1.12 pkgsrc-2013Q1:1.12.0.2 pkgsrc-2013Q1-base:1.12 pkgsrc-2012Q4:1.11.0.54 pkgsrc-2012Q4-base:1.11 pkgsrc-2012Q3:1.11.0.52 pkgsrc-2012Q3-base:1.11 pkgsrc-2012Q2:1.11.0.50 pkgsrc-2012Q2-base:1.11 pkgsrc-2012Q1:1.11.0.48 pkgsrc-2012Q1-base:1.11 pkgsrc-2011Q4:1.11.0.46 pkgsrc-2011Q4-base:1.11 pkgsrc-2011Q3:1.11.0.44 pkgsrc-2011Q3-base:1.11 pkgsrc-2011Q2:1.11.0.42 pkgsrc-2011Q2-base:1.11 pkgsrc-2011Q1:1.11.0.40 pkgsrc-2011Q1-base:1.11 pkgsrc-2010Q4:1.11.0.38 pkgsrc-2010Q4-base:1.11 pkgsrc-2010Q3:1.11.0.36 pkgsrc-2010Q3-base:1.11 pkgsrc-2010Q2:1.11.0.34 pkgsrc-2010Q2-base:1.11 pkgsrc-2010Q1:1.11.0.32 pkgsrc-2010Q1-base:1.11 pkgsrc-2009Q4:1.11.0.30 pkgsrc-2009Q4-base:1.11 pkgsrc-2009Q3:1.11.0.28 pkgsrc-2009Q3-base:1.11 pkgsrc-2009Q2:1.11.0.26 pkgsrc-2009Q2-base:1.11 pkgsrc-2009Q1:1.11.0.24 pkgsrc-2009Q1-base:1.11 pkgsrc-2008Q4:1.11.0.22 pkgsrc-2008Q4-base:1.11 pkgsrc-2008Q3:1.11.0.20 pkgsrc-2008Q3-base:1.11 cube-native-xorg:1.11.0.18 cube-native-xorg-base:1.11 pkgsrc-2008Q2:1.11.0.16 pkgsrc-2008Q2-base:1.11 cwrapper:1.11.0.14 pkgsrc-2008Q1:1.11.0.12 pkgsrc-2008Q1-base:1.11 pkgsrc-2007Q4:1.11.0.10 pkgsrc-2007Q4-base:1.11 pkgsrc-2007Q3:1.11.0.8 pkgsrc-2007Q3-base:1.11 pkgsrc-2007Q2:1.11.0.6 pkgsrc-2007Q2-base:1.11 pkgsrc-2007Q1:1.11.0.4 pkgsrc-2007Q1-base:1.11 pkgsrc-2006Q4:1.11.0.2 pkgsrc-2006Q4-base:1.11 pkgsrc-2006Q3:1.10.0.18 pkgsrc-2006Q3-base:1.10 pkgsrc-2006Q2:1.10.0.16 pkgsrc-2006Q2-base:1.10 pkgsrc-2006Q1:1.10.0.14 pkgsrc-2006Q1-base:1.10 pkgsrc-2005Q4:1.10.0.12 pkgsrc-2005Q4-base:1.10 pkgsrc-2005Q3:1.10.0.10 pkgsrc-2005Q3-base:1.10 pkgsrc-2005Q2:1.10.0.8 pkgsrc-2005Q2-base:1.10 pkgsrc-2005Q1:1.10.0.6 pkgsrc-2005Q1-base:1.10 pkgsrc-2004Q4:1.10.0.4 pkgsrc-2004Q4-base:1.10 pkgsrc-2004Q3:1.10.0.2 pkgsrc-2004Q3-base:1.10 pkgsrc-2004Q2:1.9.0.4 pkgsrc-2004Q2-base:1.9 pkgsrc-2004Q1:1.9.0.2 pkgsrc-2004Q1-base:1.9 pkgsrc-2003Q4:1.8.0.2 pkgsrc-2003Q4-base:1.8 netbsd-1-6:1.7.0.8 netbsd-1-6-RELEASE-base:1.7 pkgviews:1.7.0.4 pkgviews-base:1.7 buildlink2-base:1.8 buildlink2:1.7.0.2 netbsd-1-5-PATCH001:1.5 netbsd-1-4-PATCH002:1.2 comdex-fall-1999:1.1 netbsd-1-4-PATCH001:1.1 netbsd-1-4-RELEASE:1.1; locks; strict; comment @# @; 1.14 date 2020.01.20.21.25.24; author adam; state dead; branches; next 1.13; commitid WymDrOtxhkkuutTB; 1.13 date 2014.04.17.13.08.24; author wiz; state Exp; branches; next 1.12; commitid 01jB3PS2NWZ7n2xx; 1.12 date 2013.01.31.20.30.26; author adam; state Exp; branches; next 1.11; 1.11 date 2006.12.09.03.38.16; author jnemeth; state Exp; branches; next 1.10; 1.10 date 2004.08.18.12.41.32; author adam; state Exp; branches; next 1.9; 1.9 date 2004.02.26.17.09.08; author drochner; state Exp; branches; next 1.8; 1.8 date 2002.08.24.00.39.07; author mjl; state dead; branches; next 1.7; 1.7 date 2002.05.10.05.06.23; author fredb; state Exp; branches 1.7.2.1; next 1.6; 1.6 date 2002.04.10.12.37.54; author hubertf; state dead; branches; next 1.5; 1.5 date 2000.12.31.14.05.30; author skrll; state Exp; branches; next 1.4; 1.4 date 2000.11.17.07.21.55; author mycroft; state Exp; branches; next 1.3; 1.3 date 2000.06.30.16.52.55; author danw; state dead; branches; next 1.2; 1.2 date 99.12.28.05.00.41; author wiz; state Exp; branches; next 1.1; 1.1 date 99.04.30.01.50.40; author simonb; state Exp; branches; next ; 1.7.2.1 date 2002.05.10.05.06.23; author jlam; state dead; branches; next 1.7.2.2; 1.7.2.2 date 2002.06.23.18.44.17; author jlam; state Exp; branches; next 1.7.2.3; 1.7.2.3 date 2002.08.25.21.20.06; author jlam; state dead; branches; next ; desc @@ 1.14 log @gmp: updated to 6.2.0 Changes between GMP version 6.1.* and 6.2.0 BUGS FIXED * gmp_snprintf now correctly reports an error (returns -1) when snprintf does. * Conversion to double is now more robust even if the configuration process does not recognize the float format. * mpz_powm could return a not completely normalised value, when the exponent was 1 and the base < 0. * mpf_set_str could create invalid mpf_t variables for input strings with many leading zeros. FEATURES * New C++ functions factorial, primorial and fibonacci for mpz_class. * Functions to detect primality now substitute the first 24 Miller-Rabin iterations with the BPSW test. * Mini-GMP: new functions mpz_2fac_ui and mpz_mfac_uiui. * Mini-GMP: mpz_sizeinbase, mpz_get_str, and mpz_set_str now support bases up to 62. * Mini-GMP: added support for the mpq_t layer. * MIPS r6 cores are now supported. SPEEDUPS * Major speedup for AMD Ryzen and Epyc thanks to an extensive set of assembly code. * Major speedup for IBM POWER9 thanks to assembly code making use of new madd instruction. * Speedup for 64-bit ARM CPUs thanks to new/improved assembly code. * The n-over-k function mpz_bin_ui has been reimplemented for great speedups for large operands. * Speedup for the worst case of mpz_perfect_power_p. * Speedup for gcd for small and medium size operands. * Speedup for really huge multiplies thanks to much larger FFT tables. MISC * Internal representation of the mpz_t variables now supports lazy allocation; memory is allocated only when a value is stored. * Small improvements and better coverage for the test suite. * The tune/speed program can measure some more functions. * The low-level function mpn_mul no longer diverts to mpn_sqr, users should call mpn_sqr directly when applicable. * New installed files gmp.pc and gmpxx.pc, for use with pkg-config. @ text @$NetBSD: patch-aa,v 1.13 2014/04/17 13:08:24 wiz Exp $ --- longlong.h.orig 2014-03-25 14:37:55.000000000 +0000 +++ longlong.h @@@@ -1039,8 +1039,10 @@@@ extern UWtype __MPN(udiv_qrnnd) (UWtype 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 /* __amd64__ */ @ 1.13 log @Update to 6.0.0a: Changes between 6.0.0 and 6.0.0a: Not documented. Changes between GMP version 5.1.* and 6.0.0 BUGS FIXED * The function mpz_invert now considers any number invertible in Z/1Z. * The mpn multiply code now handles operands of more than 2^31 limbs correctly. (Note however that the mpz code is limited to 2^32 bits on 32-bit hosts and 2^37 bits on 64-bit hosts.) * Contains all fixes from release 5.1.3. SPEEDUPS * Plain division of large operands is faster and more monotonous in operand size. * Major speedup for ARM, in particular ARM Cortex-A15, thanks to improved assembly. * Major speedup for SPARC T4/T5 and speedup also for T3, thanks to a lot of new assembly. * Speedup for Intel Sandy Bridge, Ivy Bridge, Haswell, thanks to rewritten and vastly expanded assembly support. Speedup also for the older Core 2 and Nehalem. * Faster mixed arithmetic between mpq_class and double. * With g++, optimise more operations when one argument is a simple constant. FEATURES * Support for new Intel and AMD CPUs. * Support for ARM64 alias Aarch64 alias ARMv8. * New public functions mpn_sec_mul and mpn_sec_sqr, implementing side-channel silent multiplication and squaring. * New public functions mpn_sec_div_qr and mpn_sec_div_r, implementing side-channel silent division. * New public functions mpn_cnd_add_n and mpn_cnd_sub_n. Side-channel silent conditional addition and subtraction. * New public function mpn_sec_powm, implementing side-channel silent modexp. * New public function mpn_sec_invert, implementing side-channel silent modular inversion. * Better support for applications which use the mpz_t type, but nevertheless need to call some of the lower-level mpn functions. See the documentation for mpz_limbs_read and related functions. MISC [FreeBSD bashing removed] @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.12 2013/01/31 20:30:26 adam Exp $ @ 1.12 log @Changes 5.1.0: BUGS FIXED * When reading a C++ number (like mpz_class) in an istream reaches the end of the stream, the eofbit is now set. * The result sign of mpz_rootrem's remainder is now always correct. * The mpz_remove function now handles negative divisors. * Contains all fixes from release 5.0.5. SPEEDUPS * The n-factorial and n-over-k functions have been reimplemented for great speedups for small and large operands. * New subquadratic algorithm for the Kronecker/Jacobi/Legendre symbol. * Major speedup for ARM, in particular ARM Cortex-A9 and A15, thanks to broad assembly support. * Significant speedup or POWER6 and POWER7 thanks to improved assembly. * The performance under M$ Windows' 64-bit ABI has been greatly improved thanks to complete assembly support. * Minor speed improvements of many functions and for many platforms. FEATURES * Many new CPUs recognised. * New functions for multi-factorials, and primorial: mpz_2fac_ui, mpz_mfac_uiui and mpz_primorial_ui. * The mpz_powm_sec function now uses side-channel silent division for converting into Montgomery residues. * The fat binary mechanism is now more robust in its CPU recognition. MISC * Inclusion of assembly code is now controlled by the configure options --enable-assembly and --disable-assembly. The "none" CPU targets is gone. * In C++, the conversions mpq_class->mpz_class, mpf_class->mpz_class and mpf_class->mpq_class are now explicit. * Includes "mini-gmp", a small, portable, but less efficient, implementation of a subset of GMP's mpn and mpz interfaces. Used in GMP bootstrap, but it can also be bundled with applications as a fallback when the real GMP library is unavailable. * The ABIs under AIX are no longer called aix32 and aix64, but mode64 and 32. This is more consistent with other powerpc systems. * The coverage of the testsuite has been improved, using the lcov tool. See also http://gmplib.org/devel/lcov/. * It is now possible to compile GMP using a C++ compiler. * K&R C compilers are no longer supported. * The BSD MP compatibility functions have been removed. @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.11 2006/12/09 03:38:16 jnemeth Exp $ d3 1 a3 1 --- longlong.h.orig 2006-12-08 17:56:28.000000000 -0800 d5 1 a5 1 @@@@ -1031,8 +1031,10 @@@@ extern UWtype __MPN(udiv_qrnnd) _PROTO ( d15 1 a15 1 #endif /* x86_64 */ @ 1.11 log @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. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 @@@@ -826,8 +826,10 @@@@ extern UWtype __MPN(udiv_qrnnd) _PROTO ( @ 1.10 log @Changes 4.1.3: * Bug fixes. * mpz_export allows NULL for countp parameter. @ text @d3 1 a3 1 --- longlong.h.orig 2004-08-18 14:29:33.000000000 +0000 d5 1 a5 1 @@@@ -738,8 +738,10 @@@@ extern UWtype __MPN(udiv_qrnnd) _PROTO ( @ 1.9 log @fix amd64 inline assembler code to deal with 32-bit integers passed to count_trailing_zeros() @ text @d3 4 a6 4 --- longlong.h.orig 2004-02-26 17:07:18.000000000 +0100 +++ longlong.h 2004-02-26 17:49:56.000000000 +0100 @@@@ -715,8 +715,10 @@@@ } while (0) d11 2 a12 2 - __asm__ ("bsfq %1,%0" : "=r" (count) : "rm" ((UDItype)(x))); \ + __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ @ 1.8 log @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.) @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.7 2002/05/10 05:06:23 fredb Exp $ d3 3 a5 28 --- longlong.h.orig Thu Nov 15 14:48:14 2001 +++ longlong.h @@@@ -734,8 +734,8 @@@@ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add%.l %5,%1\n\taddx%.l %3,%0" \ : "=d" ((USItype)(sh)), "=&d" ((USItype)(sl)) \ - : "%0" ((USItype)(ah)), "d" ((USItype)(bh)), \ - "%1" ((USItype)(al)), "g" ((USItype)(bl))) + : "0" ((USItype)(ah)), "d" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub%.l %5,%1\n\tsubx%.l %3,%0" \ : "=d" ((USItype)(sh)), "=&d" ((USItype)(sl)) \ @@@@ -750,7 +750,7 @@@@ #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mulu%.l %3,%1:%0" \ : "=d" ((USItype)(w0)), "=d" ((USItype)(w1)) \ - : "%0" ((USItype)(u)), "dmi" ((USItype)(v))) + : "0" ((USItype)(u)), "dmi" ((USItype)(v))) #define UMUL_TIME 45 #define udiv_qrnnd(q, r, n1, n0, d) \ __asm__ ("divu%.l %4,%1:%0" \ @@@@ -788,7 +788,7 @@@@ " | End inlined umul_ppmm" \ : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \ "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \ - : "%2" ((USItype)(a)), "d" ((USItype)(b))); \ + : "2" ((USItype)(a)), "d" ((USItype)(b))); \ d7 10 a16 2 #define UMUL_TIME 100 #define UDIV_TIME 400 @ 1.7 log @Make this compile with gas-2.11.2/m68k/ELF (NetBSD-1.5ZC/mac68k). @ text @d1 1 a1 1 $NetBSD$ @ 1.7.2.1 log @file patch-aa was added on branch buildlink2 on 2002-06-23 18:44:17 +0000 @ text @d1 33 @ 1.7.2.2 log @Merge from pkgsrc-current to buildlink2 branch. @ text @a0 33 $NetBSD: patch-aa,v 1.7.2.1 2002/06/23 18:44:17 jlam Exp $ --- longlong.h.orig Thu Nov 15 14:48:14 2001 +++ longlong.h @@@@ -734,8 +734,8 @@@@ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add%.l %5,%1\n\taddx%.l %3,%0" \ : "=d" ((USItype)(sh)), "=&d" ((USItype)(sl)) \ - : "%0" ((USItype)(ah)), "d" ((USItype)(bh)), \ - "%1" ((USItype)(al)), "g" ((USItype)(bl))) + : "0" ((USItype)(ah)), "d" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub%.l %5,%1\n\tsubx%.l %3,%0" \ : "=d" ((USItype)(sh)), "=&d" ((USItype)(sl)) \ @@@@ -750,7 +750,7 @@@@ #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mulu%.l %3,%1:%0" \ : "=d" ((USItype)(w0)), "=d" ((USItype)(w1)) \ - : "%0" ((USItype)(u)), "dmi" ((USItype)(v))) + : "0" ((USItype)(u)), "dmi" ((USItype)(v))) #define UMUL_TIME 45 #define udiv_qrnnd(q, r, n1, n0, d) \ __asm__ ("divu%.l %4,%1:%0" \ @@@@ -788,7 +788,7 @@@@ " | End inlined umul_ppmm" \ : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \ "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \ - : "%2" ((USItype)(a)), "d" ((USItype)(b))); \ + : "2" ((USItype)(a)), "d" ((USItype)(b))); \ } while (0) #define UMUL_TIME 100 #define UDIV_TIME 400 @ 1.7.2.3 log @Merge changes in the main trunk into the buildlink2 branch for those packages that have been converted to USE_BUILDLINK2. @ text @d1 33 @ 1.6 log @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. @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.5 2000/12/31 14:05:30 skrll Exp $ d3 31 a33 21 --- mpn/arm/add_n.S.orig Mon Jul 24 18:04:21 2000 +++ mpn/arm/add_n.S @@@@ -35,9 +35,9 @@@@ .text .align 0 - .global __gmpn_add_n - .type __gmpn_add_n,%function -__gmpn_add_n: + .global ___gmpn_add_n + .type ___gmpn_add_n,%function +___gmpn_add_n: stmfd sp!, { r8, r9, lr } movs n, n, lsr #1 bcc skip1 @@@@ -74,4 +74,4 @@@@ adc r0, n, #0 ldmfd sp!, { r8, r9, pc } end: - .size __gmpn_add_n, end - __gmpn_add_n + .size ___gmpn_add_n, end - ___gmpn_add_n @ 1.5 log @Update to 3.1.1. Split patch-aa into a patch per file while I'm here. @ text @d1 1 a1 1 $NetBSD$ @ 1.4 log @Fix a stupid underscore problem on arm32. @ text @d3 2 a4 2 --- mpn/arm/add_n.S.orig Mon Apr 17 06:01:59 2000 +++ mpn/arm/add_n.S Thu Nov 16 14:01:51 2000 a23 63 --- mpn/arm/addmul_1.S.orig Mon Apr 17 06:01:59 2000 +++ mpn/arm/addmul_1.S Thu Nov 16 14:01:57 2000 @@@@ -35,9 +35,9 @@@@ .text .align 0 - .global __gmpn_addmul_1 - .type __gmpn_addmul_1,%function -__gmpn_addmul_1: + .global ___gmpn_addmul_1 + .type ___gmpn_addmul_1,%function +___gmpn_addmul_1: stmfd sp!, { r8-r11, lr } mov z, #0 mov ip, #0 @@@@ -86,4 +86,4 @@@@ mov r0, ip ldmfd sp!, { r8-r11, pc } end: - .size __gmpn_addmul_1, end - __gmpn_addmul_1 + .size ___gmpn_addmul_1, end - ___gmpn_addmul_1 --- mpn/arm/mul_1.S.orig Mon Apr 17 06:01:59 2000 +++ mpn/arm/mul_1.S Thu Nov 16 14:02:03 2000 @@@@ -35,9 +35,9 @@@@ .text .align 0 - .global __gmpn_mul_1 - .type __gmpn_mul_1,%function -__gmpn_mul_1: + .global ___gmpn_mul_1 + .type ___gmpn_mul_1,%function +___gmpn_mul_1: stmfd sp!, { r8, r9, lr } ands ip, n, #1 beq skip1 @@@@ -78,4 +78,4 @@@@ mov r0, ip ldmfd sp!, { r8, r9, pc } end: - .size __gmpn_mul_1, end - __gmpn_mul_1 + .size ___gmpn_mul_1, end - ___gmpn_mul_1 --- mpn/arm/sub_n.S.orig Mon Apr 17 06:01:59 2000 +++ mpn/arm/sub_n.S Thu Nov 16 14:02:08 2000 @@@@ -35,9 +35,9 @@@@ .text .align 0 - .global __gmpn_sub_n - .type __gmpn_sub_n,%function -__gmpn_sub_n: + .global ___gmpn_sub_n + .type ___gmpn_sub_n,%function +___gmpn_sub_n: stmfd sp!, { r8, r9, lr } subs ip, ip, ip tst n, #1 @@@@ -76,4 +76,4 @@@@ and r0, r0, #1 ldmfd sp!, { r8, r9, pc } end: - .size __gmpn_sub_n, end - __gmpn_sub_n + .size ___gmpn_sub_n, end - ___gmpn_sub_n @ 1.3 log @Update to gmp-3.0.1, including new functions, autoconf/libtool support, and a shared version of the library. @ text @d1 86 a86 15 $NetBSD: patch-aa,v 1.2 1999/12/28 05:00:41 wiz Exp $ --- /dev/null Mon Apr 26 18:22:36 1999 +++ config/mt-mips-netbsd Mon Apr 26 17:59:43 1999 @@@@ -0,0 +1 @@@@ +CFLAGS=-Wa,-KPIC --- configure.in.orig Fri Jun 7 04:07:01 1996 +++ configure.in Mon Apr 26 18:33:02 1999 @@@@ -31,5 +31,7 @@@@ ;; *-*-linux*) target_makefile_frag=config/mt-linux ;; + mips*-*-netbsd*) + target_makefile_frag=config/mt-mips-netbsd ;; esac @ 1.2 log @RCS tag added @ text @d1 1 a1 1 $NetBSD$ @ 1.1 log @Add similar fix for security/ssh to generate MIPS ABI code on mips*-*-netbsd* machines. Same problem as noted in PR pkg/7467. @ text @d1 1 @