[llvm] r182897 - Added a unittest for APFloat::getSmallestNormalized.

Michael Gottesman mgottesman at apple.com
Wed May 29 17:18:47 PDT 2013


Author: mgottesman
Date: Wed May 29 19:18:47 2013
New Revision: 182897

URL: http://llvm.org/viewvc/llvm-project?rev=182897&view=rev
Log:
Added a unittest for APFloat::getSmallestNormalized.

Modified:
    llvm/trunk/unittests/ADT/APFloatTest.cpp

Modified: llvm/trunk/unittests/ADT/APFloatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/APFloatTest.cpp?rev=182897&r1=182896&r2=182897&view=diff
==============================================================================
--- llvm/trunk/unittests/ADT/APFloatTest.cpp (original)
+++ llvm/trunk/unittests/ADT/APFloatTest.cpp Wed May 29 19:18:47 2013
@@ -824,6 +824,36 @@ TEST(APFloatTest, getSmallest) {
   EXPECT_TRUE(test.bitwiseIsEqual(expected));  
 }
 
+TEST(APFloatTest, getSmallestNormalized) {
+  APFloat test = APFloat::getSmallestNormalized(APFloat::IEEEsingle, false);
+  APFloat expected = APFloat(APFloat::IEEEsingle, "0x1p-126");
+  EXPECT_FALSE(test.isNegative());
+  EXPECT_TRUE(test.isNormal());
+  EXPECT_FALSE(test.isDenormal());
+  EXPECT_TRUE(test.bitwiseIsEqual(expected));
+
+  test = APFloat::getSmallestNormalized(APFloat::IEEEsingle, true);
+  expected = APFloat(APFloat::IEEEsingle, "-0x1p-126");
+  EXPECT_TRUE(test.isNegative());
+  EXPECT_TRUE(test.isNormal());
+  EXPECT_FALSE(test.isDenormal());
+  EXPECT_TRUE(test.bitwiseIsEqual(expected));
+
+  test = APFloat::getSmallestNormalized(APFloat::IEEEquad, false);
+  expected = APFloat(APFloat::IEEEquad, "0x1p-16382");
+  EXPECT_FALSE(test.isNegative());
+  EXPECT_TRUE(test.isNormal());
+  EXPECT_FALSE(test.isDenormal());
+  EXPECT_TRUE(test.bitwiseIsEqual(expected));
+
+  test = APFloat::getSmallestNormalized(APFloat::IEEEquad, true);
+  expected = APFloat(APFloat::IEEEquad, "-0x1p-16382");
+  EXPECT_TRUE(test.isNegative());
+  EXPECT_TRUE(test.isNormal());
+  EXPECT_FALSE(test.isDenormal());
+  EXPECT_TRUE(test.bitwiseIsEqual(expected));  
+}
+
 TEST(APFloatTest, convert) {
   bool losesInfo;
   APFloat test(APFloat::IEEEdouble, "1.0");





More information about the llvm-commits mailing list