unotools/source/misc/datetime.cxx | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-)
New commits: commit 066e0fe1a230eac2531a53e1ec5fa58347e9e31e Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Wed Sep 11 12:20:38 2013 +0200 let us use the standard library instead of an own pow function Change-Id: Ib1c28fbb5d34409a42b7ea594cde9c1c1cdccdd8 diff --git a/unotools/source/misc/datetime.cxx b/unotools/source/misc/datetime.cxx index 9119bc3..ac42bfe 100644 --- a/unotools/source/misc/datetime.cxx +++ b/unotools/source/misc/datetime.cxx @@ -28,29 +28,6 @@ namespace { - sal_Int32 impl_pow(sal_Int32 x, sal_Int32 y) - { - if (y == 1) - return x; - if ( y % 2 == 0) - { - return impl_pow(x*x, y/2); - } - else - { - return x * impl_pow(x*x, y/2); - } - } - // computes x^y - sal_Int32 pow(sal_Int32 x, sal_Int32 y) - { - if (y < 0) - throw std::invalid_argument("negative power is not defined in integers"); - if (y == 0) - return 1; - return impl_pow(x, y); - } - /** convert string to number with optional min and max values */ template <typename T> bool convertNumber( T& rValue, @@ -378,7 +355,7 @@ bool ISO8601parseTime(const OUString &aTimeStr, starutil::Time& rTime) sal_Int64 fracNumerator; if ( (bSuccess = convertNumber(fracNumerator, tokFrac)) ) { - double frac = static_cast<double>(fracNumerator) / static_cast<double>(pow(10, tokFrac.getLength())); + double frac = static_cast<double>(fracNumerator) / pow(static_cast<double>(10), static_cast<double>(tokFrac.getLength())); // minutes OSL_ENSURE(frac < 1 && frac >= 0, "ISO8601parse internal error frac hours (of hours) not between 0 and 1"); frac *= 60; @@ -414,7 +391,7 @@ bool ISO8601parseTime(const OUString &aTimeStr, starutil::Time& rTime) sal_Int64 fracNumerator; if ( (bSuccess = convertNumber(fracNumerator, tokFrac)) ) { - double frac = static_cast<double>(fracNumerator) / static_cast<double>(pow(10, tokFrac.getLength())); + double frac = static_cast<double>(fracNumerator) / pow(static_cast<double>(10), static_cast<double>(tokFrac.getLength())); // seconds OSL_ENSURE(frac < 1 && frac >= 0, "ISO8601parse internal error frac minutes (of minutes) not between 0 and 1"); frac *= 60; @@ -445,7 +422,7 @@ bool ISO8601parseTime(const OUString &aTimeStr, starutil::Time& rTime) sal_Int64 fracNumerator; if ( (bSuccess = convertNumber(fracNumerator, tokFrac)) ) { - double frac = static_cast<double>(fracNumerator) / static_cast<double>(pow(10, tokFrac.getLength())); + double frac = static_cast<double>(fracNumerator) / pow(static_cast<double>(10), static_cast<double>(tokFrac.getLength())); // nanoseconds OSL_ENSURE(frac < 1 && frac >= 0, "ISO8601parse internal error frac seconds (of seconds) not between 0 and 1"); frac *= 1000000000; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits