head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.106 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.104 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.102 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.3.0.100 pkgsrc-2025Q2-base:1.3 pkgsrc-2025Q1:1.3.0.98 pkgsrc-2025Q1-base:1.3 pkgsrc-2024Q4:1.3.0.96 pkgsrc-2024Q4-base:1.3 pkgsrc-2024Q3:1.3.0.94 pkgsrc-2024Q3-base:1.3 pkgsrc-2024Q2:1.3.0.92 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.90 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.88 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.86 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.84 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.82 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.80 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.78 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.76 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.74 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.72 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.70 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.68 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.66 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.64 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.62 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.58 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.38 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.60 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.56 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.54 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.52 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.50 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.48 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.46 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.44 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.42 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.40 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.36 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.34 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.32 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.30 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.28 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.26 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.24 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.22 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.20 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.18 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.16 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.14 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.12 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.10 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.8 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.6 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.4 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.2 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.2.0.64 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.62 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.60 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.58 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.56 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.54 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.52 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.50 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.48 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.46 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.44 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.42 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.40 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.38 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.36 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.34 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.32 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.30 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.28 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.26 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.24 pkgsrc-2008Q1:1.2.0.22 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.20 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.18 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.16 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.14 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.12 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.10 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.8 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.6 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.4 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.2 pkgsrc-2005Q3-base:1.2 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2013.04.01.07.35.04; author sbd; state Exp; branches; next 1.2; 1.2 date 2005.08.02.14.53.25; author drochner; state Exp; branches; next 1.1; 1.1 date 2005.07.27.17.06.53; author drochner; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.07.27.17.06.53; author drochner; state Exp; branches; next ; desc @@ 1.3 log @Use pre-processing to make the changes introduced by patch-aa & patch-ac as the original code is needed for linux. @ text @$NetBSD: patch-aa,v 1.2 2005/08/02 14:53:25 drochner Exp $ --- dbl2mpq.c.orig 1998-11-24 05:06:54.000000000 +0000 +++ dbl2mpq.c @@@@ -5,7 +5,12 @@@@ #include #include +#ifdef __linux__ #include +#else +#include +#include +#endif #include #include "zelibm.h" @@@@ -14,50 +19,89 @@@@ void extract_double (mpq_t r, double d) { +#ifdef __linux__ union ieee754_double u; +#else + union ieee_double_u u; +#endif unsigned int val; /* Make the floating point value available in the broken down form. We cannot use casting of pointers and other ugly ways to access the bits. Using the union is the only half-way clean method. */ +#ifdef __linux__ u.d = d; +#else + u.dblu_d = d; +#endif mpq_init (r); /* Set the high word and the denominator to 1. */ +#ifdef __linux__ val = u.ieee.mantissa0; if (u.ieee.exponent != 0) +#else + val = u.dblu_dbl.dbl_frach; + if (u.dblu_dbl.dbl_exp != 0) +#endif val |= 1 << (DBL_MANT_DIG - 32 - 1); mpq_set_ui (r, val, 1); /* Shift in the right position. */ mpz_mul_2exp (mpq_numref (r), mpq_numref (r), 32); /* Add the lower word. */ +#ifdef __linux__ mpz_add_ui (mpq_numref (r), mpq_numref (r), u.ieee.mantissa1); if (u.ieee.exponent == 0) { if (u.ieee.mantissa0 != 0 && u.ieee.mantissa1 != 0) +#else + mpz_add_ui (mpq_numref (r), mpq_numref (r), u.dblu_dbl.dbl_fracl); + + if (u.dblu_dbl.dbl_exp == 0) + { + if (u.dblu_dbl.dbl_frach != 0 && u.dblu_dbl.dbl_fracl != 0) +#endif { /* The number is a denormalized. */ mpz_mul_2exp (mpq_denref (r), mpq_denref (r), -DBL_MIN_EXP + DBL_MANT_DIG + 1); } } +#ifdef __linux__ else if (u.ieee.exponent >= IEEE754_DOUBLE_BIAS + DBL_MANT_DIG) +#else + else if (u.dblu_dbl.dbl_exp >= DBL_EXP_BIAS + DBL_MANT_DIG) +#endif { /* We have to multiply the numerator with the exponent. */ mpz_mul_2exp (mpq_numref (r), mpq_numref (r), +#ifdef __linux__ (u.ieee.exponent - (IEEE754_DOUBLE_BIAS + DBL_MANT_DIG - 1))); +#else + (u.dblu_dbl.dbl_exp + - (DBL_EXP_BIAS + DBL_MANT_DIG - 1))); +#endif } else { /* Set denominator to the appropriate power of 2. */ mpz_mul_2exp (mpq_denref (r), mpq_denref (r), +#ifdef __linux__ ((IEEE754_DOUBLE_BIAS + DBL_MANT_DIG - 1) - u.ieee.exponent)); +#else + ((DBL_EXP_BIAS + DBL_MANT_DIG - 1) + - u.dblu_dbl.dbl_exp)); +#endif } +#ifdef __linux__ if (u.ieee.negative) +#else + if (u.dblu_dbl.dbl_sign) +#endif mpq_neg (r, r); } @ 1.2 log @explicitely include before might fix build error on older NetBSD releases (seen in 1.6.2 bulk build) @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- dbl2mpq.c.orig 1998-11-24 06:06:54.000000000 +0100 d5 1 a5 1 @@@@ -5,7 +5,8 @@@@ d9 3 a11 1 -#include d14 1 d18 1 a18 1 @@@@ -14,50 +15,50 @@@@ d22 3 a24 1 - union ieee754_double u; d26 1 d32 3 a34 1 - u.d = d; d36 1 d41 4 a44 2 - val = u.ieee.mantissa0; - if (u.ieee.exponent != 0) d47 1 d53 7 a59 1 - mpz_add_ui (mpq_numref (r), mpq_numref (r), u.ieee.mantissa1); d61 1 a61 2 - if (u.ieee.exponent == 0) d63 1 a63 2 { - if (u.ieee.mantissa0 != 0 && u.ieee.mantissa1 != 0) d65 1 d72 3 a74 1 - else if (u.ieee.exponent >= IEEE754_DOUBLE_BIAS + DBL_MANT_DIG) d76 1 d80 4 a83 2 - (u.ieee.exponent - - (IEEE754_DOUBLE_BIAS + DBL_MANT_DIG - 1))); d86 1 d92 4 a95 2 - ((IEEE754_DOUBLE_BIAS + DBL_MANT_DIG - 1) - - u.ieee.exponent)); d98 1 d101 3 a103 1 - if (u.ieee.negative) d105 1 @ 1.1 log @Initial revision @ text @d3 3 a5 3 --- dbl2mpq.c.orig 2004-04-16 21:29:16.000000000 +0200 +++ dbl2mpq.c 2004-04-16 21:52:52.000000000 +0200 @@@@ -5,7 +5,7 @@@@ d10 1 d15 1 a15 1 @@@@ -14,50 +14,50 @@@@ @ 1.1.1.1 log @import "zelibm", a tool to check the accuracy of some libm functions, by Ulrich Drepper @ text @@