diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qa/cppunit/test_fract.cxx | 7 | ||||
-rw-r--r-- | tools/source/generic/fract.cxx | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/tools/qa/cppunit/test_fract.cxx b/tools/qa/cppunit/test_fract.cxx index bcc6ad2e7aa5..febece099821 100644 --- a/tools/qa/cppunit/test_fract.cxx +++ b/tools/qa/cppunit/test_fract.cxx @@ -90,8 +90,15 @@ public: #endif } + void testMinLongDouble() { + Fraction f(double(SAL_MIN_INT32)); + CPPUNIT_ASSERT_EQUAL(long(SAL_MIN_INT32), f.GetNumerator()); + CPPUNIT_ASSERT_EQUAL(1L, f.GetDenominator()); + } + CPPUNIT_TEST_SUITE(FractionTest); CPPUNIT_TEST(testFraction); + CPPUNIT_TEST(testMinLongDouble); CPPUNIT_TEST_SUITE_END(); }; diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx index 198a42aa2639..7fee117a9a5f 100644 --- a/tools/source/generic/fract.cxx +++ b/tools/source/generic/fract.cxx @@ -136,7 +136,7 @@ Fraction::Fraction( double dVal ) return; } - while ( std::abs( (long)dVal ) < nMAX && nDen < nMAX ) + while ( std::abs( dVal ) < nMAX && nDen < nMAX ) { dVal *= 10; nDen *= 10; |