* This provides the casting rules for the TIMEDELTA data type metadata. */
| 1414 | * This provides the casting rules for the TIMEDELTA data type metadata. |
| 1415 | */ |
| 1416 | NPY_NO_EXPORT npy_bool |
| 1417 | can_cast_timedelta64_metadata(PyArray_DatetimeMetaData *src_meta, |
| 1418 | PyArray_DatetimeMetaData *dst_meta, |
| 1419 | NPY_CASTING casting) |
| 1420 | { |
| 1421 | switch (casting) { |
| 1422 | case NPY_UNSAFE_CASTING: |
| 1423 | return 1; |
| 1424 | |
| 1425 | case NPY_SAME_KIND_CASTING: |
| 1426 | return can_cast_timedelta64_units(src_meta->base, dst_meta->base, |
| 1427 | casting); |
| 1428 | |
| 1429 | case NPY_SAFE_CASTING: |
| 1430 | return can_cast_timedelta64_units(src_meta->base, dst_meta->base, |
| 1431 | casting) && |
| 1432 | datetime_metadata_divides(src_meta, dst_meta, 1); |
| 1433 | |
| 1434 | default: |
| 1435 | return src_meta->base == dst_meta->base && |
| 1436 | src_meta->num == dst_meta->num; |
| 1437 | } |
| 1438 | } |
| 1439 | |
| 1440 | /* |
| 1441 | * Tests whether a datetime64 can be cast from the source metadata |
no test coverage detected