@@ -69,16 +69,16 @@ string_to_string(PyArrayMethod_Context *NPY_UNUSED(context),
69
69
npy_intp in_stride = strides [0 ];
70
70
npy_intp out_stride = strides [1 ];
71
71
72
- const ss * s = NULL ;
73
- ss * os = NULL ;
72
+ const npy_static_string * s = NULL ;
73
+ npy_static_string * os = NULL ;
74
74
75
75
while (N -- ) {
76
- s = (ss * )in ;
77
- os = (ss * )out ;
76
+ s = (npy_static_string * )in ;
77
+ os = (npy_static_string * )out ;
78
78
if (in != out ) {
79
- ssfree (os );
80
- if (ssdup (s , os ) < 0 ) {
81
- gil_error (PyExc_MemoryError , "ssdup failed" );
79
+ npy_string_free (os );
80
+ if (npy_string_dup (s , os ) < 0 ) {
81
+ gil_error (PyExc_MemoryError , "npy_string_dup failed" );
82
82
return -1 ;
83
83
}
84
84
}
@@ -207,10 +207,10 @@ unicode_to_string(PyArrayMethod_Context *context, char *const data[],
207
207
gil_error (PyExc_TypeError , "Invalid unicode code point found" );
208
208
return -1 ;
209
209
}
210
- ss * out_ss = (ss * )out ;
211
- ssfree (out_ss );
212
- if (ssnewemptylen (out_num_bytes , out_ss ) < 0 ) {
213
- gil_error (PyExc_MemoryError , "ssnewemptylen failed" );
210
+ npy_static_string * out_ss = (npy_static_string * )out ;
211
+ npy_string_free (out_ss );
212
+ if (npy_string_newemptylen (out_num_bytes , out_ss ) < 0 ) {
213
+ gil_error (PyExc_MemoryError , "npy_string_newemptylen failed" );
214
214
return -1 ;
215
215
}
216
216
char * out_buf = out_ss -> buf ;
@@ -322,7 +322,7 @@ string_to_unicode(PyArrayMethod_Context *context, char *const data[],
322
322
StringDTypeObject * descr = (StringDTypeObject * )context -> descriptors [0 ];
323
323
int has_null = descr -> na_object != NULL ;
324
324
int has_string_na = descr -> has_string_na ;
325
- ss default_string = descr -> default_string ;
325
+ npy_static_string default_string = descr -> default_string ;
326
326
npy_intp N = dimensions [0 ];
327
327
char * in = data [0 ];
328
328
Py_UCS4 * out = (Py_UCS4 * )data [1 ];
@@ -332,13 +332,13 @@ string_to_unicode(PyArrayMethod_Context *context, char *const data[],
332
332
// max number of 4 byte UCS4 characters that can fit in the output
333
333
long max_out_size = (context -> descriptors [1 ]-> elsize ) / 4 ;
334
334
335
- const ss * s = NULL ;
335
+ const npy_static_string * s = NULL ;
336
336
337
337
while (N -- ) {
338
- s = (ss * )in ;
338
+ s = (npy_static_string * )in ;
339
339
unsigned char * this_string = NULL ;
340
340
size_t n_bytes ;
341
- if (ss_isnull (s )) {
341
+ if (npy_string_isnull (s )) {
342
342
if (has_null && !has_string_na ) {
343
343
// lossy but not much else we can do
344
344
this_string = (unsigned char * )descr -> na_name .buf ;
@@ -421,7 +421,7 @@ string_to_bool(PyArrayMethod_Context *context, char *const data[],
421
421
StringDTypeObject * descr = (StringDTypeObject * )context -> descriptors [0 ];
422
422
int has_null = descr -> na_object != NULL ;
423
423
int has_string_na = descr -> has_string_na ;
424
- ss default_string = descr -> default_string ;
424
+ npy_static_string default_string = descr -> default_string ;
425
425
426
426
npy_intp N = dimensions [0 ];
427
427
char * in = data [0 ];
@@ -430,11 +430,11 @@ string_to_bool(PyArrayMethod_Context *context, char *const data[],
430
430
npy_intp in_stride = strides [0 ];
431
431
npy_intp out_stride = strides [1 ];
432
432
433
- const ss * s = NULL ;
433
+ const npy_static_string * s = NULL ;
434
434
435
435
while (N -- ) {
436
- s = (ss * )in ;
437
- if (ss_isnull (s )) {
436
+ s = (npy_static_string * )in ;
437
+ if (npy_string_isnull (s )) {
438
438
if (has_null && !has_string_na ) {
439
439
// numpy treats NaN as truthy, following python
440
440
* out = (npy_bool )1 ;
@@ -479,17 +479,17 @@ bool_to_string(PyArrayMethod_Context *NPY_UNUSED(context), char *const data[],
479
479
npy_intp out_stride = strides [1 ];
480
480
481
481
while (N -- ) {
482
- ss * out_ss = (ss * )out ;
483
- ssfree (out_ss );
482
+ npy_static_string * out_ss = (npy_static_string * )out ;
483
+ npy_string_free (out_ss );
484
484
if ((npy_bool )(* in ) == 1 ) {
485
- if (ssnewlen ("True" , 4 , out_ss ) < 0 ) {
486
- gil_error (PyExc_MemoryError , "ssnewlen failed" );
485
+ if (npy_string_newlen ("True" , 4 , out_ss ) < 0 ) {
486
+ gil_error (PyExc_MemoryError , "npy_string_newlen failed" );
487
487
return -1 ;
488
488
}
489
489
}
490
490
else if ((npy_bool )(* in ) == 0 ) {
491
- if (ssnewlen ("False" , 5 , out_ss ) < 0 ) {
492
- gil_error (PyExc_MemoryError , "ssnewlen failed" );
491
+ if (npy_string_newlen ("False" , 5 , out_ss ) < 0 ) {
492
+ gil_error (PyExc_MemoryError , "npy_string_newlen failed" );
493
493
return -1 ;
494
494
}
495
495
}
@@ -517,8 +517,8 @@ static char *b2s_name = "cast_Bool_to_StringDType";
517
517
static PyObject *
518
518
string_to_pylong (char * in , int hasnull )
519
519
{
520
- const ss * s = (ss * )in ;
521
- if (ss_isnull (s )) {
520
+ const npy_static_string * s = (npy_static_string * )in ;
521
+ if (npy_string_isnull (s )) {
522
522
if (hasnull ) {
523
523
PyErr_SetString (PyExc_ValueError ,
524
524
"Arrays with missing data cannot be converted to "
@@ -585,10 +585,10 @@ pyobj_to_string(PyObject *obj, char *out)
585
585
if (cstr_val == NULL ) {
586
586
return -1 ;
587
587
}
588
- ss * out_ss = (ss * )out ;
589
- ssfree (out_ss );
590
- if (ssnewlen (cstr_val , length , out_ss ) < 0 ) {
591
- PyErr_SetString (PyExc_MemoryError , "ssnewlen failed" );
588
+ npy_static_string * out_ss = (npy_static_string * )out ;
589
+ npy_string_free (out_ss );
590
+ if (npy_string_newlen (cstr_val , length , out_ss ) < 0 ) {
591
+ PyErr_SetString (PyExc_MemoryError , "npy_string_newlen failed" );
592
592
Py_DECREF (pystr_val );
593
593
return -1 ;
594
594
}
@@ -769,8 +769,8 @@ STRING_INT_CASTS(ulonglong, uint, ulonglong, NPY_ULONGLONG, llu, npy_ulonglong,
769
769
static PyObject *
770
770
string_to_pyfloat (char * in , int hasnull )
771
771
{
772
- const ss * s = (ss * )in ;
773
- if (ss_isnull (s )) {
772
+ const npy_static_string * s = (npy_static_string * )in ;
773
+ if (npy_string_isnull (s )) {
774
774
if (hasnull ) {
775
775
PyErr_SetString (PyExc_ValueError ,
776
776
"Arrays with missing data cannot be converted to "
@@ -975,7 +975,7 @@ string_to_datetime(PyArrayMethod_Context *context, char *const data[],
975
975
StringDTypeObject * descr = (StringDTypeObject * )context -> descriptors [0 ];
976
976
int has_null = descr -> na_object != NULL ;
977
977
int has_string_na = descr -> has_string_na ;
978
- ss default_string = descr -> default_string ;
978
+ npy_static_string default_string = descr -> default_string ;
979
979
980
980
npy_intp N = dimensions [0 ];
981
981
char * in = data [0 ];
@@ -984,7 +984,7 @@ string_to_datetime(PyArrayMethod_Context *context, char *const data[],
984
984
npy_intp in_stride = strides [0 ];
985
985
npy_intp out_stride = strides [1 ] / sizeof (npy_datetime );
986
986
987
- const ss * s = NULL ;
987
+ const npy_static_string * s = NULL ;
988
988
npy_datetimestruct dts ;
989
989
NPY_DATETIMEUNIT in_unit = -1 ;
990
990
PyArray_DatetimeMetaData in_meta = {0 , 1 };
@@ -995,8 +995,8 @@ string_to_datetime(PyArrayMethod_Context *context, char *const data[],
995
995
& (((PyArray_DatetimeDTypeMetaData * )dt_descr -> c_metadata )-> meta );
996
996
997
997
while (N -- ) {
998
- s = (ss * )in ;
999
- if (ss_isnull (s )) {
998
+ s = (npy_static_string * )in ;
999
+ if (npy_string_isnull (s )) {
1000
1000
if (has_null && !has_string_na ) {
1001
1001
* out = NPY_DATETIME_NAT ;
1002
1002
goto next_step ;
@@ -1051,8 +1051,8 @@ datetime_to_string(PyArrayMethod_Context *context, char *const data[],
1051
1051
char datetime_buf [NPY_DATETIME_MAX_ISO8601_STRLEN ];
1052
1052
1053
1053
while (N -- ) {
1054
- ss * out_ss = (ss * )out ;
1055
- ssfree (out_ss );
1054
+ npy_static_string * out_ss = (npy_static_string * )out ;
1055
+ npy_string_free (out_ss );
1056
1056
if (* in == NPY_DATETIME_NAT ) {
1057
1057
/* convert to NA */
1058
1058
out_ss = NULL ;
@@ -1072,8 +1072,9 @@ datetime_to_string(PyArrayMethod_Context *context, char *const data[],
1072
1072
return -1 ;
1073
1073
}
1074
1074
1075
- if (ssnewlen (datetime_buf , strlen (datetime_buf ), out_ss ) < 0 ) {
1076
- PyErr_SetString (PyExc_MemoryError , "ssnewlen failed" );
1075
+ if (npy_string_newlen (datetime_buf , strlen (datetime_buf ), out_ss ) <
1076
+ 0 ) {
1077
+ PyErr_SetString (PyExc_MemoryError , "npy_string_newlen failed" );
1077
1078
return -1 ;
1078
1079
}
1079
1080
}
0 commit comments