@@ -116,9 +116,8 @@ template <typename T, bool IsMasked> class PandasHashTable {
116
116
// uint32_t for the khash "int" size. Otherwise use 64 bits
117
117
using HashValueT = typename std::conditional<sizeof (decltype (PandasHashFunction<T>()(T()))) <= 4 , uint32_t , uint64_t >::type;
118
118
explicit PandasHashTable<T, IsMasked>() = default ;
119
- explicit PandasHashTable<T, IsMasked>(size_t new_size) {
120
- // TODO: C++20 std::in_range would be great to safely check cast
121
- hash_map_.resize (static_cast <HashValueT>(new_size));
119
+ explicit PandasHashTable<T, IsMasked>(HashValueT new_size) {
120
+ hash_map_.resize (new_size);
122
121
}
123
122
124
123
auto __len__ () const noexcept { return hash_map_.size (); }
@@ -678,7 +677,8 @@ using namespace nb::literals;
678
677
do { \
679
678
nb::class_<PandasHashTable<TYPE, MASKED>>(m, NAME) \
680
679
.def (nb::init<>()) \
681
- .def (nb::init<size_t >(), " size_hint" _a) \
680
+ .def (nb::init<uint32_t >(), " size_hint" _a) \
681
+ .def (nb::init<uint64_t >(), " size_hint" _a) \
682
682
.def (" __len__" , &PandasHashTable<TYPE, MASKED>::__len__) \
683
683
.def (" __contains__" , &PandasHashTable<TYPE, MASKED>::__contains__) \
684
684
.def (" sizeof" , &PandasHashTable<TYPE, MASKED>::SizeOf) \
0 commit comments