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

Function CheckFloatApproxEqualsWithAtol

cpp/src/arrow/array/array_test.cc:2193–2216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2191
2192template <typename TYPE>
2193void CheckFloatApproxEqualsWithAtol() {
2194 using c_type = typename TYPE::c_type;
2195 auto type = TypeTraits<TYPE>::type_singleton();
2196 std::shared_ptr<Array> a, b;
2197 ArrayFromVector<TYPE>(type, {true}, {static_cast<c_type>(0.5)}, &a);
2198 ArrayFromVector<TYPE>(type, {true}, {static_cast<c_type>(0.6)}, &b);
2199 auto options = EqualOptions::Defaults().atol(0.2);
2200
2201 ASSERT_FALSE(a->Equals(b));
2202 ASSERT_TRUE(a->Equals(b, options));
2203 ARROW_SUPPRESS_DEPRECATION_WARNING
2204 ASSERT_TRUE(a->Equals(b, options.use_atol(true)));
2205 ASSERT_FALSE(a->Equals(b, options.use_atol(false)));
2206 ARROW_UNSUPPRESS_DEPRECATION_WARNING
2207 ASSERT_TRUE(a->ApproxEquals(b, options));
2208
2209 ASSERT_FALSE(a->RangeEquals(0, 1, 0, b));
2210 ASSERT_TRUE(a->RangeEquals(0, 1, 0, b, options));
2211 ARROW_SUPPRESS_DEPRECATION_WARNING
2212 ASSERT_TRUE(a->RangeEquals(0, 1, 0, b, options.use_atol(true)));
2213 ASSERT_FALSE(a->RangeEquals(0, 1, 0, b, options.use_atol(false)));
2214 ARROW_UNSUPPRESS_DEPRECATION_WARNING
2215 ASSERT_TRUE(ArrayRangeApproxEquals(*a, *b, 0, 1, 0, options));
2216}
2217
2218template <typename TYPE>
2219void CheckSliceApproxEquals() {

Callers

nothing calls this directly

Calls 6

ArrayRangeApproxEqualsFunction · 0.85
RangeEqualsMethod · 0.80
type_singletonFunction · 0.50
DefaultsFunction · 0.50
EqualsMethod · 0.45
ApproxEqualsMethod · 0.45

Tested by

no test coverage detected