try elide unary temporary */
| 365 | |
| 366 | /* try elide unary temporary */ |
| 367 | NPY_NO_EXPORT int |
| 368 | can_elide_temp_unary(PyArrayObject * m1) |
| 369 | { |
| 370 | int cannot; |
| 371 | if (Py_REFCNT(m1) != 1 || !PyArray_CheckExact(m1) || |
| 372 | !PyArray_ISNUMBER(m1) || |
| 373 | !PyArray_CHKFLAGS(m1, NPY_ARRAY_OWNDATA) || |
| 374 | !PyArray_ISWRITEABLE(m1) || |
| 375 | PyArray_NBYTES(m1) < NPY_MIN_ELIDE_BYTES) { |
| 376 | return 0; |
| 377 | } |
| 378 | if (check_callers(&cannot)) { |
| 379 | #if NPY_ELIDE_DEBUG != 0 |
| 380 | puts("elided temporary in unary op"); |
| 381 | #endif |
| 382 | return 1; |
| 383 | } |
| 384 | else { |
| 385 | return 0; |
| 386 | } |
| 387 | } |
| 388 | #else /* unsupported interpreter or missing backtrace */ |
| 389 | NPY_NO_EXPORT int |
| 390 | can_elide_temp_unary(PyArrayObject * m1) |
no test coverage detected