EXPECT_EQ(14, maxIdx[1]);
}
+TEST(Core_Set, regression_11044)
+{
+ Mat testFloat(Size(3, 3), CV_32FC1);
+ Mat testDouble(Size(3, 3), CV_64FC1);
+
+ testFloat.setTo(1);
+ EXPECT_EQ(1, testFloat.at<float>(0,0));
+ testFloat.setTo(std::numeric_limits<float>::infinity());
+ EXPECT_EQ(std::numeric_limits<float>::infinity(), testFloat.at<float>(0, 0));
+ testFloat.setTo(1);
+ EXPECT_EQ(1, testFloat.at<float>(0, 0));
+ testFloat.setTo(std::numeric_limits<double>::infinity());
+ EXPECT_EQ(std::numeric_limits<float>::infinity(), testFloat.at<float>(0, 0));
+
+ testDouble.setTo(1);
+ EXPECT_EQ(1, testDouble.at<double>(0, 0));
+ testDouble.setTo(std::numeric_limits<float>::infinity());
+ EXPECT_EQ(std::numeric_limits<double>::infinity(), testDouble.at<double>(0, 0));
+ testDouble.setTo(1);
+ EXPECT_EQ(1, testDouble.at<double>(0, 0));
+ testDouble.setTo(std::numeric_limits<double>::infinity());
+ EXPECT_EQ(std::numeric_limits<double>::infinity(), testDouble.at<double>(0, 0));
+
+ Mat testMask(Size(3, 3), CV_8UC1, Scalar(1));
+
+ testFloat.setTo(1);
+ EXPECT_EQ(1, testFloat.at<float>(0, 0));
+ testFloat.setTo(std::numeric_limits<float>::infinity(), testMask);
+ EXPECT_EQ(std::numeric_limits<float>::infinity(), testFloat.at<float>(0, 0));
+ testFloat.setTo(1);
+ EXPECT_EQ(1, testFloat.at<float>(0, 0));
+ testFloat.setTo(std::numeric_limits<double>::infinity(), testMask);
+ EXPECT_EQ(std::numeric_limits<float>::infinity(), testFloat.at<float>(0, 0));
+
+
+ testDouble.setTo(1);
+ EXPECT_EQ(1, testDouble.at<double>(0, 0));
+ testDouble.setTo(std::numeric_limits<float>::infinity(), testMask);
+ EXPECT_EQ(std::numeric_limits<double>::infinity(), testDouble.at<double>(0, 0));
+ testDouble.setTo(1);
+ EXPECT_EQ(1, testDouble.at<double>(0, 0));
+ testDouble.setTo(std::numeric_limits<double>::infinity(), testMask);
+ EXPECT_EQ(std::numeric_limits<double>::infinity(), testDouble.at<double>(0, 0));
+}
+
}} // namespace