@@ -62,46 +62,11 @@ ascii_to_ascii_contiguous(PyArrayMethod_Context *context, char *const data[],
6262}
6363
6464static int
65- ascii_to_ascii_strided (PyArrayMethod_Context * context , char * const data [],
66- npy_intp const dimensions [], npy_intp const strides [],
67- NpyAuxData * NPY_UNUSED (auxdata ))
68- {
69- PyArray_Descr * * descrs = context -> descriptors ;
70- long in_size = ((ASCIIDTypeObject * )descrs [0 ])-> size ;
71- long out_size = ((ASCIIDTypeObject * )descrs [1 ])-> size ;
72- long copy_size ;
73-
74- if (out_size > in_size ) {
75- copy_size = in_size ;
76- }
77- else {
78- copy_size = out_size ;
79- }
80-
81- npy_intp N = dimensions [0 ];
82- char * in = data [0 ];
83- char * out = data [1 ];
84- npy_intp in_stride = strides [0 ];
85- npy_intp out_stride = strides [1 ];
86-
87- while (N -- ) {
88- for (int i = 0 ; i < copy_size ; i ++ ) {
89- * (out + i ) = * (in + i );
90- }
91- for (int i = copy_size ; i < out_size ; i ++ ) {
92- * (out + i ) = '\0' ;
93- }
94- in += in_stride ;
95- out += out_stride ;
96- }
97-
98- return 0 ;
99- }
100-
101- static int
102- ascii_to_ascii_unaligned (PyArrayMethod_Context * context , char * const data [],
103- npy_intp const dimensions [], npy_intp const strides [],
104- NpyAuxData * NPY_UNUSED (auxdata ))
65+ ascii_to_ascii_strided_or_unaligned (PyArrayMethod_Context * context ,
66+ char * const data [],
67+ npy_intp const dimensions [],
68+ npy_intp const strides [],
69+ NpyAuxData * NPY_UNUSED (auxdata ))
10570{
10671 PyArray_Descr * * descrs = context -> descriptors ;
10772 long in_size = ((ASCIIDTypeObject * )descrs [0 ])-> size ;
@@ -151,11 +116,9 @@ ascii_to_ascii_get_loop(PyArrayMethod_Context *context, int aligned,
151116 if (aligned && contig ) {
152117 * out_loop = (PyArrayMethod_StridedLoop * )& ascii_to_ascii_contiguous ;
153118 }
154- else if (aligned ) {
155- * out_loop = (PyArrayMethod_StridedLoop * )& ascii_to_ascii_strided ;
156- }
157119 else {
158- * out_loop = (PyArrayMethod_StridedLoop * )& ascii_to_ascii_unaligned ;
120+ * out_loop = (PyArrayMethod_StridedLoop
121+ * )& ascii_to_ascii_strided_or_unaligned ;
159122 }
160123
161124 * flags = 0 ;
0 commit comments