MCPcopy Create free account
hub / github.com/apache/arrow / TestRoundTripFromInf

Method TestRoundTripFromInf

cpp/src/arrow/util/float16_test.cc:84–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82 }
83
84 void TestRoundTripFromInf() {
85 const T test_cases[] = {+Limits<T>::infinity(), -Limits<T>::infinity()};
86
87 for (size_t i = 0; i < std::size(test_cases); ++i) {
88 ARROW_SCOPED_TRACE("i=", i);
89 const auto input = test_cases[i];
90
91 ASSERT_TRUE(std::isinf(input));
92 const bool sign = std::signbit(input);
93
94 const auto f16 = Float16(input);
95 EXPECT_TRUE(f16.is_infinity());
96 EXPECT_EQ(std::isfinite(input), f16.is_finite());
97 EXPECT_EQ(std::isnan(input), f16.is_nan());
98 EXPECT_EQ(sign, f16.signbit());
99
100 const auto output = static_cast<T>(f16);
101 EXPECT_TRUE(std::isinf(output));
102 EXPECT_EQ(sign, std::signbit(output));
103 }
104 }
105
106 void TestRoundTrip();
107 void TestRoundTripFromNaN();

Callers 1

TYPED_TESTFunction · 0.80

Calls 4

signbitFunction · 0.85
signbitMethod · 0.80
Float16Function · 0.70
sizeFunction · 0.50

Tested by

no test coverage detected