| 579 | } |
| 580 | |
| 581 | static inline void |
| 582 | dump_ufunc_object(PyUFuncObject* ufunc) |
| 583 | { |
| 584 | TRACE_TXT("\n\n%s '%s' (%d input(s), %d output(s), %d specialization(s).\n", |
| 585 | ufunc->core_enabled? "generalized ufunc" : "scalar ufunc", |
| 586 | ufunc->name, ufunc->nin, ufunc->nout, ufunc->ntypes); |
| 587 | if (ufunc->core_enabled) { |
| 588 | int arg; |
| 589 | int dim; |
| 590 | TRACE_TXT("\t%s (%d dimension(s) detected).\n", |
| 591 | ufunc->core_signature, ufunc->core_num_dim_ix); |
| 592 | |
| 593 | for (arg = 0; arg < ufunc->nargs; arg++){ |
| 594 | int * arg_dim_ix = ufunc->core_dim_ixs + ufunc->core_offsets[arg]; |
| 595 | TRACE_TXT("\t\targ %d (%s) has %d dimension(s): (", |
| 596 | arg, arg < ufunc->nin? "INPUT" : "OUTPUT", |
| 597 | ufunc->core_num_dims[arg]); |
| 598 | for (dim = 0; dim < ufunc->core_num_dims[arg]; dim ++) { |
| 599 | TRACE_TXT(" %d", arg_dim_ix[dim]); |
| 600 | } |
| 601 | TRACE_TXT(" )\n"); |
| 602 | } |
| 603 | } |
| 604 | } |
| 605 | |
| 606 | static inline void |
| 607 | dump_linearize_data(const char* name, const LINEARIZE_DATA_t* params) |