@@ -16,7 +16,8 @@ struct assign_to_pyobject_kernel;
1616
1717template <>
1818struct assign_to_pyobject_kernel <bool_id, bool_kind_id>
19- : nd::base_kernel<assign_to_pyobject_kernel<bool_id, bool_kind_id>, 1 > {
19+ : nd::base_strided_kernel<assign_to_pyobject_kernel<bool_id, bool_kind_id>,
20+ 1 > {
2021 void single (char *dst, char *const *src)
2122 {
2223 Py_XDECREF (*reinterpret_cast <PyObject **>(dst));
@@ -120,7 +121,8 @@ PyObject *pyint_from_int(const dynd::int128 &val)
120121}
121122
122123template <typename T>
123- struct assign_int_kernel : dynd::nd::base_kernel<assign_int_kernel<T>, 1 > {
124+ struct assign_int_kernel
125+ : dynd::nd::base_strided_kernel<assign_int_kernel<T>, 1 > {
124126 void single (char *dst, char *const *src)
125127 {
126128 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -181,7 +183,8 @@ struct assign_to_pyobject_kernel<dynd::uint128_id, uint_kind_id>
181183};
182184
183185template <typename T>
184- struct float_assign_kernel : dynd::nd::base_kernel<float_assign_kernel<T>, 1 > {
186+ struct float_assign_kernel
187+ : dynd::nd::base_strided_kernel<float_assign_kernel<T>, 1 > {
185188 void single (char *dst, char *const *src)
186189 {
187190 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -208,7 +211,7 @@ struct assign_to_pyobject_kernel<dynd::float64_id, float_kind_id>
208211
209212template <class T >
210213struct complex_float_assign_kernel
211- : dynd::nd::base_kernel <complex_float_assign_kernel<T>, 1 > {
214+ : dynd::nd::base_strided_kernel <complex_float_assign_kernel<T>, 1 > {
212215 void single (char *dst, char *const *src)
213216 {
214217 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -232,7 +235,7 @@ struct assign_to_pyobject_kernel<dynd::complex_float64_id, complex_kind_id>
232235
233236template <>
234237struct assign_to_pyobject_kernel <dynd::bytes_id, bytes_kind_id>
235- : dynd::nd::base_kernel <
238+ : dynd::nd::base_strided_kernel <
236239 assign_to_pyobject_kernel<dynd::bytes_id, bytes_kind_id>, 1 > {
237240 void single (char *dst, char *const *src)
238241 {
@@ -246,7 +249,7 @@ struct assign_to_pyobject_kernel<dynd::bytes_id, bytes_kind_id>
246249
247250template <>
248251struct assign_to_pyobject_kernel <dynd::fixed_bytes_id, bytes_kind_id>
249- : dynd::nd::base_kernel <
252+ : dynd::nd::base_strided_kernel <
250253 assign_to_pyobject_kernel<dynd::fixed_bytes_id, bytes_kind_id>, 1 > {
251254 intptr_t data_size;
252255
@@ -278,7 +281,7 @@ struct assign_to_pyobject_kernel<dynd::fixed_bytes_id, bytes_kind_id>
278281
279282template <>
280283struct assign_to_pyobject_kernel <dynd::char_id, scalar_kind_id>
281- : dynd::nd::base_kernel <
284+ : dynd::nd::base_strided_kernel <
282285 assign_to_pyobject_kernel<dynd::char_id, scalar_kind_id>, 1 > {
283286 void single (char *dst, char *const *src)
284287 {
@@ -290,7 +293,7 @@ struct assign_to_pyobject_kernel<dynd::char_id, scalar_kind_id>
290293};
291294
292295struct string_ascii_assign_kernel
293- : dynd::nd::base_kernel <string_ascii_assign_kernel, 1 > {
296+ : dynd::nd::base_strided_kernel <string_ascii_assign_kernel, 1 > {
294297 void single (char *dst, char *const *src)
295298 {
296299 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -303,7 +306,7 @@ struct string_ascii_assign_kernel
303306};
304307
305308struct string_utf8_assign_kernel
306- : dynd::nd::base_kernel <string_utf8_assign_kernel, 1 > {
309+ : dynd::nd::base_strided_kernel <string_utf8_assign_kernel, 1 > {
307310 void single (char *dst, char *const *src)
308311 {
309312 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -315,7 +318,7 @@ struct string_utf8_assign_kernel
315318};
316319
317320struct string_utf16_assign_kernel
318- : dynd::nd::base_kernel <string_utf16_assign_kernel, 1 > {
321+ : dynd::nd::base_strided_kernel <string_utf16_assign_kernel, 1 > {
319322 void single (char *dst, char *const *src)
320323 {
321324 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -328,7 +331,7 @@ struct string_utf16_assign_kernel
328331};
329332
330333struct string_utf32_assign_kernel
331- : dynd::nd::base_kernel <string_utf32_assign_kernel, 1 > {
334+ : dynd::nd::base_strided_kernel <string_utf32_assign_kernel, 1 > {
332335 void single (char *dst, char *const *src)
333336 {
334337 PyObject **dst_obj = reinterpret_cast <PyObject **>(dst);
@@ -342,7 +345,7 @@ struct string_utf32_assign_kernel
342345
343346template <>
344347struct assign_to_pyobject_kernel <dynd::string_id, string_kind_id>
345- : dynd::nd::base_kernel <
348+ : dynd::nd::base_strided_kernel <
346349 assign_to_pyobject_kernel<dynd::string_id, string_kind_id>> {
347350 static void
348351 instantiate (char *static_data, char *data, dynd::nd::kernel_builder *ckb,
@@ -381,7 +384,7 @@ struct assign_to_pyobject_kernel<dynd::string_id, string_kind_id>
381384};
382385
383386struct fixed_string_ascii_assign_kernel
384- : dynd::nd::base_kernel <fixed_string_ascii_assign_kernel, 1 > {
387+ : dynd::nd::base_strided_kernel <fixed_string_ascii_assign_kernel, 1 > {
385388 intptr_t data_size;
386389
387390 fixed_string_ascii_assign_kernel (intptr_t data_size) : data_size(data_size) {}
@@ -411,7 +414,7 @@ struct fixed_string_ascii_assign_kernel
411414};
412415
413416struct fixed_string_utf8_assign_kernel
414- : dynd::nd::base_kernel <fixed_string_utf8_assign_kernel, 1 > {
417+ : dynd::nd::base_strided_kernel <fixed_string_utf8_assign_kernel, 1 > {
415418 intptr_t data_size;
416419
417420 fixed_string_utf8_assign_kernel (intptr_t data_size) : data_size(data_size) {}
@@ -441,7 +444,7 @@ struct fixed_string_utf8_assign_kernel
441444};
442445
443446struct fixed_string_utf16_assign_kernel
444- : dynd::nd::base_kernel <fixed_string_utf16_assign_kernel, 1 > {
447+ : dynd::nd::base_strided_kernel <fixed_string_utf16_assign_kernel, 1 > {
445448 intptr_t data_size;
446449
447450 fixed_string_utf16_assign_kernel (intptr_t data_size) : data_size(data_size) {}
@@ -473,7 +476,7 @@ struct fixed_string_utf16_assign_kernel
473476};
474477
475478struct fixed_string_utf32_assign_kernel
476- : dynd::nd::base_kernel <fixed_string_utf32_assign_kernel, 1 > {
479+ : dynd::nd::base_strided_kernel <fixed_string_utf32_assign_kernel, 1 > {
477480 intptr_t data_size;
478481
479482 fixed_string_utf32_assign_kernel (intptr_t data_size) : data_size(data_size) {}
@@ -506,8 +509,8 @@ struct fixed_string_utf32_assign_kernel
506509
507510template <>
508511struct assign_to_pyobject_kernel <dynd::fixed_string_id, string_kind_id>
509- : dynd::nd::base_kernel <
510- assign_to_pyobject_kernel<dynd::fixed_string_id, string_kind_id>> {
512+ : dynd::nd::base_strided_kernel <
513+ assign_to_pyobject_kernel<dynd::fixed_string_id, string_kind_id>, 1 > {
511514 static void
512515 instantiate (char *static_data, char *data, dynd::nd::kernel_builder *ckb,
513516 const dynd::ndt::type &dst_tp, const char *dst_arrmeta,
@@ -547,7 +550,7 @@ struct assign_to_pyobject_kernel<dynd::fixed_string_id, string_kind_id>
547550// TODO: Should make a more efficient strided kernel function
548551template <>
549552struct assign_to_pyobject_kernel <dynd::option_id, any_kind_id>
550- : dynd::nd::base_kernel <
553+ : dynd::nd::base_strided_kernel <
551554 assign_to_pyobject_kernel<dynd::option_id, any_kind_id>, 1 > {
552555 intptr_t m_assign_value_offset;
553556
@@ -609,7 +612,7 @@ struct assign_to_pyobject_kernel<dynd::option_id, any_kind_id>
609612
610613template <>
611614struct assign_to_pyobject_kernel <dynd::type_id, scalar_kind_id>
612- : dynd::nd::base_kernel <
615+ : dynd::nd::base_strided_kernel <
613616 assign_to_pyobject_kernel<dynd::type_id, scalar_kind_id>, 1 > {
614617 void single (char *dst, char *const *src)
615618 {
@@ -624,7 +627,7 @@ struct assign_to_pyobject_kernel<dynd::type_id, scalar_kind_id>
624627// TODO: Should make a more efficient strided kernel function
625628template <>
626629struct assign_to_pyobject_kernel <dynd::tuple_id, scalar_kind_id>
627- : dynd::nd::base_kernel <
630+ : dynd::nd::base_strided_kernel <
628631 assign_to_pyobject_kernel<dynd::tuple_id, scalar_kind_id>, 1 > {
629632 dynd::ndt::type src_tp;
630633 const char *src_arrmeta;
@@ -706,7 +709,7 @@ struct assign_to_pyobject_kernel<dynd::tuple_id, scalar_kind_id>
706709// TODO: Should make a more efficient strided kernel function
707710template <>
708711struct assign_to_pyobject_kernel <dynd::struct_id, tuple_id>
709- : dynd::nd::base_kernel <
712+ : dynd::nd::base_strided_kernel <
710713 assign_to_pyobject_kernel<dynd::struct_id, tuple_id>, 1 > {
711714 dynd::ndt::type m_src_tp;
712715 const char *m_src_arrmeta;
@@ -794,7 +797,7 @@ struct assign_to_pyobject_kernel<dynd::struct_id, tuple_id>
794797
795798template <>
796799struct assign_to_pyobject_kernel <dynd::fixed_dim_id, dim_kind_id>
797- : dynd::nd::base_kernel <
800+ : dynd::nd::base_strided_kernel <
798801 assign_to_pyobject_kernel<dynd::fixed_dim_id, dim_kind_id>, 1 > {
799802 intptr_t dim_size, stride;
800803
@@ -852,7 +855,7 @@ struct assign_to_pyobject_kernel<dynd::fixed_dim_id, dim_kind_id>
852855
853856template <>
854857struct assign_to_pyobject_kernel <dynd::var_dim_id, dim_kind_id>
855- : dynd::nd::base_kernel <
858+ : dynd::nd::base_strided_kernel <
856859 assign_to_pyobject_kernel<dynd::var_dim_id, dim_kind_id>, 1 > {
857860 intptr_t offset, stride;
858861
0 commit comments