@@ -246,12 +246,11 @@ binary_resolve_descriptors(struct PyArrayMethodObject_tag *NPY_UNUSED(method),
246
246
{
247
247
PyArray_StringDTypeObject *descr1 = (PyArray_StringDTypeObject *)given_descrs[0 ];
248
248
PyArray_StringDTypeObject *descr2 = (PyArray_StringDTypeObject *)given_descrs[1 ];
249
- int out_coerce = 1 ;
249
+ int out_coerce = descr1-> coerce && descr1-> coerce ;
250
250
PyObject *out_na_object = NULL ;
251
251
252
- if (stringdtype_compatible_settings (
253
- descr1->na_object , descr2->na_object , &out_na_object,
254
- descr1->coerce , descr2->coerce , &out_coerce) == -1 ) {
252
+ if (stringdtype_compatible_na (
253
+ descr1->na_object , descr2->na_object , &out_na_object) == -1 ) {
255
254
return (NPY_CASTING)-1 ;
256
255
}
257
256
@@ -556,7 +555,7 @@ string_comparison_resolve_descriptors(
556
555
PyArray_StringDTypeObject *descr1 = (PyArray_StringDTypeObject *)given_descrs[0 ];
557
556
PyArray_StringDTypeObject *descr2 = (PyArray_StringDTypeObject *)given_descrs[1 ];
558
557
559
- if (stringdtype_compatible_na (descr1->na_object , descr2->na_object ) == -1 ) {
558
+ if (stringdtype_compatible_na (descr1->na_object , descr2->na_object , NULL ) == -1 ) {
560
559
return (NPY_CASTING)-1 ;
561
560
}
562
561
@@ -786,12 +785,8 @@ string_findlike_resolve_descriptors(
786
785
{
787
786
PyArray_StringDTypeObject *descr1 = (PyArray_StringDTypeObject *)given_descrs[0 ];
788
787
PyArray_StringDTypeObject *descr2 = (PyArray_StringDTypeObject *)given_descrs[1 ];
789
- int out_coerce = 1 ;
790
- PyObject *out_na_object = NULL ;
791
788
792
- if (stringdtype_compatible_settings (
793
- descr1->na_object , descr2->na_object , &out_na_object,
794
- descr1->coerce , descr2->coerce , &out_coerce) == -1 ) {
789
+ if (stringdtype_compatible_na (descr1->na_object , descr2->na_object , NULL ) == -1 ) {
795
790
return (NPY_CASTING)-1 ;
796
791
}
797
792
@@ -839,12 +834,8 @@ string_startswith_endswith_resolve_descriptors(
839
834
{
840
835
PyArray_StringDTypeObject *descr1 = (PyArray_StringDTypeObject *)given_descrs[0 ];
841
836
PyArray_StringDTypeObject *descr2 = (PyArray_StringDTypeObject *)given_descrs[1 ];
842
- int out_coerce = 1 ;
843
- PyObject *out_na_object = NULL ;
844
837
845
- if (stringdtype_compatible_settings (
846
- descr1->na_object , descr2->na_object , &out_na_object,
847
- descr1->coerce , descr2->coerce , &out_coerce) == -1 ) {
838
+ if (stringdtype_compatible_na (descr1->na_object , descr2->na_object , NULL ) == -1 ) {
848
839
return (NPY_CASTING)-1 ;
849
840
}
850
841
@@ -1250,18 +1241,16 @@ replace_resolve_descriptors(struct PyArrayMethodObject_tag *NPY_UNUSED(method),
1250
1241
PyArray_StringDTypeObject *descr1 = (PyArray_StringDTypeObject *)given_descrs[0 ];
1251
1242
PyArray_StringDTypeObject *descr2 = (PyArray_StringDTypeObject *)given_descrs[1 ];
1252
1243
PyArray_StringDTypeObject *descr3 = (PyArray_StringDTypeObject *)given_descrs[2 ];
1253
- int out_coerce = 1 ;
1244
+ int out_coerce = descr1-> coerce && descr2-> coerce && descr3-> coerce ;
1254
1245
PyObject *out_na_object = NULL ;
1255
1246
1256
- if (stringdtype_compatible_settings (
1257
- descr1->na_object , descr2->na_object , &out_na_object,
1258
- descr1->coerce , descr2->coerce , &out_coerce) == -1 ) {
1247
+ if (stringdtype_compatible_na (
1248
+ descr1->na_object , descr2->na_object , &out_na_object) == -1 ) {
1259
1249
return (NPY_CASTING)-1 ;
1260
1250
}
1261
1251
1262
- if (stringdtype_compatible_settings (
1263
- out_na_object, descr3->na_object , &out_na_object,
1264
- out_coerce, descr3->coerce , &out_coerce) == -1 ) {
1252
+ if (stringdtype_compatible_na (
1253
+ out_na_object, descr3->na_object , &out_na_object) == -1 ) {
1265
1254
return (NPY_CASTING)-1 ;
1266
1255
}
1267
1256
@@ -1525,12 +1514,11 @@ center_ljust_rjust_resolve_descriptors(
1525
1514
{
1526
1515
PyArray_StringDTypeObject *input_descr = (PyArray_StringDTypeObject *)given_descrs[0 ];
1527
1516
PyArray_StringDTypeObject *fill_descr = (PyArray_StringDTypeObject *)given_descrs[2 ];
1528
- int out_coerce = 1 ;
1517
+ int out_coerce = input_descr-> coerce && fill_descr-> coerce ;
1529
1518
PyObject *out_na_object = NULL ;
1530
1519
1531
- if (stringdtype_compatible_settings (
1532
- input_descr->na_object , fill_descr->na_object , &out_na_object,
1533
- input_descr->coerce , fill_descr->coerce , &out_coerce) == -1 ) {
1520
+ if (stringdtype_compatible_na (
1521
+ input_descr->na_object , fill_descr->na_object , &out_na_object) == -1 ) {
1534
1522
return (NPY_CASTING)-1 ;
1535
1523
}
1536
1524
@@ -1835,12 +1823,11 @@ string_partition_resolve_descriptors(
1835
1823
1836
1824
PyArray_StringDTypeObject *descr1 = (PyArray_StringDTypeObject *)given_descrs[0 ];
1837
1825
PyArray_StringDTypeObject *descr2 = (PyArray_StringDTypeObject *)given_descrs[1 ];
1838
- int out_coerce = 1 ;
1826
+ int out_coerce = descr1-> coerce && descr2-> coerce ;
1839
1827
PyObject *out_na_object = NULL ;
1840
1828
1841
- if (stringdtype_compatible_settings (
1842
- descr1->na_object , descr2->na_object , &out_na_object,
1843
- descr1->coerce , descr2->coerce , &out_coerce) == -1 ) {
1829
+ if (stringdtype_compatible_na (
1830
+ descr1->na_object , descr2->na_object , &out_na_object) == -1 ) {
1844
1831
return (NPY_CASTING)-1 ;
1845
1832
}
1846
1833
0 commit comments