Skip to content

Commit 5e41ef3

Browse files
committed
fix: fixes to make the tests pass
1 parent 39892da commit 5e41ef3

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

include/pybind11/numpy.h

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -393,25 +393,30 @@ struct npy_format_descriptor_name;
393393
template <typename T>
394394
struct npy_format_descriptor_name<T, enable_if_t<std::is_integral<T>::value>> {
395395
static constexpr auto name = const_name<std::is_same<T, bool>::value>(
396-
const_name("bool"),
397-
const_name<std::is_signed<T>::value>("int", "uint") + const_name<sizeof(T) * 8>());
396+
const_name("numpy.bool"),
397+
const_name<std::is_signed<T>::value>("numpy.int", "numpy.uint")
398+
+ const_name<sizeof(T) * 8>());
398399
};
399400

400401
template <typename T>
401402
struct npy_format_descriptor_name<T, enable_if_t<std::is_floating_point<T>::value>> {
402-
static constexpr auto name
403-
= const_name < std::is_same<T, float>::value
404-
|| std::is_same<T, double>::value
405-
> (const_name("float") + const_name<sizeof(T) * 8>(), const_name("longdouble"));
403+
static constexpr auto name = const_name < std::is_same<T, float>::value
404+
|| std::is_same<T, const float>::value
405+
|| std::is_same<T, double>::value
406+
|| std::is_same<T, const double>::value
407+
> (const_name("numpy.float") + const_name<sizeof(T) * 8>(),
408+
const_name("numpy.longdouble"));
406409
};
407410

408411
template <typename T>
409412
struct npy_format_descriptor_name<T, enable_if_t<is_complex<T>::value>> {
410-
static constexpr auto name
411-
= const_name < std::is_same<typename T::value_type, float>::value
412-
|| std::is_same<typename T::value_type, double>::value
413-
> (const_name("complex") + const_name<sizeof(typename T::value_type) * 16>(),
414-
const_name("longcomplex"));
413+
static constexpr auto name = const_name < std::is_same<typename T::value_type, float>::value
414+
|| std::is_same<typename T::value_type, const float>::value
415+
|| std::is_same<typename T::value_type, double>::value
416+
|| std::is_same<typename T::value_type, const double>::value
417+
> (const_name("numpy.complex")
418+
+ const_name<sizeof(typename T::value_type) * 16>(),
419+
const_name("numpy.longcomplex"));
415420
};
416421

417422
template <typename T>

tests/test_numpy_scalars.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def scalar_type(request):
4242
def expected_signature(tp):
4343
s = "str" if sys.version_info[0] >= 3 else "unicode"
4444
t = type_name(tp)
45-
return f"test_{t}(x: {t}) -> tuple[{s}, {t}]\n"
45+
return f"test_{t}(x: numpy.{t}) -> tuple[{s}, numpy.{t}]\n"
4646

4747

4848
def test_numpy_scalars(scalar_type):

0 commit comments

Comments
 (0)