head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.150 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.148 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.146 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.144 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.142 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.140 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.138 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.136 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.134 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.132 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.130 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.128 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.126 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.124 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.122 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.120 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.118 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.116 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.114 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.112 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.110 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.108 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.106 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.102 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.82 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.104 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.100 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.98 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.96 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.94 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.92 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.90 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.88 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.86 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.84 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.80 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.78 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.76 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.74 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.72 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.70 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.68 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.66 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.64 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.62 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.60 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.58 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.56 pkgsrc-2014Q2-base:1.1 pkgsrc-2014Q1:1.1.0.54 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.52 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.50 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.48 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.46 pkgsrc-2013Q1-base:1.1 pkgsrc-2012Q4:1.1.0.44 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.42 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.40 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.38 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.36 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.34 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.32 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.30 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.28 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.26 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.24 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.22 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.20 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.18 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.16 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.14 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.12 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.10 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.8 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.6 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.4 pkgsrc-2008Q1:1.1.0.2 pkgsrc-2008Q1-base:1.1; locks; strict; comment @# @; 1.1 date 2008.01.13.22.42.07; author rillig; state Exp; branches; next ; desc @@ 1.1 log @Added a patch for sunpro. @ text @$NetBSD$ Sun Studio C++ is very picky about the correct prototypes. It doesn't resolve pow(int, int) to one of pow(double, int) and pow(long double, int). It also cannot decide for pow(double, unsigned int) whether it should be pow(double, int) (which _might_ invoke undefined behavior) and pow(double, double). --- src/binio.cpp.orig 2004-08-18 21:41:20.000000000 +0200 +++ src/binio.cpp 2007-12-05 18:16:12.361936000 +0100 @@@@ -215,9 +215,9 @@@@ binistream::Float binistream::ieee_singl } if(!exp) // Unnormalized float values - return sign * pow(2, -126) * fract * pow(2, -23); + return sign * pow(2.0, -126) * fract * pow(2.0, -23); else // Normalized float values - return sign * pow(2, exp - 127) * (fract * pow(2, -23) + 1); + return sign * pow(2.0, int(exp - 127)) * (fract * pow(2.0, -23) + 1); err |= Fatal; return 0.0; } @@@@ -227,9 +227,9 @@@@ binistream::Float binistream::ieee_doubl signed int sign = data[0] >> 7 ? -1 : 1; unsigned int exp = ((unsigned int)(data[0] & 0x7f) << 4) | (data[1] >> 4), fracthi4 = data[1] & 0xf; - Float fract = fracthi4 * pow(2, 48) + data[2] * pow(2, 40) + data[3] * - pow(2, 32) + data[4] * pow(2, 24) + data[5] * pow(2, 16) + data[6] * - pow(2, 8) + data[7]; + Float fract = fracthi4 * pow(2.0, 48) + data[2] * pow(2.0, 40) + data[3] * + pow(2.0, 32) + data[4] * pow(2.0, 24) + data[5] * pow(2.0, 16) + data[6] * + pow(2.0, 8) + data[7]; // Signed and unsigned zero if(!exp && !fracthi4 && !data[2] && !data[3] && !data[4] && !data[5] && @@@@ -254,9 +254,9 @@@@ binistream::Float binistream::ieee_doubl } if(!exp) // Unnormalized float values - return sign * pow(2, -1022) * fract * pow(2, -52); + return sign * pow(2.0, -1022) * fract * pow(2.0, -52); else // Normalized float values - return sign * pow(2, exp - 1023) * (fract * pow(2, -52) + 1); + return sign * pow(2.0, int(exp - 1023)) * (fract * pow(2.0, -52) + 1); err |= Fatal; return 0.0; } @