Kaydet (Commit) 6a4b976b authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Fix Fraction(-2147483648.0) for 32-bit wide long

Change-Id: I6465377de1edff5d0ccc0049fb6d24f6f1223fd2
üst e5eb6195
...@@ -90,8 +90,15 @@ public: ...@@ -90,8 +90,15 @@ public:
#endif #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_SUITE(FractionTest);
CPPUNIT_TEST(testFraction); CPPUNIT_TEST(testFraction);
CPPUNIT_TEST(testMinLongDouble);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
}; };
......
...@@ -136,7 +136,7 @@ Fraction::Fraction( double dVal ) ...@@ -136,7 +136,7 @@ Fraction::Fraction( double dVal )
return; return;
} }
while ( std::abs( (long)dVal ) < nMAX && nDen < nMAX ) while ( std::abs( dVal ) < nMAX && nDen < nMAX )
{ {
dVal *= 10; dVal *= 10;
nDen *= 10; nDen *= 10;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment