Skip to content

Commit 82a0759

Browse files
author
Irwin Zaid
committed
Updates to match libdynd
1 parent 189a098 commit 82a0759

5 files changed

Lines changed: 53 additions & 46 deletions

File tree

dynd/include/kernels/apply_jit_kernel.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace pydynd {
1111
namespace nd {
1212
namespace functional {
1313

14-
struct apply_jit_kernel : dynd::nd::base_kernel<apply_jit_kernel> {
14+
struct apply_jit_kernel : dynd::nd::base_strided_kernel<apply_jit_kernel> {
1515
typedef void (*func_type)(char *dst, char *const *src);
1616

1717
intptr_t nsrc;

dynd/include/kernels/apply_pyobject_kernel.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
#include "type_functions.hpp"
77
#include "types/pyobject_type.hpp"
88

9-
struct apply_pyobject_kernel : dynd::nd::base_kernel<apply_pyobject_kernel> {
9+
struct apply_pyobject_kernel
10+
: dynd::nd::base_strided_kernel<apply_pyobject_kernel> {
1011
struct static_data_type {
1112
PyObject *func;
1213

dynd/include/kernels/assign_from_pyobject_kernel.hpp

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ struct assign_from_pyobject_kernel;
6161

6262
template <>
6363
struct assign_from_pyobject_kernel<bool_id, bool_kind_id>
64-
: nd::base_kernel<assign_from_pyobject_kernel<bool_id, bool_kind_id>, 1> {
64+
: nd::base_strided_kernel<
65+
assign_from_pyobject_kernel<bool_id, bool_kind_id>, 1> {
6566
void single(char *dst, char *const *src)
6667
{
6768
PyObject *src_obj = *reinterpret_cast<PyObject **>(src[0]);
@@ -236,8 +237,8 @@ void pyint_to_int(dynd::uint128 *out, PyObject *obj)
236237

237238
template <type_id_t DstTypeID>
238239
struct assign_from_pyobject_kernel<DstTypeID, int_kind_id>
239-
: dynd::nd::base_kernel<assign_from_pyobject_kernel<DstTypeID, int_kind_id>,
240-
1> {
240+
: dynd::nd::base_strided_kernel<
241+
assign_from_pyobject_kernel<DstTypeID, int_kind_id>, 1> {
241242
typedef typename type_of<DstTypeID>::type T;
242243

243244
void single(char *dst, char *const *src)
@@ -275,7 +276,7 @@ struct assign_from_pyobject_kernel<DstTypeID, int_kind_id>
275276

276277
template <type_id_t DstTypeID>
277278
struct assign_from_pyobject_kernel<DstTypeID, uint_kind_id>
278-
: dynd::nd::base_kernel<
279+
: dynd::nd::base_strided_kernel<
279280
assign_from_pyobject_kernel<DstTypeID, uint_kind_id>, 1> {
280281
typedef typename type_of<DstTypeID>::type T;
281282

@@ -298,8 +299,8 @@ struct assign_from_pyobject_kernel<DstTypeID, uint_kind_id>
298299

299300
template <type_id_t DstTypeID>
300301
struct assign_from_pyobject_kernel<DstTypeID, float_kind_id>
301-
: nd::base_kernel<assign_from_pyobject_kernel<DstTypeID, float_kind_id>,
302-
1> {
302+
: nd::base_strided_kernel<
303+
assign_from_pyobject_kernel<DstTypeID, float_kind_id>, 1> {
303304
typedef typename type_of<DstTypeID>::type T;
304305

305306
void single(char *dst, char *const *src)
@@ -321,8 +322,8 @@ struct assign_from_pyobject_kernel<DstTypeID, float_kind_id>
321322

322323
template <type_id_t DstTypeID>
323324
struct assign_from_pyobject_kernel<DstTypeID, complex_kind_id>
324-
: nd::base_kernel<assign_from_pyobject_kernel<DstTypeID, complex_kind_id>,
325-
1> {
325+
: nd::base_strided_kernel<
326+
assign_from_pyobject_kernel<DstTypeID, complex_kind_id>, 1> {
326327
typedef typename type_of<DstTypeID>::type U;
327328
typedef typename U::value_type T;
328329

@@ -346,7 +347,8 @@ struct assign_from_pyobject_kernel<DstTypeID, complex_kind_id>
346347

347348
template <>
348349
struct assign_from_pyobject_kernel<bytes_id, bytes_kind_id>
349-
: nd::base_kernel<assign_from_pyobject_kernel<bytes_id, bytes_kind_id>, 1> {
350+
: nd::base_strided_kernel<
351+
assign_from_pyobject_kernel<bytes_id, bytes_kind_id>, 1> {
350352
ndt::type dst_tp;
351353
const char *dst_arrmeta;
352354

@@ -405,8 +407,8 @@ struct assign_from_pyobject_kernel<fixed_bytes_id, bytes_kind_id>
405407

406408
template <>
407409
struct assign_from_pyobject_kernel<string_id, string_kind_id>
408-
: nd::base_kernel<assign_from_pyobject_kernel<string_id, string_kind_id>,
409-
1> {
410+
: nd::base_strided_kernel<
411+
assign_from_pyobject_kernel<string_id, string_kind_id>, 1> {
410412
ndt::type dst_tp;
411413
const char *dst_arrmeta;
412414

@@ -486,7 +488,7 @@ struct assign_from_pyobject_kernel<fixed_string_id, string_kind_id>
486488

487489
template <>
488490
struct assign_from_pyobject_kernel<type_id, scalar_kind_id>
489-
: dynd::nd::base_kernel<
491+
: dynd::nd::base_strided_kernel<
490492
assign_from_pyobject_kernel<type_id, scalar_kind_id>, 1> {
491493
void single(char *dst, char *const *src)
492494
{
@@ -498,7 +500,8 @@ struct assign_from_pyobject_kernel<type_id, scalar_kind_id>
498500

499501
template <>
500502
struct assign_from_pyobject_kernel<option_id, any_kind_id>
501-
: nd::base_kernel<assign_from_pyobject_kernel<option_id, any_kind_id>, 1> {
503+
: nd::base_strided_kernel<
504+
assign_from_pyobject_kernel<option_id, any_kind_id>, 1> {
502505
dynd::ndt::type dst_tp;
503506
const char *dst_arrmeta;
504507
intptr_t copy_value_offset;
@@ -602,7 +605,7 @@ struct assign_from_pyobject_kernel<option_id, any_kind_id>
602605
// TODO: Should make a more efficient strided kernel function
603606
template <>
604607
struct assign_from_pyobject_kernel<tuple_id, scalar_kind_id>
605-
: dynd::nd::base_kernel<
608+
: dynd::nd::base_strided_kernel<
606609
assign_from_pyobject_kernel<tuple_id, scalar_kind_id>, 1> {
607610
dynd::ndt::type m_dst_tp;
608611
const char *m_dst_arrmeta;
@@ -723,8 +726,8 @@ struct assign_from_pyobject_kernel<tuple_id, scalar_kind_id>
723726
// TODO: Should make a more efficient strided kernel function
724727
template <>
725728
struct assign_from_pyobject_kernel<struct_id, tuple_id>
726-
: dynd::nd::base_kernel<assign_from_pyobject_kernel<struct_id, tuple_id>,
727-
1> {
729+
: dynd::nd::base_strided_kernel<
730+
assign_from_pyobject_kernel<struct_id, tuple_id>, 1> {
728731
dynd::ndt::type m_dst_tp;
729732
const char *m_dst_arrmeta;
730733
bool m_dim_broadcast;
@@ -891,7 +894,7 @@ struct assign_from_pyobject_kernel<struct_id, tuple_id>
891894
// as part of the ckernel instead of dynamically
892895
template <>
893896
struct assign_from_pyobject_kernel<fixed_dim_id, dim_kind_id>
894-
: dynd::nd::base_kernel<
897+
: dynd::nd::base_strided_kernel<
895898
assign_from_pyobject_kernel<fixed_dim_id, dim_kind_id>, 1> {
896899
intptr_t m_dim_size, m_stride;
897900
dynd::ndt::type m_dst_tp;
@@ -1011,7 +1014,7 @@ struct assign_from_pyobject_kernel<fixed_dim_id, dim_kind_id>
10111014

10121015
template <>
10131016
struct assign_from_pyobject_kernel<var_dim_id, dim_kind_id>
1014-
: dynd::nd::base_kernel<
1017+
: dynd::nd::base_strided_kernel<
10151018
assign_from_pyobject_kernel<var_dim_id, dim_kind_id>, 1> {
10161019
intptr_t m_offset, m_stride;
10171020
dynd::ndt::type m_dst_tp;

dynd/include/kernels/assign_to_pyobject_kernel.hpp

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ struct assign_to_pyobject_kernel;
1616

1717
template <>
1818
struct 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

122123
template <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

183185
template <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

209212
template <class T>
210213
struct 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

233236
template <>
234237
struct 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

247250
template <>
248251
struct 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

279282
template <>
280283
struct 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

292295
struct 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

305308
struct 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

317320
struct 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

330333
struct 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

343346
template <>
344347
struct 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

383386
struct 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

413416
struct 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

443446
struct 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

475478
struct 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

507510
template <>
508511
struct 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
548551
template <>
549552
struct 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

610613
template <>
611614
struct 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
625628
template <>
626629
struct 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
707710
template <>
708711
struct 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

795798
template <>
796799
struct 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

853856
template <>
854857
struct 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

dynd/include/kernels/numpy_ufunc.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace nd {
2727

2828
template <>
2929
struct scalar_ufunc_ck<false>
30-
: dynd::nd::base_kernel<scalar_ufunc_ck<false>, 1> {
30+
: dynd::nd::base_strided_kernel<scalar_ufunc_ck<false>, 1> {
3131
typedef scalar_ufunc_ck self_type;
3232

3333
const scalar_ufunc_data *data;
@@ -86,7 +86,7 @@ namespace nd {
8686

8787
template <>
8888
struct scalar_ufunc_ck<true>
89-
: dynd::nd::base_kernel<scalar_ufunc_ck<true>, 1> {
89+
: dynd::nd::base_strided_kernel<scalar_ufunc_ck<true>, 1> {
9090
typedef scalar_ufunc_ck self_type;
9191

9292
const scalar_ufunc_data *data;

0 commit comments

Comments
 (0)