head 1.3; access; symbols pkgsrc-2013Q2:1.3.0.54 pkgsrc-2013Q2-base:1.3 pkgsrc-2012Q4:1.3.0.52 pkgsrc-2012Q4-base:1.3 pkgsrc-2011Q4:1.3.0.50 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q2:1.3.0.48 pkgsrc-2011Q2-base:1.3 pkgsrc-2009Q4:1.3.0.46 pkgsrc-2009Q4-base:1.3 pkgsrc-2008Q4:1.3.0.44 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.42 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.40 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.38 pkgsrc-2008Q2-base:1.3 pkgsrc-2008Q1:1.3.0.36 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.34 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.32 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.3.0.30 pkgsrc-2007Q2-base:1.3 pkgsrc-2007Q1:1.3.0.28 pkgsrc-2007Q1-base:1.3 pkgsrc-2006Q4:1.3.0.26 pkgsrc-2006Q4-base:1.3 pkgsrc-2006Q3:1.3.0.24 pkgsrc-2006Q3-base:1.3 pkgsrc-2006Q2:1.3.0.22 pkgsrc-2006Q2-base:1.3 pkgsrc-2006Q1:1.3.0.20 pkgsrc-2006Q1-base:1.3 pkgsrc-2005Q4:1.3.0.18 pkgsrc-2005Q4-base:1.3 pkgsrc-2005Q3:1.3.0.16 pkgsrc-2005Q3-base:1.3 pkgsrc-2005Q2:1.3.0.14 pkgsrc-2005Q2-base:1.3 pkgsrc-2005Q1:1.3.0.12 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.10 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.8 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.3.0.6 pkgsrc-2004Q2-base:1.3 pkgsrc-2004Q1:1.3.0.4 pkgsrc-2004Q1-base:1.3 pkgsrc-2003Q4:1.3.0.2 pkgsrc-2003Q4-base:1.3 netbsd-1-6-1:1.2.0.2 netbsd-1-6-1-base:1.2 buildlink2-base:1.1 buildlink2:1.1.0.2; locks; strict; comment @# @; 1.3 date 2003.02.21.12.25.23; author mycroft; state dead; branches; next 1.2; 1.2 date 2002.08.25.21.49.45; author jlam; state Exp; branches; next 1.1; 1.1 date 2002.08.24.00.39.08; author mjl; state Exp; branches 1.1.2.1; next ; 1.1.2.1 date 2002.08.24.00.39.08; author jlam; state dead; branches; next 1.1.2.2; 1.1.2.2 date 2002.08.25.21.20.11; author jlam; state Exp; branches; next ; desc @@ 1.3 log @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. @ text @$NetBSD: patch-gd,v 1.2 2002/08/25 21:49:45 jlam Exp $ This is a patch for 4.1 from the GNU MP Homepage, it should be removed in future versions --- gmpxx.h.old Wed Jul 3 10:45:48 2002 +++ gmpxx.h Wed Jul 3 10:49:28 2002 @@@@ -2633,10 +2633,18 @@@@ } // conversion functions - const mpz_classref get_num() const { return mpz_classref(mpq_numref(mp)); } - mpz_classref get_num() { return mpz_classref(mpq_numref(mp)); } - const mpz_classref get_den() const { return mpz_classref(mpq_denref(mp)); } - mpz_classref get_den() { return mpz_classref(mpq_denref(mp)); } + + // casting a reference to an mpz_t to mpz_class & is a dirty hack, + // but works because the internal representation of mpz_class is + // exactly an mpz_t + const mpz_class & get_num() const + { return reinterpret_cast(*mpq_numref(mp)); } + mpz_class & get_num() + { return reinterpret_cast(*mpq_numref(mp)); } + const mpz_class & get_den() const + { return reinterpret_cast(*mpq_denref(mp)); } + mpz_class & get_den() + { return reinterpret_cast(*mpq_denref(mp)); } mpq_srcptr get_mpq_t() const { return mp; } mpq_ptr get_mpq_t() { return mp; } @ 1.2 log @Merge packages from the buildlink2 branch back into the main trunk that have been converted to USE_BUILDLINK2. @ text @d1 1 a1 1 $NetBSD: patch-gd,v 1.1.2.1 2002/08/25 21:20:11 jlam Exp $ @ 1.1 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$ @ 1.1.2.1 log @file patch-gd was added on branch buildlink2 on 2002-08-25 21:20:11 +0000 @ text @d1 30 @ 1.1.2.2 log @Merge changes in the main trunk into the buildlink2 branch for those packages that have been converted to USE_BUILDLINK2. @ text @a0 30 $NetBSD: patch-gd,v 1.1.2.1 2002/08/25 21:20:11 jlam Exp $ This is a patch for 4.1 from the GNU MP Homepage, it should be removed in future versions --- gmpxx.h.old Wed Jul 3 10:45:48 2002 +++ gmpxx.h Wed Jul 3 10:49:28 2002 @@@@ -2633,10 +2633,18 @@@@ } // conversion functions - const mpz_classref get_num() const { return mpz_classref(mpq_numref(mp)); } - mpz_classref get_num() { return mpz_classref(mpq_numref(mp)); } - const mpz_classref get_den() const { return mpz_classref(mpq_denref(mp)); } - mpz_classref get_den() { return mpz_classref(mpq_denref(mp)); } + + // casting a reference to an mpz_t to mpz_class & is a dirty hack, + // but works because the internal representation of mpz_class is + // exactly an mpz_t + const mpz_class & get_num() const + { return reinterpret_cast(*mpq_numref(mp)); } + mpz_class & get_num() + { return reinterpret_cast(*mpq_numref(mp)); } + const mpz_class & get_den() const + { return reinterpret_cast(*mpq_denref(mp)); } + mpz_class & get_den() + { return reinterpret_cast(*mpq_denref(mp)); } mpq_srcptr get_mpq_t() const { return mp; } mpq_ptr get_mpq_t() { return mp; } @