Hello community, here is the log from the commit of package fparser for openSUSE:Factory checked in at 2012-03-22 12:32:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fparser (Old) and /work/SRC/openSUSE:Factory/.fparser.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fparser", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/fparser/fparser.changes 2012-01-27 15:17:29.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.fparser.new/fparser.changes 2012-03-22 12:32:16.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Mar 21 10:53:32 UTC 2012 - alinm.el...@gmail.com + +- enabled -DFP_SUPPORT_TR1_MATH_FUNCS -DFP_SUPPORT_COMPLEX_NUMBERS +- patch to compile with gcc4.7 (gcc4.7.patch) + +------------------------------------------------------------------- New: ---- gcc47.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fparser.spec ++++++ --- /var/tmp/diff_new_pack.gUnqS8/_old 2012-03-22 12:32:23.000000000 +0100 +++ /var/tmp/diff_new_pack.gUnqS8/_new 2012-03-22 12:32:23.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package fparser # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,20 +15,27 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: fparser %define lname libfparser-4_4_3 Summary: Library to evaluate strings as mathematical functions -Version: 4.4.3 -Release: 0 -URL: http://warp.povusers.org/FunctionParser/ License: LGPL-3.0 Group: Development/Libraries/C and C++ +Version: 4.4.3 +Release: 0 +Url: http://warp.povusers.org/FunctionParser/ Source: %name-%version.tar.xz Patch1: fparser-build-system.diff Patch2: fparser-gmp-mpfr.diff -BuildRoot: %_tmppath/%name-%version-build -BuildRequires: gcc-c++, gmp-devel, mpfr-devel, libtool, pkgconfig, xz +Patch3: gcc47.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: gcc-c++ +BuildRequires: gmp-devel +BuildRequires: libtool +BuildRequires: mpfr-devel +BuildRequires: pkgconfig +BuildRequires: xz %description This C++ library offers a class which can be used to parse and @@ -73,8 +80,10 @@ %setup -q ln -s mpfr fparser; %patch -P 1 -P 2 -p1 - +%patch3 %build +export CFLAGS="%{optflags} -DFP_SUPPORT_TR1_MATH_FUNCS -DFP_SUPPORT_COMPLEX_NUMBERS " +export CXXFLAGS="${CFLAGS}" autoreconf -fi; %configure --disable-static make %{?_smp_mflags}; ++++++ gcc47.patch ++++++ --- extrasrc/fpaux.hh.old 2012-03-21 10:26:04.738031325 +0000 +++ extrasrc/fpaux.hh 2012-03-21 10:51:54.058948092 +0000 @@ -69,13 +69,6 @@ namespace FUNCTIONPARSERTYPES }; #endif - // Commented versions in fparser.cc - template<typename Value_t> - inline Value_t fp_pow_with_exp_log(const Value_t& x, const Value_t& y) - { - return fp_exp(fp_log(x) * y); - } - template<typename Value_t> inline Value_t fp_powi(Value_t x, unsigned long y) { @@ -86,37 +79,7 @@ namespace FUNCTIONPARSERTYPES else { x *= x; y /= 2; } } return result; - } - - template<typename Value_t> - Value_t fp_pow(const Value_t& x, const Value_t& y) - { - if(x == Value_t(1)) return Value_t(1); - if(isLongInteger(y)) - { - if(y >= Value_t(0)) - return fp_powi(x, makeLongInteger(y)); - else - return Value_t(1) / fp_powi(x, -makeLongInteger(y)); - } - if(y >= Value_t(0)) - { - if(x > Value_t(0)) return fp_pow_with_exp_log(x, y); - if(x == Value_t(0)) return Value_t(0); - if(!isInteger(y*Value_t(16))) - return -fp_pow_with_exp_log(-x, y); - } - else - { - if(x > Value_t(0)) return fp_pow_with_exp_log(Value_t(1) / x, -y); - if(x < Value_t(0)) - { - if(!isInteger(y*Value_t(-16))) - return -fp_pow_with_exp_log(Value_t(-1) / x, -y); - } - } - return fp_pow_base(x, y); - } + } //========================================================================== // Constants @@ -327,12 +290,6 @@ namespace FUNCTIONPARSERTYPES } template<typename Value_t> - inline Value_t fp_exp2(const Value_t& x) - { - return fp_pow(Value_t(2), x); - } - - template<typename Value_t> inline Value_t fp_trunc(const Value_t& x) { return x < Value_t() ? fp_ceil(x) : fp_floor(x); @@ -1120,14 +1077,7 @@ namespace FUNCTIONPARSERTYPES inline bool isInteger(const Value_t& value) { return fp_equal(value, fp_floor(value)); - } - - // Is value an integer that fits in "long" datatype? - template<typename Value_t> - inline bool isLongInteger(const Value_t& value) - { - return value == Value_t( makeLongInteger(value) ); - } + } template<typename Value_t> inline long makeLongInteger(const Value_t& value) @@ -1227,6 +1177,57 @@ namespace FUNCTIONPARSERTYPES return value%2 != 0; } #endif + // Is value an integer that fits in "long" datatype? + template<typename Value_t> + inline bool isLongInteger(const Value_t& value) + { + return value == Value_t( makeLongInteger(value) ); + } + + // Commented versions in fparser.cc + template<typename Value_t> + inline Value_t fp_pow_with_exp_log(const Value_t& x, const Value_t& y) + { + return fp_exp(fp_log(x) * y); + } + + template<typename Value_t> + Value_t fp_pow(const Value_t& x, const Value_t& y) + { + if(x == Value_t(1)) return Value_t(1); + if(isLongInteger(y)) + { + if(y >= Value_t(0)) + return fp_powi(x, makeLongInteger(y)); + else + return Value_t(1) / fp_powi(x, -makeLongInteger(y)); + } + if(y >= Value_t(0)) + { + if(x > Value_t(0)) return fp_pow_with_exp_log(x, y); + if(x == Value_t(0)) return Value_t(0); + if(!isInteger(y*Value_t(16))) + return -fp_pow_with_exp_log(-x, y); + } + else + { + if(x > Value_t(0)) return fp_pow_with_exp_log(Value_t(1) / x, -y); + if(x < Value_t(0)) + { + if(!isInteger(y*Value_t(-16))) + return -fp_pow_with_exp_log(Value_t(-1) / x, -y); + } + } + return fp_pow_base(x, y); + } + + template<typename Value_t> + inline Value_t fp_exp2(const Value_t& x) + { + return fp_pow(Value_t(2), x); + } + + } // namespace FUNCTIONPARSERTYPES #endif // ONCE_FPARSER_H_ -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org