@@ -1047,9 +1047,12 @@ def errmess(s: str) -> None:
1047
1047
PyArray_ScalarAsCtype(obj, v);
1048
1048
return 1;
1049
1049
}
1050
- else if (PyArray_Check(obj) && PyArray_TYPE(obj) == NPY_LONGDOUBLE) {
1051
- (*v) = *((npy_longdouble *)PyArray_DATA(obj));
1052
- return 1;
1050
+ else if (PyArray_Check(obj)) {
1051
+ PyArrayObject *arr = (PyArrayObject *)obj;
1052
+ if (PyArray_TYPE(arr) == NPY_LONGDOUBLE) {
1053
+ (*v) = *((npy_longdouble *)PyArray_DATA(arr));
1054
+ return 1;
1055
+ }
1053
1056
}
1054
1057
}
1055
1058
if (double_from_pyobj(&d, obj, errmess)) {
@@ -1131,10 +1134,13 @@ def errmess(s: str) -> None:
1131
1134
PyArray_ScalarAsCtype(obj, v);
1132
1135
return 1;
1133
1136
}
1134
- else if (PyArray_Check(obj) && PyArray_TYPE(obj)==NPY_CLONGDOUBLE) {
1135
- (*v).r = npy_creall(*(((npy_clongdouble *)PyArray_DATA(obj))));
1136
- (*v).i = npy_cimagl(*(((npy_clongdouble *)PyArray_DATA(obj))));
1137
- return 1;
1137
+ else if (PyArray_Check(obj)) {
1138
+ PyArrayObject *arr = (PyArrayObject *)obj;
1139
+ if (PyArray_TYPE(arr)==NPY_CLONGDOUBLE) {
1140
+ (*v).r = npy_creall(*(((npy_clongdouble *)PyArray_DATA(arr))));
1141
+ (*v).i = npy_cimagl(*(((npy_clongdouble *)PyArray_DATA(arr))));
1142
+ return 1;
1143
+ }
1138
1144
}
1139
1145
}
1140
1146
if (complex_double_from_pyobj(&cd,obj,errmess)) {