Skip to content

Commit 2e53f4a

Browse files
committed
Address additional review points
1 parent 4e69d1c commit 2e53f4a

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

cpp/src/arrow/scalar.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -979,7 +979,7 @@ struct MakeScalarImpl {
979979
// This isn't captured by the generic case above because `util::Float16` isn't implicity
980980
// convertible to `uint16_t` (HalfFloat's ValueType)
981981
template <typename T>
982-
std::enable_if_t<std::is_same_v<std::remove_reference_t<ValueRef>, util::Float16> &&
982+
std::enable_if_t<std::is_same_v<std::decay_t<ValueRef>, util::Float16> &&
983983
is_half_float_type<T>::value,
984984
Status>
985985
Visit(const T& t) {

cpp/src/arrow/scalar_test.cc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,11 @@ TYPED_TEST(TestNumericScalar, Basics) {
230230
T value = static_cast<T>(1);
231231

232232
auto scalar_val = std::make_shared<ScalarType>(value);
233+
if constexpr (is_half_float_type<TypeParam>::value) {
234+
ASSERT_EQ(value, Float16::FromBits(scalar_val->value));
235+
} else {
236+
ASSERT_EQ(value, scalar_val->value);
237+
}
233238
ASSERT_TRUE(scalar_val->is_valid);
234239
ASSERT_OK(scalar_val->ValidateFull());
235240

@@ -241,11 +246,9 @@ TYPED_TEST(TestNumericScalar, Basics) {
241246
ASSERT_NE(*scalar_other, *scalar_val);
242247

243248
if constexpr (is_half_float_type<TypeParam>::value) {
244-
ASSERT_EQ(value, Float16::FromBits(scalar_val->value));
245249
scalar_val->value = other_value.bits();
246250
ASSERT_EQ(other_value, Float16::FromBits(scalar_val->value));
247251
} else {
248-
ASSERT_EQ(value, scalar_val->value);
249252
scalar_val->value = other_value;
250253
ASSERT_EQ(other_value, scalar_val->value);
251254
}
@@ -294,7 +297,7 @@ TYPED_TEST(TestNumericScalar, Hashing) {
294297
std::unordered_set<std::shared_ptr<Scalar>, Scalar::Hash, Scalar::PtrsEqual> set;
295298
set.emplace(std::make_shared<ScalarType>());
296299
for (int i = 0; i < 10; ++i) {
297-
set.emplace(std::make_shared<ScalarType>(static_cast<T>(i)));
300+
ASSERT_TRUE(set.emplace(std::make_shared<ScalarType>(static_cast<T>(i))).second);
298301
}
299302

300303
ASSERT_FALSE(set.emplace(std::make_shared<ScalarType>()).second);

0 commit comments

Comments
 (0)