66namespace pydynd {
77namespace nd {
88
9- template <type_id_t Arg0ID >
9+ template <typename Arg0Type >
1010 class assign_to_pyobject_callable
11- : public dynd::nd::default_instantiable_callable<assign_to_pyobject_kernel<Arg0ID >> {
11+ : public dynd::nd::default_instantiable_callable<assign_to_pyobject_kernel<Arg0Type >> {
1212 public:
1313 assign_to_pyobject_callable ()
14- : dynd::nd::default_instantiable_callable<assign_to_pyobject_kernel<Arg0ID >>(
14+ : dynd::nd::default_instantiable_callable<assign_to_pyobject_kernel<Arg0Type >>(
1515 dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
16- {dynd::ndt::type (Arg0ID )}))
16+ {dynd::ndt::make_type<Arg0Type>( )}))
1717 {
1818 }
1919 };
2020
2121 template <>
22- class assign_to_pyobject_callable <fixed_bytes_id > : public dynd::nd::base_callable {
22+ class assign_to_pyobject_callable <ndt::fixed_bytes_type > : public dynd::nd::base_callable {
2323 public:
2424 assign_to_pyobject_callable ()
25- : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
26- {dynd::ndt::type (fixed_bytes_id )}))
25+ : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(
26+ dynd::ndt::make_type<pyobject_type>(), {dynd::ndt::make_type<ndt::fixed_bytes_kind_type>( )}))
2727 {
2828 }
2929
@@ -52,11 +52,11 @@ namespace nd {
5252 };
5353
5454 template <>
55- class assign_to_pyobject_callable <string_id > : public dynd::nd::base_callable {
55+ class assign_to_pyobject_callable <string > : public dynd::nd::base_callable {
5656 public:
5757 assign_to_pyobject_callable ()
5858 : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
59- {dynd::ndt::type (string_id )}))
59+ {dynd::ndt::make_type<string>( )}))
6060 {
6161 }
6262
@@ -68,28 +68,24 @@ namespace nd {
6868 switch (src_tp[0 ].extended <dynd::ndt::base_string_type>()->get_encoding ()) {
6969 case dynd::string_encoding_ascii:
7070 cg.emplace_back ([](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
71- const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
72- kb.emplace_back <::detail::string_ascii_assign_kernel>(kernreq);
73- });
71+ const char *dst_arrmeta, size_t nsrc,
72+ const char *const *src_arrmeta) { kb.emplace_back <string_ascii_assign_kernel>(kernreq); });
7473 break ;
7574 case dynd::string_encoding_utf_8:
7675 cg.emplace_back ([](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
77- const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
78- kb.emplace_back <::detail::string_utf8_assign_kernel>(kernreq);
79- });
76+ const char *dst_arrmeta, size_t nsrc,
77+ const char *const *src_arrmeta) { kb.emplace_back <string_utf8_assign_kernel>(kernreq); });
8078 break ;
8179 case dynd::string_encoding_ucs_2:
8280 case dynd::string_encoding_utf_16:
8381 cg.emplace_back ([](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
84- const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
85- kb.emplace_back <::detail::string_utf16_assign_kernel>(kernreq);
86- });
82+ const char *dst_arrmeta, size_t nsrc,
83+ const char *const *src_arrmeta) { kb.emplace_back <string_utf16_assign_kernel>(kernreq); });
8784 break ;
8885 case dynd::string_encoding_utf_32:
8986 cg.emplace_back ([](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
90- const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
91- kb.emplace_back <::detail::string_utf32_assign_kernel>(kernreq);
92- });
87+ const char *dst_arrmeta, size_t nsrc,
88+ const char *const *src_arrmeta) { kb.emplace_back <string_utf32_assign_kernel>(kernreq); });
9389 break ;
9490 default :
9591 throw std::runtime_error (" no string_assign_kernel" );
@@ -100,11 +96,11 @@ namespace nd {
10096 };
10197
10298 template <>
103- class assign_to_pyobject_callable <fixed_string_id > : public dynd::nd::base_callable {
99+ class assign_to_pyobject_callable <ndt::fixed_string_type > : public dynd::nd::base_callable {
104100 public:
105101 assign_to_pyobject_callable ()
106- : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
107- {dynd::ndt::type (fixed_string_id )}))
102+ : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(
103+ dynd::ndt::make_type<pyobject_type>(), {dynd::ndt::make_type<ndt::fixed_string_kind_type>( )}))
108104 {
109105 }
110106
@@ -119,29 +115,29 @@ namespace nd {
119115 cg.emplace_back ([src0_data_size](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq,
120116 char *DYND_UNUSED (data), const char *DYND_UNUSED (dst_arrmeta),
121117 size_t DYND_UNUSED (nsrc), const char *const *DYND_UNUSED (src_arrmeta)) {
122- kb.emplace_back <::detail:: fixed_string_ascii_assign_kernel>(kernreq, src0_data_size);
118+ kb.emplace_back <fixed_string_ascii_assign_kernel>(kernreq, src0_data_size);
123119 });
124120 break ;
125121 case dynd::string_encoding_utf_8:
126122 cg.emplace_back ([src0_data_size](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq,
127123 char *DYND_UNUSED (data), const char *DYND_UNUSED (dst_arrmeta),
128124 size_t DYND_UNUSED (nsrc), const char *const *DYND_UNUSED (src_arrmeta)) {
129- kb.emplace_back <::detail:: fixed_string_utf8_assign_kernel>(kernreq, src0_data_size);
125+ kb.emplace_back <fixed_string_utf8_assign_kernel>(kernreq, src0_data_size);
130126 });
131127 break ;
132128 case dynd::string_encoding_ucs_2:
133129 case dynd::string_encoding_utf_16:
134130 cg.emplace_back ([src0_data_size](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq,
135131 char *DYND_UNUSED (data), const char *DYND_UNUSED (dst_arrmeta),
136132 size_t DYND_UNUSED (nsrc), const char *const *DYND_UNUSED (src_arrmeta)) {
137- kb.emplace_back <::detail:: fixed_string_utf16_assign_kernel>(kernreq, src0_data_size);
133+ kb.emplace_back <fixed_string_utf16_assign_kernel>(kernreq, src0_data_size);
138134 });
139135 break ;
140136 case dynd::string_encoding_utf_32:
141137 cg.emplace_back ([src0_data_size](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq,
142138 char *DYND_UNUSED (data), const char *DYND_UNUSED (dst_arrmeta),
143139 size_t DYND_UNUSED (nsrc), const char *const *DYND_UNUSED (src_arrmeta)) {
144- kb.emplace_back <::detail:: fixed_string_utf32_assign_kernel>(kernreq, src0_data_size);
140+ kb.emplace_back <fixed_string_utf32_assign_kernel>(kernreq, src0_data_size);
145141 });
146142 break ;
147143 default :
@@ -153,11 +149,12 @@ namespace nd {
153149 };
154150
155151 template <>
156- class assign_to_pyobject_callable <option_id > : public dynd::nd::base_callable {
152+ class assign_to_pyobject_callable <ndt::option_type > : public dynd::nd::base_callable {
157153 public:
158154 assign_to_pyobject_callable ()
159- : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
160- {dynd::ndt::type (option_id)}))
155+ : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(
156+ dynd::ndt::make_type<pyobject_type>(),
157+ {dynd::ndt::make_type<ndt::option_type>(ndt::make_type<ndt::any_kind_type>())}))
161158 {
162159 }
163160
@@ -170,13 +167,13 @@ namespace nd {
170167 cg.emplace_back ([](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
171168 const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
172169 intptr_t root_ckb_offset = kb.size ();
173- kb.emplace_back <assign_to_pyobject_kernel<option_id >>(kernreq);
170+ kb.emplace_back <assign_to_pyobject_kernel<ndt::option_type >>(kernreq);
174171
175- assign_to_pyobject_kernel<option_id > *self_ck =
176- kb.get_at <assign_to_pyobject_kernel<option_id >>(root_ckb_offset);
172+ assign_to_pyobject_kernel<ndt::option_type > *self_ck =
173+ kb.get_at <assign_to_pyobject_kernel<ndt::option_type >>(root_ckb_offset);
177174 kb (dynd::kernel_request_single, nullptr , nullptr , nsrc, src_arrmeta);
178175
179- self_ck = kb.get_at <assign_to_pyobject_kernel<option_id >>(root_ckb_offset);
176+ self_ck = kb.get_at <assign_to_pyobject_kernel<ndt::option_type >>(root_ckb_offset);
180177 self_ck->m_assign_value_offset = kb.size () - root_ckb_offset;
181178
182179 kb (dynd::kernel_request_single, nullptr , dst_arrmeta, nsrc, src_arrmeta);
@@ -212,11 +209,11 @@ namespace nd {
212209 };
213210
214211 template <>
215- class assign_to_pyobject_callable <tuple_id > : public dynd::nd::base_callable {
212+ class assign_to_pyobject_callable <ndt::tuple_type > : public dynd::nd::base_callable {
216213 public:
217214 assign_to_pyobject_callable ()
218- : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
219- {dynd::ndt::type (tuple_id )}))
215+ : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(
216+ dynd::ndt::make_type<pyobject_type>(), {dynd::ndt::make_type<ndt::tuple_type>( )}))
220217 {
221218 }
222219
@@ -260,11 +257,11 @@ namespace nd {
260257 };
261258
262259 template <>
263- class assign_to_pyobject_callable <struct_id > : public dynd::nd::base_callable {
260+ class assign_to_pyobject_callable <ndt::struct_type > : public dynd::nd::base_callable {
264261 public:
265262 assign_to_pyobject_callable ()
266- : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
267- {dynd::ndt::type (struct_id )}))
263+ : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(
264+ dynd::ndt::make_type<pyobject_type>(), {dynd::ndt::make_type<ndt::struct_type>( )}))
268265 {
269266 }
270267
@@ -284,10 +281,10 @@ namespace nd {
284281 const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
285282 intptr_t ckb_offset = kb.size ();
286283 intptr_t root_ckb_offset = ckb_offset;
287- kb.emplace_back <assign_to_pyobject_kernel<struct_id >>(kernreq);
284+ kb.emplace_back <assign_to_pyobject_kernel<ndt::struct_type >>(kernreq);
288285
289- assign_to_pyobject_kernel<struct_id > *self_ck =
290- kb.get_at <assign_to_pyobject_kernel<struct_id >>(root_ckb_offset);
286+ assign_to_pyobject_kernel<ndt::struct_type > *self_ck =
287+ kb.get_at <assign_to_pyobject_kernel<ndt::struct_type >>(root_ckb_offset);
291288
292289 ckb_offset = kb.size ();
293290 self_ck->m_src_tp = src0_tp;
@@ -302,7 +299,7 @@ namespace nd {
302299
303300 for (intptr_t i = 0 ; i < field_count; ++i) {
304301 kb.reserve (ckb_offset);
305- self_ck = kb.get_at <assign_to_pyobject_kernel<struct_id >>(root_ckb_offset);
302+ self_ck = kb.get_at <assign_to_pyobject_kernel<ndt::struct_type >>(root_ckb_offset);
306303 self_ck->m_copy_el_offsets [i] = ckb_offset - root_ckb_offset;
307304 const char *field_arrmeta = src_arrmeta[0 ] + arrmeta_offsets[i];
308305 kb (dynd::kernel_request_single, nullptr , dst_arrmeta, nsrc, &field_arrmeta);
@@ -357,11 +354,11 @@ namespace nd {
357354 };
358355
359356 template <>
360- class assign_to_pyobject_callable <fixed_dim_id > : public dynd::nd::base_callable {
357+ class assign_to_pyobject_callable <ndt::fixed_dim_type > : public dynd::nd::base_callable {
361358 public:
362359 assign_to_pyobject_callable ()
363360 : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
364- {dynd::ndt::type (fixed_dim_id )}))
361+ {dynd::ndt::type (" Fixed * Any " )}))
365362 {
366363 }
367364
@@ -372,7 +369,7 @@ namespace nd {
372369 cg.emplace_back ([](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
373370 const char *dst_arrmeta, size_t DYND_UNUSED (nsrc), const char *const *src_arrmeta) {
374371 const char *src_element_arrmeta[1 ] = {src_arrmeta[0 ] + sizeof (size_stride_t )};
375- kb.emplace_back <assign_to_pyobject_kernel<fixed_dim_id >>(
372+ kb.emplace_back <assign_to_pyobject_kernel<ndt::fixed_dim_type >>(
376373 kernreq, reinterpret_cast <const size_stride_t *>(src_arrmeta[0 ])->dim_size ,
377374 reinterpret_cast <const size_stride_t *>(src_arrmeta[0 ])->stride );
378375
@@ -410,11 +407,12 @@ namespace nd {
410407 };
411408
412409 template <>
413- class assign_to_pyobject_callable <var_dim_id > : public dynd::nd::base_callable {
410+ class assign_to_pyobject_callable <ndt::var_dim_type > : public dynd::nd::base_callable {
414411 public:
415412 assign_to_pyobject_callable ()
416- : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(dynd::ndt::make_type<pyobject_type>(),
417- {dynd::ndt::type (var_dim_id)}))
413+ : dynd::nd::base_callable(dynd::ndt::make_type<dynd::ndt::callable_type>(
414+ dynd::ndt::make_type<pyobject_type>(),
415+ {dynd::ndt::make_type<ndt::var_dim_type>(ndt::make_type<ndt::any_kind_type>())}))
418416 {
419417 }
420418
@@ -426,7 +424,7 @@ namespace nd {
426424 cg.emplace_back ([el_tp](dynd::nd::kernel_builder &kb, dynd::kernel_request_t kernreq, char *DYND_UNUSED (data),
427425 const char *dst_arrmeta, size_t nsrc, const char *const *src_arrmeta) {
428426 intptr_t ckb_offset = kb.size ();
429- kb.emplace_back <assign_to_pyobject_kernel<var_dim_id >>(
427+ kb.emplace_back <assign_to_pyobject_kernel<ndt::var_dim_type >>(
430428 kernreq, reinterpret_cast <const dynd::ndt::var_dim_type::metadata_type *>(src_arrmeta[0 ])->offset ,
431429 reinterpret_cast <const dynd::ndt::var_dim_type::metadata_type *>(src_arrmeta[0 ])->stride );
432430
0 commit comments