@@ -59,7 +59,7 @@ TEST_F(UtilsTest, valueToDouble) {
5959 EXPECT_DOUBLE_EQ (stdValue.value (), expectedValue);
6060}
6161
62- TEST_F (UtilsTest, valueToDoubleCastFromIntegerType ) {
62+ TEST_F (UtilsTest, valueToDoubleCastFromInteger ) {
6363 constexpr int expectedValue = 42 ;
6464 auto op = builder->create <arith::ConstantOp>(
6565 builder->getUnknownLoc (), builder->getI32IntegerAttr (expectedValue));
@@ -71,6 +71,19 @@ TEST_F(UtilsTest, valueToDoubleCastFromIntegerType) {
7171 EXPECT_DOUBLE_EQ (stdValue.value (), expectedValue);
7272}
7373
74+ TEST_F (UtilsTest, valueToDoubleCastFromNegativeInteger) {
75+ constexpr int expectedValue = -123 ;
76+ auto op = builder->create <arith::ConstantOp>(
77+ builder->getUnknownLoc (), builder->getSI32IntegerAttr (expectedValue));
78+ ASSERT_TRUE (op);
79+
80+ auto value = op.getResult ();
81+ auto stdValue = utils::valueToDouble (value);
82+ ASSERT_TRUE (stdValue.has_value ());
83+ EXPECT_DOUBLE_EQ (stdValue.value (), expectedValue);
84+ }
85+
86+
7487TEST_F (UtilsTest, valueToDoubleCastFromMaxUnsignedInteger) {
7588 constexpr auto expectedValue = std::numeric_limits<uint64_t >::max ();
7689 constexpr auto bitCount = 64 ;
0 commit comments