@@ -21,6 +21,60 @@ extern "C" {
21
21
#include " umath.h"
22
22
#include " ops.hpp"
23
23
24
+ // helper debugging function
25
+ static const char *
26
+ get_dtype_name (PyArray_DTypeMeta *dtype)
27
+ {
28
+ if (dtype == &QuadPrecDType) {
29
+ return " QuadPrecDType" ;
30
+ }
31
+ else if (dtype == &PyArray_BoolDType) {
32
+ return " BoolDType" ;
33
+ }
34
+ else if (dtype == &PyArray_ByteDType) {
35
+ return " ByteDType" ;
36
+ }
37
+ else if (dtype == &PyArray_UByteDType) {
38
+ return " UByteDType" ;
39
+ }
40
+ else if (dtype == &PyArray_ShortDType) {
41
+ return " ShortDType" ;
42
+ }
43
+ else if (dtype == &PyArray_UShortDType) {
44
+ return " UShortDType" ;
45
+ }
46
+ else if (dtype == &PyArray_IntDType) {
47
+ return " IntDType" ;
48
+ }
49
+ else if (dtype == &PyArray_UIntDType) {
50
+ return " UIntDType" ;
51
+ }
52
+ else if (dtype == &PyArray_LongDType) {
53
+ return " LongDType" ;
54
+ }
55
+ else if (dtype == &PyArray_ULongDType) {
56
+ return " ULongDType" ;
57
+ }
58
+ else if (dtype == &PyArray_LongLongDType) {
59
+ return " LongLongDType" ;
60
+ }
61
+ else if (dtype == &PyArray_ULongLongDType) {
62
+ return " ULongLongDType" ;
63
+ }
64
+ else if (dtype == &PyArray_FloatDType) {
65
+ return " FloatDType" ;
66
+ }
67
+ else if (dtype == &PyArray_DoubleDType) {
68
+ return " DoubleDType" ;
69
+ }
70
+ else if (dtype == &PyArray_LongDoubleDType) {
71
+ return " LongDoubleDType" ;
72
+ }
73
+ else {
74
+ return " UnknownDType" ;
75
+ }
76
+ }
77
+
24
78
static NPY_CASTING
25
79
quad_unary_op_resolve_descriptors (PyObject *self, PyArray_DTypeMeta *const dtypes[],
26
80
PyArray_Descr *const given_descrs[], PyArray_Descr *loop_descrs[],
@@ -170,13 +224,18 @@ quad_binary_op_resolve_descriptors(PyObject *self, PyArray_DTypeMeta *const dtyp
170
224
PyArray_Descr *const given_descrs[],
171
225
PyArray_Descr *loop_descrs[], npy_intp *NPY_UNUSED (view_offset))
172
226
{
227
+ printf (" Descriptor Resolver is calledn\n " );
173
228
Py_INCREF (given_descrs[0 ]);
174
229
loop_descrs[0 ] = given_descrs[0 ];
175
230
Py_INCREF (given_descrs[1 ]);
176
231
loop_descrs[1 ] = given_descrs[1 ];
177
232
178
233
QuadPrecDTypeObject *descr_in1 = (QuadPrecDTypeObject *)given_descrs[0 ];
179
234
QuadPrecDTypeObject *descr_in2 = (QuadPrecDTypeObject *)given_descrs[1 ];
235
+ const char *s1 = (descr_in1->backend == BACKEND_SLEEF) ? " SLEEF" : " LONGDOUBLE" ;
236
+ const char *s2 = (descr_in2->backend == BACKEND_SLEEF) ? " SLEEF" : " LONGDOUBLE" ;
237
+ printf (" 1: %s\n " , s1);
238
+ printf (" 2: %s\n " , s2);
180
239
181
240
if (descr_in1->backend != descr_in2->backend ) {
182
241
PyErr_SetString (PyExc_TypeError,
@@ -241,60 +300,6 @@ quad_generic_binop_strided_loop(PyArrayMethod_Context *context, char *const data
241
300
return 0 ;
242
301
}
243
302
244
- // helper debugging function
245
- static const char *
246
- get_dtype_name (PyArray_DTypeMeta *dtype)
247
- {
248
- if (dtype == &QuadPrecDType) {
249
- return " QuadPrecDType" ;
250
- }
251
- else if (dtype == &PyArray_BoolDType) {
252
- return " BoolDType" ;
253
- }
254
- else if (dtype == &PyArray_ByteDType) {
255
- return " ByteDType" ;
256
- }
257
- else if (dtype == &PyArray_UByteDType) {
258
- return " UByteDType" ;
259
- }
260
- else if (dtype == &PyArray_ShortDType) {
261
- return " ShortDType" ;
262
- }
263
- else if (dtype == &PyArray_UShortDType) {
264
- return " UShortDType" ;
265
- }
266
- else if (dtype == &PyArray_IntDType) {
267
- return " IntDType" ;
268
- }
269
- else if (dtype == &PyArray_UIntDType) {
270
- return " UIntDType" ;
271
- }
272
- else if (dtype == &PyArray_LongDType) {
273
- return " LongDType" ;
274
- }
275
- else if (dtype == &PyArray_ULongDType) {
276
- return " ULongDType" ;
277
- }
278
- else if (dtype == &PyArray_LongLongDType) {
279
- return " LongLongDType" ;
280
- }
281
- else if (dtype == &PyArray_ULongLongDType) {
282
- return " ULongLongDType" ;
283
- }
284
- else if (dtype == &PyArray_FloatDType) {
285
- return " FloatDType" ;
286
- }
287
- else if (dtype == &PyArray_DoubleDType) {
288
- return " DoubleDType" ;
289
- }
290
- else if (dtype == &PyArray_LongDoubleDType) {
291
- return " LongDoubleDType" ;
292
- }
293
- else {
294
- return " UnknownDType" ;
295
- }
296
- }
297
-
298
303
static int
299
304
quad_ufunc_promoter (PyUFuncObject *ufunc, PyArray_DTypeMeta *op_dtypes[],
300
305
PyArray_DTypeMeta *signature[], PyArray_DTypeMeta *new_op_dtypes[])
0 commit comments