Awkward Array: include/awkward/kernel-dispatch.h Source File

Loading...
Searching...
No Matches
kernel-dispatch.h
Go to the documentation of this file.
1// BSD 3-Clause License; see https://github.com/scikit-hep/awkward-1.0/blob/main/LICENSE
2
3#ifndef AWKWARD_KERNEL_DISPATCH_H_
4#define AWKWARD_KERNEL_DISPATCH_H_
5
6#include "awkward/common.h"
7#include "awkward/util.h"
8#include "awkward/kernel-utils.h"
9#include "awkward/kernels.h"
10
11#include <sstream>
12
13#ifndef _MSC_VER
14 #include "dlfcn.h"
15#endif
16
17namespace awkward {
18 namespace kernel {
19
20 enum class lib {
21 cpu,
22 cuda,
23 size
24 };
25
26 class LibraryPathCallback {
27 public:
28 LibraryPathCallback() = default;
29 virtual std::string library_path() = 0;
30 };
31
32 class LibraryCallback {
33 public:
34 LibraryCallback();
35
36 void add_library_path_callback(
37 kernel::lib ptr_lib,
38 const std::shared_ptr<LibraryPathCallback> &callback);
39
40 std::string awkward_library_path(kernel::lib ptr_lib);
41
42 private:
43 std::map<kernel::lib, std::vector<std::shared_ptr<LibraryPathCallback>>> lib_path_callbacks;
44 std::mutex lib_path_callbacks_mutex;
45 };
46
47 extern std::shared_ptr<LibraryCallback> lib_callback;
48
52 void* acquire_handle(kernel::lib ptr_lib);
53
57 void* acquire_symbol(void* handle, const std::string& symbol_name);
58
73 template <typename T>
74 class LIBAWKWARD_EXPORT_SYMBOL array_deleter {
75 public:
78 void operator()(T const *ptr) {
79 awkward_free(reinterpret_cast<void const*>(ptr));
80 }
81 };
82
97 template <typename T>
98 class LIBAWKWARD_EXPORT_SYMBOL cuda_array_deleter {
99 public:
102 void operator()(T const *ptr) {
103 auto handle = acquire_handle(lib::cuda);
104 typedef decltype(awkward_free) functor_type;
105 auto* awkward_free_fcn = reinterpret_cast<functor_type*>(
106 acquire_symbol(handle, "awkward_free"));
107 (*awkward_free_fcn)(reinterpret_cast<void const*>(ptr));
108 }
109 };
110
125 template <typename T>
126 class LIBAWKWARD_EXPORT_SYMBOL no_deleter {
127 public:
130 void operator()(T const *ptr) { }
131 };
132
134 const int64_t
135 lib_device_num(
136 kernel::lib ptr_lib,
137 void* ptr);
138
141 const std::string lib_tostring(
142 kernel::lib ptr_lib,
143 void* ptr,
144 const std::string& indent,
145 const std::string& pre,
146 const std::string& post);
147
152 ERROR copy_to(
153 kernel::lib to_lib,
154 kernel::lib from_lib,
155 void* to_ptr,
156 void* from_ptr,
157 int64_t bytelength);
158
160 const std::string
161 fully_qualified_cache_key(
162 kernel::lib ptr_lib,
163 const std::string& cache_key);
164
170 template <typename T>
171 std::shared_ptr<T> malloc(
172 kernel::lib ptr_lib,
173 int64_t bytelength) {
174 if (ptr_lib == lib::cpu) {
175 return std::shared_ptr<T>(
176 reinterpret_cast<T*>(awkward_malloc(bytelength)),
177 kernel::array_deleter<T>());
178 }
179 else if (ptr_lib == lib::cuda) {
180 auto handle = acquire_handle(lib::cuda);
181 typedef decltype(awkward_malloc) functor_type;
182 auto* awkward_malloc_fcn = reinterpret_cast<functor_type*>(
183 acquire_symbol(handle, "awkward_malloc"));
184 return std::shared_ptr<T>(
185 reinterpret_cast<T*>((*awkward_malloc_fcn)(bytelength)),
186 kernel::cuda_array_deleter<T>());
187 }
188 else {
189 throw std::runtime_error(
190 std::string("unrecognized ptr_lib in ptr_alloc<bool>"));
191 }
192 }
193
194 template<class T>
195 using UniquePtrDeleter = decltype(kernel::array_deleter<T>());
196 template<class T>
197 using UniquePtr = std::unique_ptr<T, UniquePtrDeleter<T>>;
198
199 template <typename T>
200 UniquePtr<T> unique_malloc(
201 kernel::lib ptr_lib,
202 int64_t bytelength) {
203 if (ptr_lib == lib::cpu) {
204 return UniquePtr<T>(
205 reinterpret_cast<T*>(awkward_malloc(bytelength)),
206 kernel::array_deleter<T>());
207 }
208 else {
209 throw std::runtime_error(
210 std::string("unrecognized ptr_lib in ptr_alloc<bool>"));
211 }
212 }
213
215
217 template <typename T>
218 T NumpyArray_getitem_at0(
219 kernel::lib ptr_lib,
220 T* ptr);
221
222 // FIXME: move regularize_rangeslice to common.h; it's not a kernel.
223 void regularize_rangeslice(
224 int64_t* start,
225 int64_t* stop,
226 bool posstep,
227 bool hasstart,
228 bool hasstop,
229 int64_t length);
230
231 ERROR regularize_arrayslice_64(
232 kernel::lib ptr_lib,
233 int64_t* flatheadptr,
234 int64_t lenflathead,
235 int64_t length);
236
237 template <typename T>
238 ERROR Index_iscontiguous(
239 kernel::lib ptr_lib,
240 bool* result,
241 const T* fromindex,
242 int64_t length);
243
244 template <typename T>
245 ERROR Index_to_Index64(
246 kernel::lib ptr_lib,
247 int64_t* toptr,
248 const T* fromptr,
249 int64_t length);
250
251 template <typename T>
252 ERROR Index_carry_64(
253 kernel::lib ptr_lib,
254 T* toindex,
255 const T* fromindex,
256 const int64_t* carry,
257 int64_t lenfromindex,
258 int64_t length);
259
260 template <typename T>
261 ERROR Index_carry_nocheck_64(
262 kernel::lib ptr_lib,
263 T* toindex,
264 const T* fromindex,
265 const int64_t* carry,
266 int64_t length);
267
268 ERROR slicearray_ravel_64(
269 kernel::lib ptr_lib,
270 int64_t* toptr,
271 const int64_t* fromptr,
272 int64_t ndim,
273 const int64_t* shape,
274 const int64_t* strides);
275
276 ERROR slicemissing_check_same(
277 kernel::lib ptr_lib,
278 bool* same,
279 const int8_t* bytemask,
280 const int64_t* missingindex,
281 int64_t length);
282
283 template <typename T>
284 ERROR carry_arange(
285 kernel::lib ptr_lib,
286 T* toptr,
287 int64_t length);
288
289 template <typename ID>
290 ERROR Identities_getitem_carry_64(
291 kernel::lib ptr_lib,
292 ID* newidentitiesptr,
293 const ID* identitiesptr,
294 const int64_t* carryptr,
295 int64_t lencarry,
296 int64_t width,
297 int64_t length);
298
299 ERROR NumpyArray_contiguous_init_64(
300 kernel::lib ptr_lib,
301 int64_t* toptr,
302 int64_t skip,
303 int64_t stride);
304
305 ERROR NumpyArray_copy(
306 kernel::lib ptr_lib,
307 uint8_t* toptr,
308 const uint8_t* fromptr,
309 int64_t len);
310
311 ERROR NumpyArray_contiguous_copy_64(
312 kernel::lib ptr_lib,
313 uint8_t* toptr,
314 const uint8_t* fromptr,
315 int64_t len,
316 int64_t stride,
317 const int64_t* pos);
318
319 ERROR NumpyArray_contiguous_copy_from_many_64(
320 kernel::lib ptr_lib,
321 uint8_t* toptr,
322 const uint8_t** fromptrs,
323 int64_t* fromlens,
324 int64_t len,
325 int64_t stride,
326 const int64_t* pos);
327
328 ERROR NumpyArray_contiguous_next_64(
329 kernel::lib ptr_lib,
330 int64_t* topos,
331 const int64_t* frompos,
332 int64_t len,
333 int64_t skip,
334 int64_t stride);
335
336 ERROR NumpyArray_getitem_next_null_64(
337 kernel::lib ptr_lib,
338 uint8_t* toptr,
339 const uint8_t* fromptr,
340 int64_t len,
341 int64_t stride,
342 const int64_t* pos);
343
344 ERROR NumpyArray_getitem_next_at_64(
345 kernel::lib ptr_lib,
346 int64_t* nextcarryptr,
347 const int64_t* carryptr,
348 int64_t lencarry,
349 int64_t skip,
350 int64_t at);
351
352 ERROR NumpyArray_getitem_next_range_64(
353 kernel::lib ptr_lib,
354 int64_t* nextcarryptr,
355 const int64_t* carryptr,
356 int64_t lencarry,
357 int64_t lenhead,
358 int64_t skip,
359 int64_t start,
360 int64_t step);
361
362 ERROR NumpyArray_getitem_next_range_advanced_64(
363 kernel::lib ptr_lib,
364 int64_t* nextcarryptr,
365 int64_t* nextadvancedptr,
366 const int64_t* carryptr,
367 const int64_t* advancedptr,
368 int64_t lencarry,
369 int64_t lenhead,
370 int64_t skip,
371 int64_t start,
372 int64_t step);
373
374 ERROR NumpyArray_getitem_next_array_64(
375 kernel::lib ptr_lib,
376 int64_t* nextcarryptr,
377 int64_t* nextadvancedptr,
378 const int64_t* carryptr,
379 const int64_t* flatheadptr,
380 int64_t lencarry,
381 int64_t lenflathead,
382 int64_t skip);
383
384 ERROR NumpyArray_getitem_next_array_advanced_64(
385 kernel::lib ptr_lib,
386 int64_t* nextcarryptr,
387 const int64_t* carryptr,
388 const int64_t* advancedptr,
389 const int64_t* flatheadptr,
390 int64_t lencarry,
391 int64_t skip);
392
393 ERROR NumpyArray_getitem_boolean_numtrue(
394 kernel::lib ptr_lib,
395 int64_t* numtrue,
396 const int8_t* fromptr,
397 int64_t length,
398 int64_t stride);
399
400 ERROR NumpyArray_getitem_boolean_nonzero_64(
401 kernel::lib ptr_lib,
402 int64_t* toptr,
403 const int8_t* fromptr,
404 int64_t length,
405 int64_t stride);
406
407 template <typename T>
408 ERROR ListArray_getitem_next_at_64(
409 kernel::lib ptr_lib,
410 int64_t* tocarry,
411 const T* fromstarts,
412 const T* fromstops,
413 int64_t lenstarts,
414 int64_t at);
415
416
417 template <typename T>
418 ERROR ListArray_getitem_next_range_carrylength(
419 kernel::lib ptr_lib,
420 int64_t* carrylength,
421 const T* fromstarts,
422 const T* fromstops,
423 int64_t lenstarts,
424 int64_t start,
425 int64_t stop,
426 int64_t step);
427
428 template <typename T>
429 ERROR ListArray_getitem_next_range_64(
430 kernel::lib ptr_lib,
431 T* tooffsets,
432 int64_t* tocarry,
433 const T* fromstarts,
434 const T* fromstops,
435 int64_t lenstarts,
436 int64_t start,
437 int64_t stop,
438 int64_t step);
439
440
441 template <typename T>
442 ERROR ListArray_getitem_next_range_counts_64(
443 kernel::lib ptr_lib,
444 int64_t* total,
445 const T* fromoffsets,
446 int64_t lenstarts);
447
448
449 template <typename T>
450 ERROR ListArray_getitem_next_range_spreadadvanced_64(
451 kernel::lib ptr_lib,
452 int64_t* toadvanced,
453 const int64_t* fromadvanced,
454 const T* fromoffsets,
455 int64_t lenstarts);
456
457
458 template <typename T>
459 ERROR ListArray_getitem_next_array_64(
460 kernel::lib ptr_lib,
461 int64_t* tocarry,
462 int64_t* toadvanced,
463 const T* fromstarts,
464 const T* fromstops,
465 const int64_t* fromarray,
466 int64_t lenstarts,
467 int64_t lenarray,
468 int64_t lencontent);
469
470
471 template <typename T>
472 ERROR ListArray_getitem_next_array_advanced_64(
473 kernel::lib ptr_lib,
474 int64_t* tocarry,
475 int64_t* toadvanced,
476 const T* fromstarts,
477 const T* fromstops,
478 const int64_t* fromarray,
479 const int64_t* fromadvanced,
480 int64_t lenstarts,
481 int64_t lenarray,
482 int64_t lencontent);
483
484
485 template <typename T>
486 ERROR ListArray_getitem_carry_64(
487 kernel::lib ptr_lib,
488 T* tostarts,
489 T* tostops,
490 const T* fromstarts,
491 const T* fromstops,
492 const int64_t* fromcarry,
493 int64_t lenstarts,
494 int64_t lencarry);
495
496 ERROR RegularArray_getitem_next_at_64(
497 kernel::lib ptr_lib,
498 int64_t* tocarry,
499 int64_t at,
500 int64_t len,
501 int64_t size);
502
503 ERROR RegularArray_getitem_next_range_64(
504 kernel::lib ptr_lib,
505 int64_t* tocarry,
506 int64_t regular_start,
507 int64_t step,
508 int64_t len,
509 int64_t size,
510 int64_t nextsize);
511
512 ERROR RegularArray_getitem_next_range_spreadadvanced_64(
513 kernel::lib ptr_lib,
514 int64_t* toadvanced,
515 const int64_t* fromadvanced,
516 int64_t len,
517 int64_t nextsize);
518
519 ERROR RegularArray_getitem_next_array_regularize_64(
520 kernel::lib ptr_lib,
521 int64_t* toarray,
522 const int64_t* fromarray,
523 int64_t lenarray,
524 int64_t size);
525
526 ERROR RegularArray_getitem_next_array_64(
527 kernel::lib ptr_lib,
528 int64_t* tocarry,
529 int64_t* toadvanced,
530 const int64_t* fromarray,
531 int64_t len,
532 int64_t lenarray,
533 int64_t size);
534
535 ERROR RegularArray_getitem_next_array_advanced_64(
536 kernel::lib ptr_lib,
537 int64_t* tocarry,
538 int64_t* toadvanced,
539 const int64_t* fromadvanced,
540 const int64_t* fromarray,
541 int64_t len,
542 int64_t lenarray,
543 int64_t size);
544
545 ERROR RegularArray_getitem_carry_64(
546 kernel::lib ptr_lib,
547 int64_t* tocarry,
548 const int64_t* fromcarry,
549 int64_t lencarry,
550 int64_t size);
551
552 ERROR RegularArray_reduce_local_nextparents_64(
553 kernel::lib ptr_lib,
554 int64_t* nextparents,
555 int64_t size,
556 int64_t length);
557
558 ERROR RegularArray_reduce_nonlocal_preparenext_64(
559 kernel::lib ptr_lib,
560 int64_t* nextcarry,
561 int64_t* nextparents,
562 const int64_t* parents,
563 int64_t size,
564 int64_t length);
565
566 template <typename T>
567 ERROR IndexedArray_numnull(
568 kernel::lib ptr_lib,
569 int64_t* numnull,
570 const T* fromindex,
571 int64_t lenindex);
572
573 template <typename T>
574 ERROR IndexedArray_index_of_nulls(
575 kernel::lib ptr_lib,
576 int64_t* toindex,
577 const T* fromindex,
578 int64_t lenindex,
579 const int64_t* parents,
580 const int64_t* starts);
581
582 template <typename T>
583 ERROR IndexedArray_getitem_nextcarry_outindex_64(
584 kernel::lib ptr_lib,
585 int64_t* tocarry,
586 T* toindex,
587 const T* fromindex,
588 int64_t lenindex,
589 int64_t lencontent);
590
591 template <typename T>
592 ERROR IndexedArray_getitem_nextcarry_outindex_mask_64(
593 kernel::lib ptr_lib,
594 int64_t* tocarry,
595 int64_t* toindex,
596 const T* fromindex,
597 int64_t lenindex,
598 int64_t lencontent);
599
600 ERROR ListOffsetArray_getitem_adjust_offsets_64(
601 kernel::lib ptr_lib,
602 int64_t* tooffsets,
603 int64_t* tononzero,
604 const int64_t* fromoffsets,
605 int64_t length,
606 const int64_t* nonzero,
607 int64_t nonzerolength);
608
609 ERROR ListOffsetArray_getitem_adjust_offsets_index_64(
610 kernel::lib ptr_lib,
611 int64_t* tooffsets,
612 int64_t* tononzero,
613 const int64_t* fromoffsets,
614 int64_t length,
615 const int64_t* index,
616 int64_t indexlength,
617 const int64_t* nonzero,
618 int64_t nonzerolength,
619 const int8_t* originalmask,
620 int64_t masklength);
621
622 ERROR IndexedArray_getitem_adjust_outindex_64(
623 kernel::lib ptr_lib,
624 int8_t* tomask,
625 int64_t* toindex,
626 int64_t* tononzero,
627 const int64_t* fromindex,
628 int64_t fromindexlength,
629 const int64_t* nonzero,
630 int64_t nonzerolength);
631
632 template <typename T>
633 ERROR IndexedArray_getitem_nextcarry_64(
634 kernel::lib ptr_lib,
635 int64_t* tocarry,
636 const T* fromindex,
637 int64_t lenindex,
638 int64_t lencontent);
639
640
641 template <typename T>
642 ERROR IndexedArray_getitem_carry_64(
643 kernel::lib ptr_lib,
644 T* toindex,
645 const T* fromindex,
646 const int64_t* fromcarry,
647 int64_t lenindex,
648 int64_t lencarry);
649
650 template <typename T>
651 ERROR UnionArray_regular_index_getsize(
652 kernel::lib ptr_lib,
653 int64_t* size,
654 const T* fromtags,
655 int64_t length);
656
657 template <typename T, typename I>
658 ERROR UnionArray_regular_index(
659 kernel::lib ptr_lib,
660 I* toindex,
661 I* current,
662 int64_t size,
663 const T* fromtags,
664 int64_t length);
665
666 template <typename T, typename I>
667 ERROR UnionArray_project_64(
668 kernel::lib ptr_lib,
669 int64_t* lenout,
670 int64_t* tocarry,
671 const T* fromtags,
672 const I* fromindex,
673 int64_t length,
674 int64_t which);
675
676 ERROR missing_repeat_64(
677 kernel::lib ptr_lib,
678 int64_t* outindex,
679 const int64_t* index,
680 int64_t indexlength,
681 int64_t repetitions,
682 int64_t regularsize);
683
684 ERROR RegularArray_getitem_jagged_expand_64(
685 kernel::lib ptr_lib,
686 int64_t* multistarts,
687 int64_t * multistops,
688 const int64_t* singleoffsets,
689 int64_t regularsize,
690 int64_t regularlength);
691
692 template <typename T>
693 ERROR ListArray_getitem_jagged_expand_64(
694 kernel::lib ptr_lib,
695 int64_t* multistarts,
696 int64_t* multistops,
697 const int64_t* singleoffsets,
698 int64_t* tocarry,
699 const T* fromstarts,
700 const T* fromstops,
701 int64_t jaggedsize,
702 int64_t length);
703
704 ERROR ListArray_getitem_jagged_carrylen_64(
705 kernel::lib ptr_lib,
706 int64_t* carrylen,
707 const int64_t* slicestarts,
708 const int64_t* slicestops,
709 int64_t sliceouterlen);
710
711 template <typename T>
712 ERROR ListArray_getitem_jagged_apply_64(
713 kernel::lib ptr_lib,
714 int64_t* tooffsets,
715 int64_t* tocarry,
716 const int64_t* slicestarts,
717 const int64_t* slicestops,
718 int64_t sliceouterlen,
719 const int64_t* sliceindex,
720 int64_t sliceinnerlen,
721 const T* fromstarts,
722 const T* fromstops,
723 int64_t contentlen);
724
725 ERROR ListArray_getitem_jagged_numvalid_64(
726 kernel::lib ptr_lib,
727 int64_t* numvalid,
728 const int64_t* slicestarts,
729 const int64_t* slicestops,
730 int64_t length,
731 const int64_t* missing,
732 int64_t missinglength);
733
734 ERROR ListArray_getitem_jagged_shrink_64(
735 kernel::lib ptr_lib,
736 int64_t* tocarry,
737 int64_t* tosmalloffsets,
738 int64_t* tolargeoffsets,
739 const int64_t* slicestarts,
740 const int64_t* slicestops,
741 int64_t length,
742 const int64_t* missing);
743
744 template <typename T>
745 ERROR ListArray_getitem_jagged_descend_64(
746 kernel::lib ptr_lib,
747 int64_t* tooffsets,
748 const int64_t* slicestarts,
749 const int64_t* slicestops,
750 int64_t sliceouterlen,
751 const T* fromstarts,
752 const T* fromstops);
753
754 template <typename T>
755 T index_getitem_at_nowrap(
756 kernel::lib ptr_lib,
757 T* ptr,
758 int64_t at);
759
760 template <typename T>
761 void index_setitem_at_nowrap(
762 kernel::lib ptr_lib,
763 T* ptr,
764 int64_t at,
765 T value);
766
767 ERROR ByteMaskedArray_getitem_carry_64(
768 kernel::lib ptr_lib,
769 int8_t* tomask,
770 const int8_t* frommask,
771 int64_t lenmask,
772 const int64_t* fromcarry,
773 int64_t lencarry);
774
775 ERROR ByteMaskedArray_numnull(
776 kernel::lib ptr_lib,
777 int64_t* numnull,
778 const int8_t* mask,
779 int64_t length,
780 bool validwhen);
781
782 ERROR ByteMaskedArray_getitem_nextcarry_64(
783 kernel::lib ptr_lib,
784 int64_t* tocarry,
785 const int8_t* mask,
786 int64_t length,
787 bool validwhen);
788
789 ERROR ByteMaskedArray_getitem_nextcarry_outindex_64(
790 kernel::lib ptr_lib,
791 int64_t* tocarry,
792 int64_t* toindex,
793 const int8_t* mask,
794 int64_t length,
795 bool validwhen);
796
797 ERROR ByteMaskedArray_toIndexedOptionArray64(
798 kernel::lib ptr_lib,
799 int64_t* toindex,
800 const int8_t* mask,
801 int64_t length,
802 bool validwhen);
803
804 ERROR Content_getitem_next_missing_jagged_getmaskstartstop(
805 kernel::lib ptr_lib,
806 int64_t* index_in,
807 int64_t* offsets_in,
808 int64_t* mask_out,
809 int64_t* starts_out,
810 int64_t* stops_out,
811 int64_t length);
812
813 template <typename T>
814 ERROR MaskedArray_getitem_next_jagged_project(
815 kernel::lib ptr_lib,
816 T* index,
817 int64_t* starts_in,
818 int64_t* stops_in,
819 int64_t* starts_out,
820 int64_t* stops_out,
821 int64_t length);
822
824
825 template <typename T>
826 ERROR new_Identities(
827 kernel::lib ptr_lib,
828 T* toptr,
829 int64_t length);
830
831 template <typename T>
832 ERROR Identities_to_Identities64(
833 kernel::lib ptr_lib,
834 int64_t* toptr,
835 const T* fromptr,
836 int64_t length,
837 int64_t width);
838
839 template <typename C, typename T>
840 ERROR Identities_from_ListOffsetArray(
841 kernel::lib ptr_lib,
842 C* toptr,
843 const C* fromptr,
844 const T* fromoffsets,
845 int64_t tolength,
846 int64_t fromlength,
847 int64_t fromwidth);
848
849 template <typename C, typename T>
850 ERROR Identities_from_ListArray(
851 kernel::lib ptr_lib,
852 bool* uniquecontents,
853 C* toptr,
854 const C* fromptr,
855 const T* fromstarts,
856 const T* fromstops,
857 int64_t tolength,
858 int64_t fromlength,
859 int64_t fromwidth);
860
861 template <typename ID>
862 ERROR Identities_from_RegularArray(
863 kernel::lib ptr_lib,
864 ID* toptr,
865 const ID* fromptr,
866 int64_t size,
867 int64_t tolength,
868 int64_t fromlength,
869 int64_t fromwidth);
870
871
872 template <typename C, typename T>
873 ERROR Identities_from_IndexedArray(
874 kernel::lib ptr_lib,
875 bool* uniquecontents,
876 C* toptr,
877 const C* fromptr,
878 const T* fromindex,
879 int64_t tolength,
880 int64_t fromlength,
881 int64_t fromwidth);
882
883
884 template <typename C, typename T, typename I>
885 ERROR Identities_from_UnionArray(
886 kernel::lib ptr_lib,
887 bool* uniquecontents,
888 C* toptr,
889 const C* fromptr,
890 const T* fromtags,
891 const I* fromindex,
892 int64_t tolength,
893 int64_t fromlength,
894 int64_t fromwidth,
895 int64_t which);
896
897 template <typename ID>
898 ERROR Identities_extend(
899 kernel::lib ptr_lib,
900 ID* toptr,
901 const ID* fromptr,
902 int64_t fromlength,
903 int64_t tolength);
904
906
907 template <typename T>
908 ERROR ListArray_num_64(
909 kernel::lib ptr_lib,
910 int64_t* tonum,
911 const T* fromstarts,
912 const T* fromstops,
913 int64_t length);
914
915 ERROR RegularArray_num_64(
916 kernel::lib ptr_lib,
917 int64_t* tonum,
918 int64_t size,
919 int64_t length);
920
921 template <typename T>
922 ERROR ListOffsetArray_flatten_offsets_64(
923 kernel::lib ptr_lib,
924 int64_t* tooffsets,
925 const T* outeroffsets,
926 int64_t outeroffsetslen,
927 const int64_t* inneroffsets,
928 int64_t inneroffsetslen);
929
930 template <typename T>
931 ERROR IndexedArray_flatten_none2empty_64(
932 kernel::lib ptr_lib,
933 int64_t* outoffsets,
934 const T* outindex,
935 int64_t outindexlength,
936 const int64_t* offsets,
937 int64_t offsetslength);
938
939
940 template <typename T, typename I>
941 ERROR UnionArray_flatten_length_64(
942 kernel::lib ptr_lib,
943 int64_t* total_length,
944 const T* fromtags,
945 const I* fromindex,
946 int64_t length,
947 int64_t** offsetsraws);
948
949
950 template <typename T, typename I>
951 ERROR UnionArray_nestedfill_tags_index_64(
952 kernel::lib ptr_lib,
953 T* totags,
954 I* toindex,
955 int64_t* tmpstarts,
956 T tag,
957 const int64_t* fromcounts,
958 int64_t length);
959
960
961 template <typename T, typename I>
962 ERROR UnionArray_flatten_combine_64(
963 kernel::lib ptr_lib,
964 int8_t* totags,
965 int64_t* toindex,
966 int64_t* tooffsets,
967 const T* fromtags,
968 const I* fromindex,
969 int64_t length,
970 int64_t** offsetsraws);
971
972
973 template <typename T>
974 ERROR IndexedArray_flatten_nextcarry_64(
975 kernel::lib ptr_lib,
976 int64_t* tocarry,
977 const T* fromindex,
978 int64_t lenindex,
979 int64_t lencontent);
980
981 template <typename T>
982 ERROR IndexedArray_overlay_mask8_to64(
983 kernel::lib ptr_lib,
984 int64_t* toindex,
985 const int8_t* mask,
986 const T* fromindex,
987 int64_t length);
988
989
990 template <typename T>
991 ERROR IndexedArray_mask8(
992 kernel::lib ptr_lib,
993 int8_t* tomask,
994 const T* fromindex,
995 int64_t length);
996
997 ERROR ByteMaskedArray_mask8(
998 kernel::lib ptr_lib,
999 int8_t* tomask,
1000 const int8_t* frommask,
1001 int64_t length,
1002 bool validwhen);
1003
1004 ERROR zero_mask8(
1005 kernel::lib ptr_lib,
1006 int8_t* tomask,
1007 int64_t length);
1008
1009 ERROR one_mask8(
1010 kernel::lib ptr_lib,
1011 int8_t* tomask,
1012 int64_t length);
1013
1014 template <typename T>
1015 ERROR IndexedArray_simplify32_to64(
1016 kernel::lib ptr_lib,
1017 int64_t* toindex,
1018 const T* outerindex,
1019 int64_t outerlength,
1020 const int32_t* innerindex,
1021 int64_t innerlength);
1022
1023
1024 template <typename T>
1025 ERROR IndexedArray_simplifyU32_to64(
1026 kernel::lib ptr_lib,
1027 int64_t* toindex,
1028 const T* outerindex,
1029 int64_t outerlength,
1030 const uint32_t* innerindex,
1031 int64_t innerlength);
1032
1033
1034 template <typename T>
1035 ERROR IndexedArray_simplify64_to64(
1036 kernel::lib ptr_lib,
1037 int64_t* toindex,
1038 const T* outerindex,
1039 int64_t outerlength,
1040 const int64_t* innerindex,
1041 int64_t innerlength);
1042
1043 template <typename T>
1044 ERROR ListArray_compact_offsets_64(
1045 kernel::lib ptr_lib,
1046 int64_t* tooffsets,
1047 const T* fromstarts,
1048 const T* fromstops,
1049 int64_t length);
1050
1051 ERROR RegularArray_compact_offsets_64(
1052 kernel::lib ptr_lib,
1053 int64_t* tooffsets,
1054 int64_t length,
1055 int64_t size);
1056
1057 template <typename T>
1058 ERROR ListOffsetArray_compact_offsets_64(
1059 kernel::lib ptr_lib,
1060 int64_t* tooffsets,
1061 const T* fromoffsets,
1062 int64_t length);
1063
1064
1065 template <typename T>
1066 ERROR ListArray_broadcast_tooffsets_64(
1067 kernel::lib ptr_lib,
1068 int64_t* tocarry,
1069 const int64_t* fromoffsets,
1070 int64_t offsetslength,
1071 const T* fromstarts,
1072 const T* fromstops,
1073 int64_t lencontent);
1074
1075 ERROR RegularArray_broadcast_tooffsets_64(
1076 kernel::lib ptr_lib,
1077 const int64_t* fromoffsets,
1078 int64_t offsetslength,
1079 int64_t size);
1080
1081 ERROR RegularArray_broadcast_tooffsets_size1_64(
1082 kernel::lib ptr_lib,
1083 int64_t* tocarry,
1084 const int64_t* fromoffsets,
1085 int64_t offsetslength);
1086
1087 template <typename T>
1088 ERROR ListOffsetArray_toRegularArray(
1089 kernel::lib ptr_lib,
1090 int64_t* size,
1091 const T* fromoffsets,
1092 int64_t offsetslength);
1093
1094 template <typename FROM, typename TO>
1095 ERROR NumpyArray_fill(
1096 kernel::lib ptr_lib,
1097 TO* toptr,
1098 int64_t tooffset,
1099 const FROM* fromptr,
1100 int64_t length);
1101
1102 template <typename TO>
1103 ERROR NumpyArray_fill_frombool(
1104 kernel::lib ptr_lib,
1105 TO* toptr,
1106 int64_t tooffset,
1107 const bool* fromptr,
1108 int64_t length);
1109
1110 template <typename FROM, typename TO>
1111 ERROR NumpyArray_fill_tocomplex(
1112 kernel::lib ptr_lib,
1113 TO* toptr,
1114 int64_t tooffset,
1115 const FROM* fromptr,
1116 int64_t length);
1117
1118 template <typename FROM, typename TO>
1119 ERROR NumpyArray_fill_fromcomplex(
1120 kernel::lib ptr_lib,
1121 TO* toptr,
1122 int64_t tooffset,
1123 const FROM* fromptr,
1124 int64_t length);
1125
1126 template <typename TO>
1127 ERROR NumpyArray_fill_tocomplex_frombool(
1128 kernel::lib ptr_lib,
1129 TO* toptr,
1130 int64_t tooffset,
1131 const bool* fromptr,
1132 int64_t length);
1133
1134 template <typename FROM, typename TO>
1135 ERROR NumpyArray_fill_scaled(
1136 kernel::lib ptr_lib,
1137 TO* toptr,
1138 int64_t tooffset,
1139 const FROM* fromptr,
1140 int64_t length,
1141 double scale);
1142
1143 template <typename FROM, typename TO>
1144 ERROR NumpyArray_rearrange_shifted(
1145 kernel::lib ptr_lib,
1146 TO* toptr,
1147 const FROM* fromshifts,
1148 int64_t length,
1149 const FROM* fromoffsets,
1150 int64_t offsetslength,
1151 const FROM* fromparents,
1152 int64_t parentslength,
1153 const FROM* fromstarts,
1154 int64_t startslength);
1155
1156 template <typename FROM, typename TO>
1157 ERROR ListArray_fill(
1158 kernel::lib ptr_lib,
1159 TO* tostarts,
1160 int64_t tostartsoffset,
1161 TO* tostops,
1162 int64_t tostopsoffset,
1163 const FROM* fromstarts,
1164 const FROM* fromstops,
1165 int64_t length,
1166 int64_t base);
1167
1168 template <typename FROM, typename TO>
1169 ERROR IndexedArray_fill(
1170 kernel::lib ptr_lib,
1171 TO* toindex,
1172 int64_t toindexoffset,
1173 const FROM* fromindex,
1174 int64_t length,
1175 int64_t base);
1176
1177 ERROR IndexedArray_fill_to64_count(
1178 kernel::lib ptr_lib,
1179 int64_t* toindex,
1180 int64_t toindexoffset,
1181 int64_t length,
1182 int64_t base);
1183
1184 ERROR UnionArray_filltags_to8_from8(
1185 kernel::lib ptr_lib,
1186 int8_t* totags,
1187 int64_t totagsoffset,
1188 const int8_t* fromtags,
1189 int64_t length,
1190 int64_t base);
1191
1192 template <typename FROM, typename TO>
1193 ERROR UnionArray_fillindex(
1194 kernel::lib ptr_lib,
1195 TO* toindex,
1196 int64_t toindexoffset,
1197 const FROM* fromindex,
1198 int64_t length);
1199
1200 ERROR UnionArray_filltags_to8_const(
1201 kernel::lib ptr_lib,
1202 int8_t* totags,
1203 int64_t totagsoffset,
1204 int64_t length,
1205 int64_t base);
1206
1207 ERROR UnionArray_fillindex_count_64(
1208 kernel::lib ptr_lib,
1209 int64_t* toindex,
1210 int64_t toindexoffset,
1211 int64_t length);
1212
1213 template <typename T, typename I>
1214 ERROR UnionArray_simplify8_32_to8_64(
1215 kernel::lib ptr_lib,
1216 int8_t* totags,
1217 int64_t* toindex,
1218 const T* outertags,
1219 const I* outerindex,
1220 const int8_t* innertags,
1221 const int32_t* innerindex,
1222 int64_t towhich,
1223 int64_t innerwhich,
1224 int64_t outerwhich,
1225 int64_t length,
1226 int64_t base);
1227
1228
1229 template <typename T, typename I>
1230 ERROR UnionArray_simplify8_U32_to8_64(
1231 kernel::lib ptr_lib,
1232 int8_t* totags,
1233 int64_t* toindex,
1234 const T* outertags,
1235 const I* outerindex,
1236 const int8_t* innertags,
1237 const uint32_t* innerindex,
1238 int64_t towhich,
1239 int64_t innerwhich,
1240 int64_t outerwhich,
1241 int64_t length,
1242 int64_t base);
1243
1244
1245 template <typename T, typename I>
1246 ERROR UnionArray_simplify8_64_to8_64(
1247 kernel::lib ptr_lib,
1248 int8_t* totags,
1249 int64_t* toindex,
1250 const T* outertags,
1251 const I* outerindex,
1252 const int8_t* innertags,
1253 const int64_t* innerindex,
1254 int64_t towhich,
1255 int64_t innerwhich,
1256 int64_t outerwhich,
1257 int64_t length,
1258 int64_t base);
1259
1260
1261 template <typename T, typename I>
1262 ERROR UnionArray_simplify_one_to8_64(
1263 kernel::lib ptr_lib,
1264 int8_t* totags,
1265 int64_t* toindex,
1266 const T* fromtags,
1267 const I* fromindex,
1268 int64_t towhich,
1269 int64_t fromwhich,
1270 int64_t length,
1271 int64_t base);
1272
1273 template <typename T>
1274 ERROR ListArray_validity(
1275 kernel::lib ptr_lib,
1276 const T* starts,
1277 const T* stops,
1278 int64_t length,
1279 int64_t lencontent);
1280
1281
1282 template <typename T>
1283 ERROR IndexedArray_validity(
1284 kernel::lib ptr_lib,
1285 const T* index,
1286 int64_t length,
1287 int64_t lencontent,
1288 bool isoption);
1289
1290
1291 template <typename T, typename I>
1292 ERROR UnionArray_validity(
1293 kernel::lib ptr_lib,
1294 const T* tags,
1295 const I* index,
1296 int64_t length,
1297 int64_t numcontents,
1298 const int64_t* lencontents);
1299
1300 template <typename T>
1301 ERROR UnionArray_fillna_64(
1302 kernel::lib ptr_lib,
1303 int64_t* toindex,
1304 const T* fromindex,
1305 int64_t length);
1306
1307 ERROR IndexedOptionArray_rpad_and_clip_mask_axis1_64(
1308 kernel::lib ptr_lib,
1309 int64_t* toindex,
1310 const int8_t* frommask,
1311 int64_t length);
1312
1313 ERROR index_rpad_and_clip_axis0_64(
1314 kernel::lib ptr_lib,
1315 int64_t* toindex,
1316 int64_t target,
1317 int64_t length);
1318
1319 ERROR index_rpad_and_clip_axis1_64(
1320 kernel::lib ptr_lib,
1321 int64_t* tostarts,
1322 int64_t* tostops,
1323 int64_t target,
1324 int64_t length);
1325
1326 ERROR Index_nones_as_index_64(
1327 kernel::lib ptr_lib,
1328 int64_t* toindex,
1329 int64_t length);
1330
1331 ERROR RegularArray_rpad_and_clip_axis1_64(
1332 kernel::lib ptr_lib,
1333 int64_t* toindex,
1334 int64_t target,
1335 int64_t size,
1336 int64_t length);
1337
1338 template <typename T>
1339 ERROR ListArray_min_range(
1340 kernel::lib ptr_lib,
1341 int64_t* tomin,
1342 const T* fromstarts,
1343 const T* fromstops,
1344 int64_t lenstarts);
1345
1346 template <typename T>
1347 ERROR ListArray_rpad_and_clip_length_axis1(
1348 kernel::lib ptr_lib,
1349 int64_t* tolength,
1350 const T* fromstarts,
1351 const T* fromstops,
1352 int64_t target,
1353 int64_t lenstarts);
1354
1355 template <typename T>
1356 ERROR ListArray_rpad_axis1_64(
1357 kernel::lib ptr_lib,
1358 int64_t* toindex,
1359 const T* fromstarts,
1360 const T* fromstops,
1361 T* tostarts,
1362 T* tostops,
1363 int64_t target,
1364 int64_t length);
1365
1366 template <typename T>
1367 ERROR ListOffsetArray_rpad_and_clip_axis1_64(
1368 kernel::lib ptr_lib,
1369 int64_t* toindex,
1370 const T* fromoffsets,
1371 int64_t length,
1372 int64_t target);
1373
1374 template <typename T>
1375 ERROR ListOffsetArray_rpad_length_axis1(
1376 kernel::lib ptr_lib,
1377 T* tooffsets,
1378 const T* fromoffsets,
1379 int64_t fromlength,
1380 int64_t target,
1381 int64_t* tolength);
1382
1383 template <typename T>
1384 ERROR ListOffsetArray_rpad_axis1_64(
1385 kernel::lib ptr_lib,
1386 int64_t* toindex,
1387 const T* fromoffsets,
1388 int64_t fromlength,
1389 int64_t target);
1390
1391 ERROR localindex_64(
1392 kernel::lib ptr_lib,
1393 int64_t* toindex,
1394 int64_t length);
1395
1396 template <typename T>
1397 ERROR ListArray_localindex_64(
1398 kernel::lib ptr_lib,
1399 int64_t* toindex,
1400 const T* offsets,
1401 int64_t length);
1402
1403 ERROR RegularArray_localindex_64(
1404 kernel::lib ptr_lib,
1405 int64_t* toindex,
1406 int64_t size,
1407 int64_t length);
1408
1409 template <typename T>
1410 ERROR combinations(
1411 kernel::lib ptr_lib,
1412 T* toindex,
1413 int64_t n,
1414 bool replacement,
1415 int64_t singlelen);
1416
1417 template <typename T>
1418 ERROR ListArray_combinations_length_64(
1419 kernel::lib ptr_lib,
1420 int64_t* totallen,
1421 int64_t* tooffsets,
1422 int64_t n,
1423 bool replacement,
1424 const T* starts,
1425 const T* stops,
1426 int64_t length);
1427
1428 template <typename T>
1429 ERROR ListArray_combinations_64(
1430 kernel::lib ptr_lib,
1431 int64_t** tocarry,
1432 int64_t* toindex,
1433 int64_t* fromindex,
1434 int64_t n,
1435 bool replacement,
1436 const T* starts,
1437 const T* stops,
1438 int64_t length);
1439
1440 ERROR RegularArray_combinations_64(
1441 kernel::lib ptr_lib,
1442 int64_t** tocarry,
1443 int64_t* toindex,
1444 int64_t* fromindex,
1445 int64_t n,
1446 bool replacement,
1447 int64_t size,
1448 int64_t length);
1449
1450 ERROR ByteMaskedArray_overlay_mask8(
1451 kernel::lib ptr_lib,
1452 int8_t* tomask,
1453 const int8_t* theirmask,
1454 const int8_t* mymask,
1455 int64_t length,
1456 bool validwhen);
1457
1458 ERROR BitMaskedArray_to_ByteMaskedArray(
1459 kernel::lib ptr_lib,
1460 int8_t* tobytemask,
1461 const uint8_t* frombitmask,
1462 int64_t bitmasklength,
1463 bool validwhen,
1464 bool lsb_order);
1465
1466 ERROR BitMaskedArray_to_IndexedOptionArray64(
1467 kernel::lib ptr_lib,
1468 int64_t* toindex,
1469 const uint8_t* frombitmask,
1470 int64_t bitmasklength,
1471 bool validwhen,
1472 bool lsb_order);
1473
1475
1476 ERROR reduce_count_64(
1477 kernel::lib ptr_lib,
1478 int64_t* toptr,
1479 const int64_t* parents,
1480 int64_t lenparents,
1481 int64_t outlength);
1482
1483 template <typename IN>
1484 ERROR reduce_countnonzero_64(
1485 kernel::lib ptr_lib,
1486 int64_t* toptr,
1487 const IN* fromptr,
1488 const int64_t* parents,
1489 int64_t lenparents,
1490 int64_t outlength);
1491
1492 template <typename OUT, typename IN>
1493 ERROR reduce_sum_64(
1494 kernel::lib ptr_lib,
1495 OUT* toptr,
1496 const IN* fromptr,
1497 const int64_t* parents,
1498 int64_t lenparents,
1499 int64_t outlength);
1500
1501 template <typename IN>
1502 ERROR reduce_sum_bool_64(
1503 kernel::lib ptr_lib,
1504 bool* toptr,
1505 const IN* fromptr,
1506 const int64_t* parents,
1507 int64_t lenparents,
1508 int64_t outlength);
1509
1510 template <typename OUT, typename IN>
1511 ERROR reduce_prod_64(
1512 kernel::lib ptr_lib,
1513 OUT* toptr,
1514 const IN* fromptr,
1515 const int64_t* parents,
1516 int64_t lenparents,
1517 int64_t outlength);
1518
1519 template <typename IN>
1520 ERROR reduce_prod_bool_64(
1521 kernel::lib ptr_lib,
1522 bool* toptr,
1523 const IN* fromptr,
1524 const int64_t* parents,
1525 int64_t lenparents,
1526 int64_t outlength);
1527
1528 template <typename OUT, typename IN>
1529 ERROR reduce_min_64(
1530 kernel::lib ptr_lib,
1531 OUT* toptr,
1532 const IN* fromptr,
1533 const int64_t* parents,
1534 int64_t lenparents,
1535 int64_t outlength,
1536 OUT identity);
1537
1538 template <typename OUT, typename IN>
1539 ERROR reduce_max_64(
1540 kernel::lib ptr_lib,
1541 OUT* toptr,
1542 const IN* fromptr,
1543 const int64_t* parents,
1544 int64_t lenparents,
1545 int64_t outlength,
1546 OUT identity);
1547
1548 template <typename OUT, typename IN>
1549 ERROR reduce_argmin_64(
1550 kernel::lib ptr_lib,
1551 OUT* toptr,
1552 const IN* fromptr,
1553 const int64_t* parents,
1554 int64_t lenparents,
1555 int64_t outlength);
1556
1557 template <typename OUT, typename IN>
1558 ERROR reduce_argmax_64(
1559 kernel::lib ptr_lib,
1560 OUT* toptr,
1561 const IN* fromptr,
1562 const int64_t* parents,
1563 int64_t lenparents,
1564 int64_t outlength);
1565
1566 ERROR content_reduce_zeroparents_64(
1567 kernel::lib ptr_lib,
1568 int64_t* toparents,
1569 int64_t length);
1570
1571 ERROR ListOffsetArray_reduce_global_startstop_64(
1572 kernel::lib ptr_lib,
1573 int64_t* globalstart,
1574 int64_t* globalstop,
1575 const int64_t* offsets,
1576 int64_t length);
1577
1578 ERROR ListOffsetArray_reduce_nonlocal_maxcount_offsetscopy_64(
1579 kernel::lib ptr_lib,
1580 int64_t* maxcount,
1581 int64_t* offsetscopy,
1582 const int64_t* offsets,
1583 int64_t length);
1584
1585 ERROR ListOffsetArray_reduce_nonlocal_preparenext_64(
1586 kernel::lib ptr_lib,
1587 int64_t* nextcarry,
1588 int64_t* nextparents,
1589 int64_t nextlen,
1590 int64_t* maxnextparents,
1591 int64_t* distincts,
1592 int64_t distinctslen,
1593 int64_t* offsetscopy,
1594 const int64_t* offsets,
1595 int64_t length,
1596 const int64_t* parents,
1597 int64_t maxcount);
1598
1599 ERROR ListOffsetArray_reduce_nonlocal_nextstarts_64(
1600 kernel::lib ptr_lib,
1601 int64_t* nextstarts,
1602 const int64_t* nextparents,
1603 int64_t nextlen);
1604
1605 ERROR ListOffsetArray_reduce_nonlocal_outstartsstops_64(
1606 kernel::lib ptr_lib,
1607 int64_t* outstarts,
1608 int64_t* outstops,
1609 const int64_t* distincts,
1610 int64_t lendistincts,
1611 int64_t outlength);
1612
1613 ERROR ListOffsetArray_reduce_nonlocal_nextshifts_64(
1614 kernel::lib ptr_lib,
1615 int64_t* nummissing,
1616 int64_t* missing,
1617 int64_t* nextshifts,
1618 const int64_t* offsets,
1619 int64_t length,
1620 const int64_t* starts,
1621 const int64_t* parents,
1622 int64_t maxcount,
1623 int64_t nextlen,
1624 const int64_t* nextcarry);
1625
1626 ERROR ListOffsetArray_reduce_local_nextparents_64(
1627 kernel::lib ptr_lib,
1628 int64_t* nextparents,
1629 const int64_t* offsets,
1630 int64_t length);
1631
1632 ERROR ListOffsetArray_reduce_local_outoffsets_64(
1633 kernel::lib ptr_lib,
1634 int64_t* outoffsets,
1635 const int64_t* parents,
1636 int64_t lenparents,
1637 int64_t outlength);
1638
1639 template <typename T>
1640 ERROR IndexedArray_reduce_next_64(
1641 kernel::lib ptr_lib,
1642 int64_t* nextcarry,
1643 int64_t* nextparents,
1644 int64_t* outindex,
1645 const T* index,
1646 int64_t* parents,
1647 int64_t length);
1648
1649 template <typename T>
1650 ERROR IndexedArray_reduce_next_nonlocal_nextshifts_64(
1651 kernel::lib ptr_lib,
1652 int64_t* nextshifts,
1653 const T* index,
1654 int64_t length);
1655
1656 template <typename T>
1657 ERROR IndexedArray_reduce_next_nonlocal_nextshifts_fromshifts_64(
1658 kernel::lib ptr_lib,
1659 int64_t* nextshifts,
1660 const T* index,
1661 int64_t length,
1662 const int64_t* shifts);
1663
1664 ERROR IndexedArray_reduce_next_fix_offsets_64(
1665 kernel::lib ptr_lib,
1666 int64_t* outoffsets,
1667 const int64_t* starts,
1668 int64_t startslength,
1669 int64_t outindexlength);
1670
1671 ERROR NumpyArray_reduce_adjust_starts_64(
1672 kernel::lib ptr_lib,
1673 int64_t* toptr,
1674 int64_t outlength,
1675 const int64_t* parents,
1676 const int64_t* starts);
1677
1678 ERROR NumpyArray_reduce_adjust_starts_shifts_64(
1679 kernel::lib ptr_lib,
1680 int64_t* toptr,
1681 int64_t outlength,
1682 const int64_t* parents,
1683 const int64_t* starts,
1684 const int64_t* shifts);
1685
1686 ERROR NumpyArray_reduce_mask_ByteMaskedArray_64(
1687 kernel::lib ptr_lib,
1688 int8_t* toptr,
1689 const int64_t* parents,
1690 int64_t lenparents,
1691 int64_t outlength);
1692
1693 ERROR NumpyArray_reduce_mask_ByteMaskedArray_64(
1694 kernel::lib ptr_lib,
1695 int8_t* toptr,
1696 const int64_t* parents,
1697 int64_t lenparents,
1698 int64_t outlength);
1699
1700 ERROR ByteMaskedArray_reduce_next_64(
1701 kernel::lib ptr_lib,
1702 int64_t* nextcarry,
1703 int64_t* nextparents,
1704 int64_t* outindex,
1705 const int8_t* mask,
1706 const int64_t* parents,
1707 int64_t length,
1708 bool validwhen);
1709
1710 ERROR ByteMaskedArray_reduce_next_nonlocal_nextshifts_64(
1711 kernel::lib ptr_lib,
1712 int64_t* nextshifts,
1713 const int8_t* mask,
1714 int64_t length,
1715 bool valid_when);
1716
1717 ERROR ByteMaskedArray_reduce_next_nonlocal_nextshifts_fromshifts_64(
1718 kernel::lib ptr_lib,
1719 int64_t* nextshifts,
1720 const int8_t* mask,
1721 int64_t length,
1722 bool valid_when,
1723 const int64_t* shifts);
1724
1726
1727 ERROR sorting_ranges(
1728 kernel::lib ptr_lib,
1729 int64_t* toindex,
1730 int64_t tolength,
1731 const int64_t* parents,
1732 int64_t parentslength);
1733
1734 ERROR sorting_ranges_length(
1735 kernel::lib ptr_lib,
1736 int64_t* tolength,
1737 const int64_t* parents,
1738 int64_t parentslength);
1739
1740 template <typename T>
1741 ERROR unique(
1742 kernel::lib ptr_lib,
1743 T* toptr,
1744 int64_t length,
1745 int64_t* tolength);
1746
1747 template <typename T>
1748 ERROR IndexedArray_ranges_next_64(
1749 kernel::lib ptr_lib,
1750 const T* index,
1751 const int64_t* fromstarts,
1752 const int64_t* fromstops,
1753 int64_t length,
1754 int64_t* tostarts,
1755 int64_t* tostops,
1756 int64_t* tolength);
1757
1758 template <typename T>
1759 ERROR IndexedArray_ranges_carry_next_64(
1760 kernel::lib ptr_lib,
1761 const T* index,
1762 const int64_t* fromstarts,
1763 const int64_t* fromstops,
1764 int64_t length,
1765 int64_t* tocarry);
1766
1767 template <typename T>
1768 ERROR NumpyArray_subrange_equal(
1769 kernel::lib ptr_lib,
1770 T* tmpptr,
1771 const int64_t* fromstarts,
1772 const int64_t* fromstops,
1773 int64_t length,
1774 bool* toequal);
1775
1776 template <typename T>
1777 ERROR NumpyArray_quick_sort(
1778 kernel::lib ptr_lib,
1779 T* tmpptr,
1780 int64_t* tmpbeg,
1781 int64_t* tmpend,
1782 const int64_t* fromstarts,
1783 const int64_t* fromstops,
1784 bool ascending,
1785 int64_t length,
1786 int64_t maxlevels);
1787
1788 template <typename T>
1789 ERROR NumpyArray_quick_argsort(
1790 kernel::lib ptr_lib,
1791 int64_t* toptr,
1792 const T* fromptr,
1793 int64_t length,
1794 int64_t* tmpbeg,
1795 int64_t* tmpend,
1796 const int64_t* offsets,
1797 int64_t offsetslength,
1798 bool ascending,
1799 bool stable,
1800 int64_t maxlevels);
1801
1802 template <typename T>
1803 ERROR NumpyArray_argsort(
1804 kernel::lib ptr_lib,
1805 int64_t* toptr,
1806 const T* fromptr,
1807 int64_t length,
1808 const int64_t* offsets,
1809 int64_t offsetslength,
1810 bool ascending,
1811 bool stable);
1812
1813 template <typename T>
1814 ERROR NumpyArray_sort(
1815 kernel::lib ptr_lib,
1816 T* toptr,
1817 const T* fromptr,
1818 int64_t length,
1819 const int64_t* offsets,
1820 int64_t offsetslength,
1821 int64_t parentslength,
1822 bool ascending,
1823 bool stable);
1824
1825 ERROR ListOffsetArray_argsort_strings(
1826 kernel::lib ptr_lib,
1827 int64_t* tocarry,
1828 const int64_t* fromparents,
1829 int64_t length,
1830 const uint8_t* stringdata,
1831 const int64_t* stringstarts,
1832 const int64_t* stringstops,
1833 bool is_stable,
1834 bool is_ascending,
1835 bool is_local);
1836
1837 template <typename T>
1838 ERROR NumpyArray_sort_asstrings(
1839 kernel::lib ptr_lib,
1840 T* toptr,
1841 const T* fromptr,
1842 const int64_t* offsets,
1843 int64_t offsetslength,
1844 int64_t* outoffsets,
1845 bool ascending,
1846 bool stable);
1847
1848 template <typename T>
1849 ERROR NumpyArray_unique_strings(
1850 kernel::lib ptr_lib,
1851 T* toptr,
1852 const int64_t* offsets,
1853 int64_t offsetslength,
1854 int64_t* outoffsets,
1855 int64_t* tolength);
1856
1857 ERROR ListOffsetArray_local_preparenext_64(
1858 kernel::lib ptr_lib,
1859 int64_t* tocarry,
1860 const int64_t* fromindex,
1861 int64_t length);
1862
1863 ERROR IndexedArray_local_preparenext_64(
1864 kernel::lib ptr_lib,
1865 int64_t* tocarry,
1866 const int64_t* starts,
1867 const int64_t* parents,
1868 const int64_t parentslength,
1869 const int64_t* nextparents,
1870 const int64_t nextlen);
1871
1872 }
1873}
1874
1875#endif //AWKWARD_KERNEL_DISPATCH_H_
awkward::kernel::LibraryCallback
Definition: kernel-dispatch.h:32
awkward::kernel::LibraryCallback::awkward_library_path
std::string awkward_library_path(kernel::lib ptr_lib)
awkward::kernel::LibraryCallback::LibraryCallback
LibraryCallback()
awkward::kernel::LibraryCallback::add_library_path_callback
void add_library_path_callback(kernel::lib ptr_lib, const std::shared_ptr< LibraryPathCallback > &callback)
awkward::kernel::LibraryPathCallback
Definition: kernel-dispatch.h:26
awkward::kernel::LibraryPathCallback::library_path
virtual std::string library_path()=0
awkward::kernel::LibraryPathCallback::LibraryPathCallback
LibraryPathCallback()=default
awkward::kernel::array_deleter
Used as a std::shared_ptr deleter (second argument) to overload delete ptr with delete[] ptr.
Definition: kernel-dispatch.h:74
awkward::kernel::array_deleter::operator()
void operator()(T const *ptr)
Called by std::shared_ptr when its reference count reaches zero.
Definition: kernel-dispatch.h:78
awkward::kernel::cuda_array_deleter
Used as a std::shared_ptr deleter (second argument) to overload delete ptr with cudaFree.
Definition: kernel-dispatch.h:98
awkward::kernel::cuda_array_deleter::operator()
void operator()(T const *ptr)
Called by std::shared_ptr when its reference count reaches zero.
Definition: kernel-dispatch.h:102
awkward::kernel::no_deleter
Used as a std::shared_ptr deleter (second argument) to overload delete ptr with nothing (no dereferen...
Definition: kernel-dispatch.h:126
awkward::kernel::no_deleter::operator()
void operator()(T const *ptr)
Called by std::shared_ptr when its reference count reaches zero.
Definition: kernel-dispatch.h:130
common.h
LIBAWKWARD_EXPORT_SYMBOL
#define LIBAWKWARD_EXPORT_SYMBOL
Definition: common.h:45
ERROR
#define ERROR
Definition: common.h:28
len
int64_t len(const T &self)
Definition: content.h:46
identity
py::tuple identity(const T &self)
Creates a single identity as a Python tuple of integers and strings.
kernel-utils.h
awkward_malloc
EXPORT_SYMBOL void * awkward_malloc(int64_t bytelength)
awkward_free
EXPORT_SYMBOL void awkward_free(void const *ptr)
kernels.h
awkward::kernel::ListArray_fill
ERROR ListArray_fill(kernel::lib ptr_lib, TO *tostarts, int64_t tostartsoffset, TO *tostops, int64_t tostopsoffset, const FROM *fromstarts, const FROM *fromstops, int64_t length, int64_t base)
awkward::kernel::UnionArray_flatten_combine_64
ERROR UnionArray_flatten_combine_64(kernel::lib ptr_lib, int8_t *totags, int64_t *toindex, int64_t *tooffsets, const T *fromtags, const I *fromindex, int64_t length, int64_t **offsetsraws)
awkward::kernel::IndexedArray_simplify64_to64
ERROR IndexedArray_simplify64_to64(kernel::lib ptr_lib, int64_t *toindex, const T *outerindex, int64_t outerlength, const int64_t *innerindex, int64_t innerlength)
awkward::kernel::localindex_64
ERROR localindex_64(kernel::lib ptr_lib, int64_t *toindex, int64_t length)
awkward::kernel::reduce_sum_64
ERROR reduce_sum_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::ListOffsetArray_toRegularArray
ERROR ListOffsetArray_toRegularArray(kernel::lib ptr_lib, int64_t *size, const T *fromoffsets, int64_t offsetslength)
awkward::kernel::Identities_extend
ERROR Identities_extend(kernel::lib ptr_lib, ID *toptr, const ID *fromptr, int64_t fromlength, int64_t tolength)
awkward::kernel::ListArray_getitem_carry_64
ERROR ListArray_getitem_carry_64(kernel::lib ptr_lib, T *tostarts, T *tostops, const T *fromstarts, const T *fromstops, const int64_t *fromcarry, int64_t lenstarts, int64_t lencarry)
awkward::kernel::NumpyArray_quick_argsort
ERROR NumpyArray_quick_argsort(kernel::lib ptr_lib, int64_t *toptr, const T *fromptr, int64_t length, int64_t *tmpbeg, int64_t *tmpend, const int64_t *offsets, int64_t offsetslength, bool ascending, bool stable, int64_t maxlevels)
awkward::kernel::ByteMaskedArray_reduce_next_64
ERROR ByteMaskedArray_reduce_next_64(kernel::lib ptr_lib, int64_t *nextcarry, int64_t *nextparents, int64_t *outindex, const int8_t *mask, const int64_t *parents, int64_t length, bool validwhen)
awkward::kernel::Identities_from_RegularArray
ERROR Identities_from_RegularArray(kernel::lib ptr_lib, ID *toptr, const ID *fromptr, int64_t size, int64_t tolength, int64_t fromlength, int64_t fromwidth)
awkward::kernel::ListOffsetArray_reduce_nonlocal_outstartsstops_64
ERROR ListOffsetArray_reduce_nonlocal_outstartsstops_64(kernel::lib ptr_lib, int64_t *outstarts, int64_t *outstops, const int64_t *distincts, int64_t lendistincts, int64_t outlength)
awkward::kernel::ListOffsetArray_flatten_offsets_64
ERROR ListOffsetArray_flatten_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, const T *outeroffsets, int64_t outeroffsetslen, const int64_t *inneroffsets, int64_t inneroffsetslen)
awkward::kernel::reduce_min_64
ERROR reduce_min_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength, OUT identity)
awkward::kernel::NumpyArray_reduce_adjust_starts_64
ERROR NumpyArray_reduce_adjust_starts_64(kernel::lib ptr_lib, int64_t *toptr, int64_t outlength, const int64_t *parents, const int64_t *starts)
awkward::kernel::IndexedArray_flatten_none2empty_64
ERROR IndexedArray_flatten_none2empty_64(kernel::lib ptr_lib, int64_t *outoffsets, const T *outindex, int64_t outindexlength, const int64_t *offsets, int64_t offsetslength)
awkward::kernel::IndexedArray_simplify32_to64
ERROR IndexedArray_simplify32_to64(kernel::lib ptr_lib, int64_t *toindex, const T *outerindex, int64_t outerlength, const int32_t *innerindex, int64_t innerlength)
awkward::kernel::ListArray_combinations_64
ERROR ListArray_combinations_64(kernel::lib ptr_lib, int64_t **tocarry, int64_t *toindex, int64_t *fromindex, int64_t n, bool replacement, const T *starts, const T *stops, int64_t length)
awkward::kernel::IndexedArray_getitem_nextcarry_64
ERROR IndexedArray_getitem_nextcarry_64(kernel::lib ptr_lib, int64_t *tocarry, const T *fromindex, int64_t lenindex, int64_t lencontent)
awkward::kernel::RegularArray_broadcast_tooffsets_size1_64
ERROR RegularArray_broadcast_tooffsets_size1_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromoffsets, int64_t offsetslength)
awkward::kernel::Identities_to_Identities64
ERROR Identities_to_Identities64(kernel::lib ptr_lib, int64_t *toptr, const T *fromptr, int64_t length, int64_t width)
awkward::kernel::RegularArray_getitem_next_range_64
ERROR RegularArray_getitem_next_range_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t regular_start, int64_t step, int64_t len, int64_t size, int64_t nextsize)
awkward::kernel::NumpyArray_reduce_mask_ByteMaskedArray_64
ERROR NumpyArray_reduce_mask_ByteMaskedArray_64(kernel::lib ptr_lib, int8_t *toptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::Identities_from_IndexedArray
ERROR Identities_from_IndexedArray(kernel::lib ptr_lib, bool *uniquecontents, C *toptr, const C *fromptr, const T *fromindex, int64_t tolength, int64_t fromlength, int64_t fromwidth)
awkward::kernel::Index_carry_64
ERROR Index_carry_64(kernel::lib ptr_lib, T *toindex, const T *fromindex, const int64_t *carry, int64_t lenfromindex, int64_t length)
awkward::kernel::zero_mask8
ERROR zero_mask8(kernel::lib ptr_lib, int8_t *tomask, int64_t length)
awkward::kernel::BitMaskedArray_to_IndexedOptionArray64
ERROR BitMaskedArray_to_IndexedOptionArray64(kernel::lib ptr_lib, int64_t *toindex, const uint8_t *frombitmask, int64_t bitmasklength, bool validwhen, bool lsb_order)
awkward::kernel::ListOffsetArray_reduce_nonlocal_nextstarts_64
ERROR ListOffsetArray_reduce_nonlocal_nextstarts_64(kernel::lib ptr_lib, int64_t *nextstarts, const int64_t *nextparents, int64_t nextlen)
awkward::kernel::IndexedArray_reduce_next_nonlocal_nextshifts_64
ERROR IndexedArray_reduce_next_nonlocal_nextshifts_64(kernel::lib ptr_lib, int64_t *nextshifts, const T *index, int64_t length)
awkward::kernel::ListArray_rpad_and_clip_length_axis1
ERROR ListArray_rpad_and_clip_length_axis1(kernel::lib ptr_lib, int64_t *tolength, const T *fromstarts, const T *fromstops, int64_t target, int64_t lenstarts)
awkward::kernel::Index_iscontiguous
ERROR Index_iscontiguous(kernel::lib ptr_lib, bool *result, const T *fromindex, int64_t length)
awkward::kernel::UnionArray_simplify8_64_to8_64
ERROR UnionArray_simplify8_64_to8_64(kernel::lib ptr_lib, int8_t *totags, int64_t *toindex, const T *outertags, const I *outerindex, const int8_t *innertags, const int64_t *innerindex, int64_t towhich, int64_t innerwhich, int64_t outerwhich, int64_t length, int64_t base)
awkward::kernel::RegularArray_combinations_64
ERROR RegularArray_combinations_64(kernel::lib ptr_lib, int64_t **tocarry, int64_t *toindex, int64_t *fromindex, int64_t n, bool replacement, int64_t size, int64_t length)
awkward::kernel::ListOffsetArray_compact_offsets_64
ERROR ListOffsetArray_compact_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, const T *fromoffsets, int64_t length)
awkward::kernel::ListArray_getitem_jagged_descend_64
ERROR ListArray_getitem_jagged_descend_64(kernel::lib ptr_lib, int64_t *tooffsets, const int64_t *slicestarts, const int64_t *slicestops, int64_t sliceouterlen, const T *fromstarts, const T *fromstops)
awkward::kernel::UnionArray_validity
ERROR UnionArray_validity(kernel::lib ptr_lib, const T *tags, const I *index, int64_t length, int64_t numcontents, const int64_t *lencontents)
awkward::kernel::ByteMaskedArray_mask8
ERROR ByteMaskedArray_mask8(kernel::lib ptr_lib, int8_t *tomask, const int8_t *frommask, int64_t length, bool validwhen)
awkward::kernel::ListArray_getitem_next_array_advanced_64
ERROR ListArray_getitem_next_array_advanced_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *toadvanced, const T *fromstarts, const T *fromstops, const int64_t *fromarray, const int64_t *fromadvanced, int64_t lenstarts, int64_t lenarray, int64_t lencontent)
awkward::kernel::IndexedArray_flatten_nextcarry_64
ERROR IndexedArray_flatten_nextcarry_64(kernel::lib ptr_lib, int64_t *tocarry, const T *fromindex, int64_t lenindex, int64_t lencontent)
awkward::kernel::ListOffsetArray_local_preparenext_64
ERROR ListOffsetArray_local_preparenext_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromindex, int64_t length)
awkward::kernel::ListArray_localindex_64
ERROR ListArray_localindex_64(kernel::lib ptr_lib, int64_t *toindex, const T *offsets, int64_t length)
awkward::kernel::IndexedArray_fill_to64_count
ERROR IndexedArray_fill_to64_count(kernel::lib ptr_lib, int64_t *toindex, int64_t toindexoffset, int64_t length, int64_t base)
awkward::kernel::Identities_from_ListOffsetArray
ERROR Identities_from_ListOffsetArray(kernel::lib ptr_lib, C *toptr, const C *fromptr, const T *fromoffsets, int64_t tolength, int64_t fromlength, int64_t fromwidth)
awkward::kernel::ByteMaskedArray_overlay_mask8
ERROR ByteMaskedArray_overlay_mask8(kernel::lib ptr_lib, int8_t *tomask, const int8_t *theirmask, const int8_t *mymask, int64_t length, bool validwhen)
awkward::kernel::missing_repeat_64
ERROR missing_repeat_64(kernel::lib ptr_lib, int64_t *outindex, const int64_t *index, int64_t indexlength, int64_t repetitions, int64_t regularsize)
awkward::kernel::RegularArray_getitem_next_at_64
ERROR RegularArray_getitem_next_at_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t at, int64_t len, int64_t size)
awkward::kernel::NumpyArray_subrange_equal
ERROR NumpyArray_subrange_equal(kernel::lib ptr_lib, T *tmpptr, const int64_t *fromstarts, const int64_t *fromstops, int64_t length, bool *toequal)
awkward::kernel::NumpyArray_fill_tocomplex
ERROR NumpyArray_fill_tocomplex(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length)
awkward::kernel::IndexedArray_fill
ERROR IndexedArray_fill(kernel::lib ptr_lib, TO *toindex, int64_t toindexoffset, const FROM *fromindex, int64_t length, int64_t base)
awkward::kernel::UnionArray_fillindex
ERROR UnionArray_fillindex(kernel::lib ptr_lib, TO *toindex, int64_t toindexoffset, const FROM *fromindex, int64_t length)
awkward::kernel::IndexedArray_reduce_next_64
ERROR IndexedArray_reduce_next_64(kernel::lib ptr_lib, int64_t *nextcarry, int64_t *nextparents, int64_t *outindex, const T *index, int64_t *parents, int64_t length)
awkward::kernel::RegularArray_getitem_next_range_spreadadvanced_64
ERROR RegularArray_getitem_next_range_spreadadvanced_64(kernel::lib ptr_lib, int64_t *toadvanced, const int64_t *fromadvanced, int64_t len, int64_t nextsize)
awkward::kernel::Index_nones_as_index_64
ERROR Index_nones_as_index_64(kernel::lib ptr_lib, int64_t *toindex, int64_t length)
awkward::kernel::slicearray_ravel_64
ERROR slicearray_ravel_64(kernel::lib ptr_lib, int64_t *toptr, const int64_t *fromptr, int64_t ndim, const int64_t *shape, const int64_t *strides)
awkward::kernel::ListOffsetArray_reduce_local_nextparents_64
ERROR ListOffsetArray_reduce_local_nextparents_64(kernel::lib ptr_lib, int64_t *nextparents, const int64_t *offsets, int64_t length)
awkward::kernel::ListOffsetArray_reduce_nonlocal_preparenext_64
ERROR ListOffsetArray_reduce_nonlocal_preparenext_64(kernel::lib ptr_lib, int64_t *nextcarry, int64_t *nextparents, int64_t nextlen, int64_t *maxnextparents, int64_t *distincts, int64_t distinctslen, int64_t *offsetscopy, const int64_t *offsets, int64_t length, const int64_t *parents, int64_t maxcount)
awkward::kernel::NumpyArray_argsort
ERROR NumpyArray_argsort(kernel::lib ptr_lib, int64_t *toptr, const T *fromptr, int64_t length, const int64_t *offsets, int64_t offsetslength, bool ascending, bool stable)
awkward::kernel::NumpyArray_contiguous_init_64
ERROR NumpyArray_contiguous_init_64(kernel::lib ptr_lib, int64_t *toptr, int64_t skip, int64_t stride)
awkward::kernel::ListArray_getitem_next_array_64
ERROR ListArray_getitem_next_array_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *toadvanced, const T *fromstarts, const T *fromstops, const int64_t *fromarray, int64_t lenstarts, int64_t lenarray, int64_t lencontent)
awkward::kernel::NumpyArray_fill_frombool
ERROR NumpyArray_fill_frombool(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const bool *fromptr, int64_t length)
awkward::kernel::RegularArray_getitem_carry_64
ERROR RegularArray_getitem_carry_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromcarry, int64_t lencarry, int64_t size)
awkward::kernel::reduce_prod_bool_64
ERROR reduce_prod_bool_64(kernel::lib ptr_lib, bool *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::NumpyArray_getitem_next_null_64
ERROR NumpyArray_getitem_next_null_64(kernel::lib ptr_lib, uint8_t *toptr, const uint8_t *fromptr, int64_t len, int64_t stride, const int64_t *pos)
awkward::kernel::RegularArray_num_64
ERROR RegularArray_num_64(kernel::lib ptr_lib, int64_t *tonum, int64_t size, int64_t length)
awkward::kernel::reduce_max_64
ERROR reduce_max_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength, OUT identity)
awkward::kernel::NumpyArray_contiguous_next_64
ERROR NumpyArray_contiguous_next_64(kernel::lib ptr_lib, int64_t *topos, const int64_t *frompos, int64_t len, int64_t skip, int64_t stride)
awkward::kernel::NumpyArray_copy
ERROR NumpyArray_copy(kernel::lib ptr_lib, uint8_t *toptr, const uint8_t *fromptr, int64_t len)
awkward::kernel::UnionArray_fillna_64
ERROR UnionArray_fillna_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromindex, int64_t length)
awkward::kernel::IndexedArray_overlay_mask8_to64
ERROR IndexedArray_overlay_mask8_to64(kernel::lib ptr_lib, int64_t *toindex, const int8_t *mask, const T *fromindex, int64_t length)
awkward::kernel::UnionArray_filltags_to8_from8
ERROR UnionArray_filltags_to8_from8(kernel::lib ptr_lib, int8_t *totags, int64_t totagsoffset, const int8_t *fromtags, int64_t length, int64_t base)
awkward::kernel::NumpyArray_unique_strings
ERROR NumpyArray_unique_strings(kernel::lib ptr_lib, T *toptr, const int64_t *offsets, int64_t offsetslength, int64_t *outoffsets, int64_t *tolength)
awkward::kernel::NumpyArray_getitem_next_array_advanced_64
ERROR NumpyArray_getitem_next_array_advanced_64(kernel::lib ptr_lib, int64_t *nextcarryptr, const int64_t *carryptr, const int64_t *advancedptr, const int64_t *flatheadptr, int64_t lencarry, int64_t skip)
awkward::kernel::IndexedArray_index_of_nulls
ERROR IndexedArray_index_of_nulls(kernel::lib ptr_lib, int64_t *toindex, const T *fromindex, int64_t lenindex, const int64_t *parents, const int64_t *starts)
awkward::kernel::regularize_rangeslice
void regularize_rangeslice(int64_t *start, int64_t *stop, bool posstep, bool hasstart, bool hasstop, int64_t length)
awkward::kernel::sorting_ranges
ERROR sorting_ranges(kernel::lib ptr_lib, int64_t *toindex, int64_t tolength, const int64_t *parents, int64_t parentslength)
awkward::kernel::lib_tostring
const std::string lib_tostring(kernel::lib ptr_lib, void *ptr, const std::string &indent, const std::string &pre, const std::string &post)
Produces a <Lib> element for 'tostring' to indicate the kernel library.
awkward::kernel::IndexedArray_getitem_nextcarry_outindex_64
ERROR IndexedArray_getitem_nextcarry_outindex_64(kernel::lib ptr_lib, int64_t *tocarry, T *toindex, const T *fromindex, int64_t lenindex, int64_t lencontent)
awkward::kernel::IndexedArray_ranges_next_64
ERROR IndexedArray_ranges_next_64(kernel::lib ptr_lib, const T *index, const int64_t *fromstarts, const int64_t *fromstops, int64_t length, int64_t *tostarts, int64_t *tostops, int64_t *tolength)
awkward::kernel::ByteMaskedArray_toIndexedOptionArray64
ERROR ByteMaskedArray_toIndexedOptionArray64(kernel::lib ptr_lib, int64_t *toindex, const int8_t *mask, int64_t length, bool validwhen)
awkward::kernel::ListOffsetArray_rpad_and_clip_axis1_64
ERROR ListOffsetArray_rpad_and_clip_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromoffsets, int64_t length, int64_t target)
awkward::kernel::unique_malloc
UniquePtr< T > unique_malloc(kernel::lib ptr_lib, int64_t bytelength)
Definition: kernel-dispatch.h:200
awkward::kernel::ListArray_getitem_jagged_apply_64
ERROR ListArray_getitem_jagged_apply_64(kernel::lib ptr_lib, int64_t *tooffsets, int64_t *tocarry, const int64_t *slicestarts, const int64_t *slicestops, int64_t sliceouterlen, const int64_t *sliceindex, int64_t sliceinnerlen, const T *fromstarts, const T *fromstops, int64_t contentlen)
awkward::kernel::IndexedArray_numnull
ERROR IndexedArray_numnull(kernel::lib ptr_lib, int64_t *numnull, const T *fromindex, int64_t lenindex)
awkward::kernel::ByteMaskedArray_getitem_nextcarry_outindex_64
ERROR ByteMaskedArray_getitem_nextcarry_outindex_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *toindex, const int8_t *mask, int64_t length, bool validwhen)
awkward::kernel::ListOffsetArray_reduce_nonlocal_maxcount_offsetscopy_64
ERROR ListOffsetArray_reduce_nonlocal_maxcount_offsetscopy_64(kernel::lib ptr_lib, int64_t *maxcount, int64_t *offsetscopy, const int64_t *offsets, int64_t length)
awkward::kernel::RegularArray_getitem_jagged_expand_64
ERROR RegularArray_getitem_jagged_expand_64(kernel::lib ptr_lib, int64_t *multistarts, int64_t *multistops, const int64_t *singleoffsets, int64_t regularsize, int64_t regularlength)
awkward::kernel::ListArray_getitem_next_range_counts_64
ERROR ListArray_getitem_next_range_counts_64(kernel::lib ptr_lib, int64_t *total, const T *fromoffsets, int64_t lenstarts)
awkward::kernel::BitMaskedArray_to_ByteMaskedArray
ERROR BitMaskedArray_to_ByteMaskedArray(kernel::lib ptr_lib, int8_t *tobytemask, const uint8_t *frombitmask, int64_t bitmasklength, bool validwhen, bool lsb_order)
awkward::kernel::ListArray_rpad_axis1_64
ERROR ListArray_rpad_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromstarts, const T *fromstops, T *tostarts, T *tostops, int64_t target, int64_t length)
awkward::kernel::ByteMaskedArray_numnull
ERROR ByteMaskedArray_numnull(kernel::lib ptr_lib, int64_t *numnull, const int8_t *mask, int64_t length, bool validwhen)
awkward::kernel::IndexedArray_ranges_carry_next_64
ERROR IndexedArray_ranges_carry_next_64(kernel::lib ptr_lib, const T *index, const int64_t *fromstarts, const int64_t *fromstops, int64_t length, int64_t *tocarry)
awkward::kernel::copy_to
ERROR copy_to(kernel::lib to_lib, kernel::lib from_lib, void *to_ptr, void *from_ptr, int64_t bytelength)
Internal Function an array buffer from library FROM to library TO, usually between main memory and a ...
awkward::kernel::ListArray_num_64
ERROR ListArray_num_64(kernel::lib ptr_lib, int64_t *tonum, const T *fromstarts, const T *fromstops, int64_t length)
awkward::kernel::NumpyArray_sort
ERROR NumpyArray_sort(kernel::lib ptr_lib, T *toptr, const T *fromptr, int64_t length, const int64_t *offsets, int64_t offsetslength, int64_t parentslength, bool ascending, bool stable)
awkward::kernel::lib_callback
std::shared_ptr< LibraryCallback > lib_callback
awkward::kernel::ListArray_validity
ERROR ListArray_validity(kernel::lib ptr_lib, const T *starts, const T *stops, int64_t length, int64_t lencontent)
awkward::kernel::fully_qualified_cache_key
const std::string fully_qualified_cache_key(kernel::lib ptr_lib, const std::string &cache_key)
FIXME.
awkward::kernel::reduce_prod_64
ERROR reduce_prod_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::reduce_count_64
ERROR reduce_count_64(kernel::lib ptr_lib, int64_t *toptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::ListOffsetArray_argsort_strings
ERROR ListOffsetArray_argsort_strings(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromparents, int64_t length, const uint8_t *stringdata, const int64_t *stringstarts, const int64_t *stringstops, bool is_stable, bool is_ascending, bool is_local)
awkward::kernel::ListOffsetArray_reduce_global_startstop_64
ERROR ListOffsetArray_reduce_global_startstop_64(kernel::lib ptr_lib, int64_t *globalstart, int64_t *globalstop, const int64_t *offsets, int64_t length)
awkward::kernel::NumpyArray_getitem_boolean_nonzero_64
ERROR NumpyArray_getitem_boolean_nonzero_64(kernel::lib ptr_lib, int64_t *toptr, const int8_t *fromptr, int64_t length, int64_t stride)
awkward::kernel::NumpyArray_getitem_next_array_64
ERROR NumpyArray_getitem_next_array_64(kernel::lib ptr_lib, int64_t *nextcarryptr, int64_t *nextadvancedptr, const int64_t *carryptr, const int64_t *flatheadptr, int64_t lencarry, int64_t lenflathead, int64_t skip)
awkward::kernel::Content_getitem_next_missing_jagged_getmaskstartstop
ERROR Content_getitem_next_missing_jagged_getmaskstartstop(kernel::lib ptr_lib, int64_t *index_in, int64_t *offsets_in, int64_t *mask_out, int64_t *starts_out, int64_t *stops_out, int64_t length)
awkward::kernel::RegularArray_reduce_nonlocal_preparenext_64
ERROR RegularArray_reduce_nonlocal_preparenext_64(kernel::lib ptr_lib, int64_t *nextcarry, int64_t *nextparents, const int64_t *parents, int64_t size, int64_t length)
awkward::kernel::ListOffsetArray_reduce_local_outoffsets_64
ERROR ListOffsetArray_reduce_local_outoffsets_64(kernel::lib ptr_lib, int64_t *outoffsets, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::index_rpad_and_clip_axis0_64
ERROR index_rpad_and_clip_axis0_64(kernel::lib ptr_lib, int64_t *toindex, int64_t target, int64_t length)
awkward::kernel::UnionArray_filltags_to8_const
ERROR UnionArray_filltags_to8_const(kernel::lib ptr_lib, int8_t *totags, int64_t totagsoffset, int64_t length, int64_t base)
awkward::kernel::ListArray_getitem_next_at_64
ERROR ListArray_getitem_next_at_64(kernel::lib ptr_lib, int64_t *tocarry, const T *fromstarts, const T *fromstops, int64_t lenstarts, int64_t at)
awkward::kernel::NumpyArray_fill_tocomplex_frombool
ERROR NumpyArray_fill_tocomplex_frombool(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const bool *fromptr, int64_t length)
awkward::kernel::reduce_argmax_64
ERROR reduce_argmax_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::ByteMaskedArray_reduce_next_nonlocal_nextshifts_64
ERROR ByteMaskedArray_reduce_next_nonlocal_nextshifts_64(kernel::lib ptr_lib, int64_t *nextshifts, const int8_t *mask, int64_t length, bool valid_when)
awkward::kernel::lib_device_num
const int64_t lib_device_num(kernel::lib ptr_lib, void *ptr)
Returns the number of the device associated with the pointer.
awkward::kernel::ListArray_min_range
ERROR ListArray_min_range(kernel::lib ptr_lib, int64_t *tomin, const T *fromstarts, const T *fromstops, int64_t lenstarts)
awkward::kernel::MaskedArray_getitem_next_jagged_project
ERROR MaskedArray_getitem_next_jagged_project(kernel::lib ptr_lib, T *index, int64_t *starts_in, int64_t *stops_in, int64_t *starts_out, int64_t *stops_out, int64_t length)
awkward::kernel::ListArray_getitem_next_range_carrylength
ERROR ListArray_getitem_next_range_carrylength(kernel::lib ptr_lib, int64_t *carrylength, const T *fromstarts, const T *fromstops, int64_t lenstarts, int64_t start, int64_t stop, int64_t step)
awkward::kernel::NumpyArray_contiguous_copy_64
ERROR NumpyArray_contiguous_copy_64(kernel::lib ptr_lib, uint8_t *toptr, const uint8_t *fromptr, int64_t len, int64_t stride, const int64_t *pos)
awkward::kernel::UnionArray_simplify_one_to8_64
ERROR UnionArray_simplify_one_to8_64(kernel::lib ptr_lib, int8_t *totags, int64_t *toindex, const T *fromtags, const I *fromindex, int64_t towhich, int64_t fromwhich, int64_t length, int64_t base)
awkward::kernel::unique
ERROR unique(kernel::lib ptr_lib, T *toptr, int64_t length, int64_t *tolength)
awkward::kernel::acquire_symbol
void * acquire_symbol(void *handle, const std::string &symbol_name)
Internal utility function to return an opaque ptr if an symbol is found for the corresponding handle....
awkward::kernel::carry_arange
ERROR carry_arange(kernel::lib ptr_lib, T *toptr, int64_t length)
awkward::kernel::UnionArray_simplify8_32_to8_64
ERROR UnionArray_simplify8_32_to8_64(kernel::lib ptr_lib, int8_t *totags, int64_t *toindex, const T *outertags, const I *outerindex, const int8_t *innertags, const int32_t *innerindex, int64_t towhich, int64_t innerwhich, int64_t outerwhich, int64_t length, int64_t base)
awkward::kernel::reduce_argmin_64
ERROR reduce_argmin_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::RegularArray_getitem_next_array_64
ERROR RegularArray_getitem_next_array_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *toadvanced, const int64_t *fromarray, int64_t len, int64_t lenarray, int64_t size)
awkward::kernel::ListArray_broadcast_tooffsets_64
ERROR ListArray_broadcast_tooffsets_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromoffsets, int64_t offsetslength, const T *fromstarts, const T *fromstops, int64_t lencontent)
awkward::kernel::NumpyArray_getitem_next_range_advanced_64
ERROR NumpyArray_getitem_next_range_advanced_64(kernel::lib ptr_lib, int64_t *nextcarryptr, int64_t *nextadvancedptr, const int64_t *carryptr, const int64_t *advancedptr, int64_t lencarry, int64_t lenhead, int64_t skip, int64_t start, int64_t step)
awkward::kernel::one_mask8
ERROR one_mask8(kernel::lib ptr_lib, int8_t *tomask, int64_t length)
awkward::kernel::new_Identities
ERROR new_Identities(kernel::lib ptr_lib, T *toptr, int64_t length)
awkward::kernel::RegularArray_compact_offsets_64
ERROR RegularArray_compact_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, int64_t length, int64_t size)
awkward::kernel::ListArray_compact_offsets_64
ERROR ListArray_compact_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, const T *fromstarts, const T *fromstops, int64_t length)
awkward::kernel::NumpyArray_getitem_next_at_64
ERROR NumpyArray_getitem_next_at_64(kernel::lib ptr_lib, int64_t *nextcarryptr, const int64_t *carryptr, int64_t lencarry, int64_t skip, int64_t at)
awkward::kernel::Identities_getitem_carry_64
ERROR Identities_getitem_carry_64(kernel::lib ptr_lib, ID *newidentitiesptr, const ID *identitiesptr, const int64_t *carryptr, int64_t lencarry, int64_t width, int64_t length)
awkward::kernel::RegularArray_rpad_and_clip_axis1_64
ERROR RegularArray_rpad_and_clip_axis1_64(kernel::lib ptr_lib, int64_t *toindex, int64_t target, int64_t size, int64_t length)
awkward::kernel::slicemissing_check_same
ERROR slicemissing_check_same(kernel::lib ptr_lib, bool *same, const int8_t *bytemask, const int64_t *missingindex, int64_t length)
awkward::kernel::reduce_sum_bool_64
ERROR reduce_sum_bool_64(kernel::lib ptr_lib, bool *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::ByteMaskedArray_reduce_next_nonlocal_nextshifts_fromshifts_64
ERROR ByteMaskedArray_reduce_next_nonlocal_nextshifts_fromshifts_64(kernel::lib ptr_lib, int64_t *nextshifts, const int8_t *mask, int64_t length, bool valid_when, const int64_t *shifts)
awkward::kernel::ListArray_getitem_jagged_carrylen_64
ERROR ListArray_getitem_jagged_carrylen_64(kernel::lib ptr_lib, int64_t *carrylen, const int64_t *slicestarts, const int64_t *slicestops, int64_t sliceouterlen)
awkward::kernel::ListArray_getitem_jagged_shrink_64
ERROR ListArray_getitem_jagged_shrink_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *tosmalloffsets, int64_t *tolargeoffsets, const int64_t *slicestarts, const int64_t *slicestops, int64_t length, const int64_t *missing)
awkward::kernel::IndexedArray_validity
ERROR IndexedArray_validity(kernel::lib ptr_lib, const T *index, int64_t length, int64_t lencontent, bool isoption)
awkward::kernel::RegularArray_getitem_next_array_advanced_64
ERROR RegularArray_getitem_next_array_advanced_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *toadvanced, const int64_t *fromadvanced, const int64_t *fromarray, int64_t len, int64_t lenarray, int64_t size)
awkward::kernel::ListArray_getitem_next_range_64
ERROR ListArray_getitem_next_range_64(kernel::lib ptr_lib, T *tooffsets, int64_t *tocarry, const T *fromstarts, const T *fromstops, int64_t lenstarts, int64_t start, int64_t stop, int64_t step)
awkward::kernel::UnionArray_flatten_length_64
ERROR UnionArray_flatten_length_64(kernel::lib ptr_lib, int64_t *total_length, const T *fromtags, const I *fromindex, int64_t length, int64_t **offsetsraws)
awkward::kernel::ListArray_getitem_jagged_numvalid_64
ERROR ListArray_getitem_jagged_numvalid_64(kernel::lib ptr_lib, int64_t *numvalid, const int64_t *slicestarts, const int64_t *slicestops, int64_t length, const int64_t *missing, int64_t missinglength)
awkward::kernel::UnionArray_project_64
ERROR UnionArray_project_64(kernel::lib ptr_lib, int64_t *lenout, int64_t *tocarry, const T *fromtags, const I *fromindex, int64_t length, int64_t which)
awkward::kernel::IndexedArray_simplifyU32_to64
ERROR IndexedArray_simplifyU32_to64(kernel::lib ptr_lib, int64_t *toindex, const T *outerindex, int64_t outerlength, const uint32_t *innerindex, int64_t innerlength)
awkward::kernel::NumpyArray_quick_sort
ERROR NumpyArray_quick_sort(kernel::lib ptr_lib, T *tmpptr, int64_t *tmpbeg, int64_t *tmpend, const int64_t *fromstarts, const int64_t *fromstops, bool ascending, int64_t length, int64_t maxlevels)
awkward::kernel::Index_carry_nocheck_64
ERROR Index_carry_nocheck_64(kernel::lib ptr_lib, T *toindex, const T *fromindex, const int64_t *carry, int64_t length)
awkward::kernel::IndexedArray_mask8
ERROR IndexedArray_mask8(kernel::lib ptr_lib, int8_t *tomask, const T *fromindex, int64_t length)
awkward::kernel::NumpyArray_fill_scaled
ERROR NumpyArray_fill_scaled(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length, double scale)
awkward::kernel::NumpyArray_getitem_at0
T NumpyArray_getitem_at0(kernel::lib ptr_lib, T *ptr)
Internal utility kernel to avoid raw pointer access.
awkward::kernel::NumpyArray_contiguous_copy_from_many_64
ERROR NumpyArray_contiguous_copy_from_many_64(kernel::lib ptr_lib, uint8_t *toptr, const uint8_t **fromptrs, int64_t *fromlens, int64_t len, int64_t stride, const int64_t *pos)
awkward::kernel::regularize_arrayslice_64
ERROR regularize_arrayslice_64(kernel::lib ptr_lib, int64_t *flatheadptr, int64_t lenflathead, int64_t length)
awkward::kernel::index_getitem_at_nowrap
T index_getitem_at_nowrap(kernel::lib ptr_lib, T *ptr, int64_t at)
awkward::kernel::IndexedOptionArray_rpad_and_clip_mask_axis1_64
ERROR IndexedOptionArray_rpad_and_clip_mask_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const int8_t *frommask, int64_t length)
awkward::kernel::NumpyArray_sort_asstrings
ERROR NumpyArray_sort_asstrings(kernel::lib ptr_lib, T *toptr, const T *fromptr, const int64_t *offsets, int64_t offsetslength, int64_t *outoffsets, bool ascending, bool stable)
awkward::kernel::RegularArray_reduce_local_nextparents_64
ERROR RegularArray_reduce_local_nextparents_64(kernel::lib ptr_lib, int64_t *nextparents, int64_t size, int64_t length)
awkward::kernel::NumpyArray_rearrange_shifted
ERROR NumpyArray_rearrange_shifted(kernel::lib ptr_lib, TO *toptr, const FROM *fromshifts, int64_t length, const FROM *fromoffsets, int64_t offsetslength, const FROM *fromparents, int64_t parentslength, const FROM *fromstarts, int64_t startslength)
awkward::kernel::ListArray_getitem_next_range_spreadadvanced_64
ERROR ListArray_getitem_next_range_spreadadvanced_64(kernel::lib ptr_lib, int64_t *toadvanced, const int64_t *fromadvanced, const T *fromoffsets, int64_t lenstarts)
awkward::kernel::content_reduce_zeroparents_64
ERROR content_reduce_zeroparents_64(kernel::lib ptr_lib, int64_t *toparents, int64_t length)
awkward::kernel::ByteMaskedArray_getitem_nextcarry_64
ERROR ByteMaskedArray_getitem_nextcarry_64(kernel::lib ptr_lib, int64_t *tocarry, const int8_t *mask, int64_t length, bool validwhen)
awkward::kernel::malloc
std::shared_ptr< T > malloc(kernel::lib ptr_lib, int64_t bytelength)
Internal Function to allocate an empty array of a given length with a given type. The bytelength para...
Definition: kernel-dispatch.h:171
awkward::kernel::lib
lib
Definition: kernel-dispatch.h:20
awkward::kernel::lib::cuda
@ cuda
awkward::kernel::lib::cpu
@ cpu
awkward::kernel::lib::size
@ size
awkward::kernel::ListOffsetArray_getitem_adjust_offsets_64
ERROR ListOffsetArray_getitem_adjust_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, int64_t *tononzero, const int64_t *fromoffsets, int64_t length, const int64_t *nonzero, int64_t nonzerolength)
awkward::kernel::ListOffsetArray_rpad_axis1_64
ERROR ListOffsetArray_rpad_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromoffsets, int64_t fromlength, int64_t target)
awkward::kernel::NumpyArray_reduce_adjust_starts_shifts_64
ERROR NumpyArray_reduce_adjust_starts_shifts_64(kernel::lib ptr_lib, int64_t *toptr, int64_t outlength, const int64_t *parents, const int64_t *starts, const int64_t *shifts)
awkward::kernel::index_rpad_and_clip_axis1_64
ERROR index_rpad_and_clip_axis1_64(kernel::lib ptr_lib, int64_t *tostarts, int64_t *tostops, int64_t target, int64_t length)
awkward::kernel::UniquePtrDeleter
decltype(kernel::array_deleter< T >()) UniquePtrDeleter
Definition: kernel-dispatch.h:195
awkward::kernel::ListOffsetArray_getitem_adjust_offsets_index_64
ERROR ListOffsetArray_getitem_adjust_offsets_index_64(kernel::lib ptr_lib, int64_t *tooffsets, int64_t *tononzero, const int64_t *fromoffsets, int64_t length, const int64_t *index, int64_t indexlength, const int64_t *nonzero, int64_t nonzerolength, const int8_t *originalmask, int64_t masklength)
awkward::kernel::reduce_countnonzero_64
ERROR reduce_countnonzero_64(kernel::lib ptr_lib, int64_t *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
awkward::kernel::acquire_handle
void * acquire_handle(kernel::lib ptr_lib)
Internal utility function to return an opaque ptr if an handle is acquired for the specified ptr_lib....
awkward::kernel::UniquePtr
std::unique_ptr< T, UniquePtrDeleter< T > > UniquePtr
Definition: kernel-dispatch.h:197
awkward::kernel::UnionArray_fillindex_count_64
ERROR UnionArray_fillindex_count_64(kernel::lib ptr_lib, int64_t *toindex, int64_t toindexoffset, int64_t length)
awkward::kernel::UnionArray_nestedfill_tags_index_64
ERROR UnionArray_nestedfill_tags_index_64(kernel::lib ptr_lib, T *totags, I *toindex, int64_t *tmpstarts, T tag, const int64_t *fromcounts, int64_t length)
awkward::kernel::ByteMaskedArray_getitem_carry_64
ERROR ByteMaskedArray_getitem_carry_64(kernel::lib ptr_lib, int8_t *tomask, const int8_t *frommask, int64_t lenmask, const int64_t *fromcarry, int64_t lencarry)
awkward::kernel::sorting_ranges_length
ERROR sorting_ranges_length(kernel::lib ptr_lib, int64_t *tolength, const int64_t *parents, int64_t parentslength)
awkward::kernel::UnionArray_regular_index
ERROR UnionArray_regular_index(kernel::lib ptr_lib, I *toindex, I *current, int64_t size, const T *fromtags, int64_t length)
awkward::kernel::RegularArray_localindex_64
ERROR RegularArray_localindex_64(kernel::lib ptr_lib, int64_t *toindex, int64_t size, int64_t length)
awkward::kernel::IndexedArray_reduce_next_fix_offsets_64
ERROR IndexedArray_reduce_next_fix_offsets_64(kernel::lib ptr_lib, int64_t *outoffsets, const int64_t *starts, int64_t startslength, int64_t outindexlength)
awkward::kernel::ListOffsetArray_reduce_nonlocal_nextshifts_64
ERROR ListOffsetArray_reduce_nonlocal_nextshifts_64(kernel::lib ptr_lib, int64_t *nummissing, int64_t *missing, int64_t *nextshifts, const int64_t *offsets, int64_t length, const int64_t *starts, const int64_t *parents, int64_t maxcount, int64_t nextlen, const int64_t *nextcarry)
awkward::kernel::NumpyArray_fill_fromcomplex
ERROR NumpyArray_fill_fromcomplex(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length)
awkward::kernel::Index_to_Index64
ERROR Index_to_Index64(kernel::lib ptr_lib, int64_t *toptr, const T *fromptr, int64_t length)
awkward::kernel::ListArray_combinations_length_64
ERROR ListArray_combinations_length_64(kernel::lib ptr_lib, int64_t *totallen, int64_t *tooffsets, int64_t n, bool replacement, const T *starts, const T *stops, int64_t length)
awkward::kernel::NumpyArray_getitem_boolean_numtrue
ERROR NumpyArray_getitem_boolean_numtrue(kernel::lib ptr_lib, int64_t *numtrue, const int8_t *fromptr, int64_t length, int64_t stride)
awkward::kernel::ListOffsetArray_rpad_length_axis1
ERROR ListOffsetArray_rpad_length_axis1(kernel::lib ptr_lib, T *tooffsets, const T *fromoffsets, int64_t fromlength, int64_t target, int64_t *tolength)
awkward::kernel::NumpyArray_fill
ERROR NumpyArray_fill(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length)
awkward::kernel::RegularArray_broadcast_tooffsets_64
ERROR RegularArray_broadcast_tooffsets_64(kernel::lib ptr_lib, const int64_t *fromoffsets, int64_t offsetslength, int64_t size)
awkward::kernel::IndexedArray_getitem_nextcarry_outindex_mask_64
ERROR IndexedArray_getitem_nextcarry_outindex_mask_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t *toindex, const T *fromindex, int64_t lenindex, int64_t lencontent)
awkward::kernel::RegularArray_getitem_next_array_regularize_64
ERROR RegularArray_getitem_next_array_regularize_64(kernel::lib ptr_lib, int64_t *toarray, const int64_t *fromarray, int64_t lenarray, int64_t size)
awkward::kernel::UnionArray_simplify8_U32_to8_64
ERROR UnionArray_simplify8_U32_to8_64(kernel::lib ptr_lib, int8_t *totags, int64_t *toindex, const T *outertags, const I *outerindex, const int8_t *innertags, const uint32_t *innerindex, int64_t towhich, int64_t innerwhich, int64_t outerwhich, int64_t length, int64_t base)
awkward::kernel::Identities_from_UnionArray
ERROR Identities_from_UnionArray(kernel::lib ptr_lib, bool *uniquecontents, C *toptr, const C *fromptr, const T *fromtags, const I *fromindex, int64_t tolength, int64_t fromlength, int64_t fromwidth, int64_t which)
awkward::kernel::combinations
ERROR combinations(kernel::lib ptr_lib, T *toindex, int64_t n, bool replacement, int64_t singlelen)
awkward::kernel::UnionArray_regular_index_getsize
ERROR UnionArray_regular_index_getsize(kernel::lib ptr_lib, int64_t *size, const T *fromtags, int64_t length)
awkward::kernel::ListArray_getitem_jagged_expand_64
ERROR ListArray_getitem_jagged_expand_64(kernel::lib ptr_lib, int64_t *multistarts, int64_t *multistops, const int64_t *singleoffsets, int64_t *tocarry, const T *fromstarts, const T *fromstops, int64_t jaggedsize, int64_t length)
awkward::kernel::IndexedArray_getitem_carry_64
ERROR IndexedArray_getitem_carry_64(kernel::lib ptr_lib, T *toindex, const T *fromindex, const int64_t *fromcarry, int64_t lenindex, int64_t lencarry)
awkward::kernel::IndexedArray_reduce_next_nonlocal_nextshifts_fromshifts_64
ERROR IndexedArray_reduce_next_nonlocal_nextshifts_fromshifts_64(kernel::lib ptr_lib, int64_t *nextshifts, const T *index, int64_t length, const int64_t *shifts)
awkward::kernel::IndexedArray_local_preparenext_64
ERROR IndexedArray_local_preparenext_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *starts, const int64_t *parents, const int64_t parentslength, const int64_t *nextparents, const int64_t nextlen)
awkward::kernel::NumpyArray_getitem_next_range_64
ERROR NumpyArray_getitem_next_range_64(kernel::lib ptr_lib, int64_t *nextcarryptr, const int64_t *carryptr, int64_t lencarry, int64_t lenhead, int64_t skip, int64_t start, int64_t step)
awkward::kernel::IndexedArray_getitem_adjust_outindex_64
ERROR IndexedArray_getitem_adjust_outindex_64(kernel::lib ptr_lib, int8_t *tomask, int64_t *toindex, int64_t *tononzero, const int64_t *fromindex, int64_t fromindexlength, const int64_t *nonzero, int64_t nonzerolength)
awkward::kernel::index_setitem_at_nowrap
void index_setitem_at_nowrap(kernel::lib ptr_lib, T *ptr, int64_t at, T value)
awkward::kernel::Identities_from_ListArray
ERROR Identities_from_ListArray(kernel::lib ptr_lib, bool *uniquecontents, C *toptr, const C *fromptr, const T *fromstarts, const T *fromstops, int64_t tolength, int64_t fromlength, int64_t fromwidth)
awkward
Definition: BitMaskedArray.h:15
awkward::state::index
@ index
awkward::state::tag
@ tag
util.h