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 
17 namespace awkward {
18  namespace kernel {
19 
20  enum class lib {
21  cpu,
22  cuda,
23  size
24  };
25 
27  public:
28  LibraryPathCallback() = default;
29  virtual std::string library_path() = 0;
30  };
31 
33  public:
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>
75  public:
78  void operator()(T const *ptr) {
79  awkward_free(reinterpret_cast<void const*>(ptr));
80  }
81  };
82 
97  template <typename T>
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>
127  public:
130  void operator()(T const *ptr) { }
131  };
132 
134  const int64_t
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
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)),
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)),
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>
196  template<class T>
197  using UniquePtr = std::unique_ptr<T, UniquePtrDeleter<T>>;
198 
199  template <typename T>
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)),
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>
219  kernel::lib ptr_lib,
220  T* ptr);
221 
222  // FIXME: move regularize_rangeslice to common.h; it's not a kernel.
224  int64_t* start,
225  int64_t* stop,
226  bool posstep,
227  bool hasstart,
228  bool hasstop,
229  int64_t length);
230 
232  kernel::lib ptr_lib,
233  int64_t* flatheadptr,
234  int64_t lenflathead,
235  int64_t length);
236 
237  template <typename T>
239  kernel::lib ptr_lib,
240  bool* result,
241  const T* fromindex,
242  int64_t length);
243 
244  template <typename T>
246  kernel::lib ptr_lib,
247  int64_t* toptr,
248  const T* fromptr,
249  int64_t length);
250 
251  template <typename T>
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>
262  kernel::lib ptr_lib,
263  T* toindex,
264  const T* fromindex,
265  const int64_t* carry,
266  int64_t length);
267 
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 
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>
285  kernel::lib ptr_lib,
286  T* toptr,
287  int64_t length);
288 
289  template <typename ID>
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 
300  kernel::lib ptr_lib,
301  int64_t* toptr,
302  int64_t skip,
303  int64_t stride);
304 
306  kernel::lib ptr_lib,
307  uint8_t* toptr,
308  const uint8_t* fromptr,
309  int64_t len);
310 
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 
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 
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 
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 
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 
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 
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 
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 
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 
394  kernel::lib ptr_lib,
395  int64_t* numtrue,
396  const int8_t* fromptr,
397  int64_t length,
398  int64_t stride);
399 
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>
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>
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>
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>
443  kernel::lib ptr_lib,
444  int64_t* total,
445  const T* fromoffsets,
446  int64_t lenstarts);
447 
448 
449  template <typename T>
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>
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>
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>
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 
497  kernel::lib ptr_lib,
498  int64_t* tocarry,
499  int64_t at,
500  int64_t len,
501  int64_t size);
502 
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 
513  kernel::lib ptr_lib,
514  int64_t* toadvanced,
515  const int64_t* fromadvanced,
516  int64_t len,
517  int64_t nextsize);
518 
520  kernel::lib ptr_lib,
521  int64_t* toarray,
522  const int64_t* fromarray,
523  int64_t lenarray,
524  int64_t size);
525 
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 
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 
546  kernel::lib ptr_lib,
547  int64_t* tocarry,
548  const int64_t* fromcarry,
549  int64_t lencarry,
550  int64_t size);
551 
552  template <typename T>
554  kernel::lib ptr_lib,
555  int64_t* numnull,
556  const T* fromindex,
557  int64_t lenindex);
558 
559  template <typename T>
561  kernel::lib ptr_lib,
562  int64_t* toindex,
563  const T* fromindex,
564  int64_t lenindex,
565  const int64_t* parents,
566  const int64_t* starts);
567 
568  template <typename T>
570  kernel::lib ptr_lib,
571  int64_t* tocarry,
572  T* toindex,
573  const T* fromindex,
574  int64_t lenindex,
575  int64_t lencontent);
576 
577  template <typename T>
579  kernel::lib ptr_lib,
580  int64_t* tocarry,
581  int64_t* toindex,
582  const T* fromindex,
583  int64_t lenindex,
584  int64_t lencontent);
585 
587  kernel::lib ptr_lib,
588  int64_t* tooffsets,
589  int64_t* tononzero,
590  const int64_t* fromoffsets,
591  int64_t length,
592  const int64_t* nonzero,
593  int64_t nonzerolength);
594 
596  kernel::lib ptr_lib,
597  int64_t* tooffsets,
598  int64_t* tononzero,
599  const int64_t* fromoffsets,
600  int64_t length,
601  const int64_t* index,
602  int64_t indexlength,
603  const int64_t* nonzero,
604  int64_t nonzerolength,
605  const int8_t* originalmask,
606  int64_t masklength);
607 
609  kernel::lib ptr_lib,
610  int8_t* tomask,
611  int64_t* toindex,
612  int64_t* tononzero,
613  const int64_t* fromindex,
614  int64_t fromindexlength,
615  const int64_t* nonzero,
616  int64_t nonzerolength);
617 
618  template <typename T>
620  kernel::lib ptr_lib,
621  int64_t* tocarry,
622  const T* fromindex,
623  int64_t lenindex,
624  int64_t lencontent);
625 
626 
627  template <typename T>
629  kernel::lib ptr_lib,
630  T* toindex,
631  const T* fromindex,
632  const int64_t* fromcarry,
633  int64_t lenindex,
634  int64_t lencarry);
635 
636  template <typename T>
638  kernel::lib ptr_lib,
639  int64_t* size,
640  const T* fromtags,
641  int64_t length);
642 
643  template <typename T, typename I>
645  kernel::lib ptr_lib,
646  I* toindex,
647  I* current,
648  int64_t size,
649  const T* fromtags,
650  int64_t length);
651 
652  template <typename T, typename I>
654  kernel::lib ptr_lib,
655  int64_t* lenout,
656  int64_t* tocarry,
657  const T* fromtags,
658  const I* fromindex,
659  int64_t length,
660  int64_t which);
661 
663  kernel::lib ptr_lib,
664  int64_t* outindex,
665  const int64_t* index,
666  int64_t indexlength,
667  int64_t repetitions,
668  int64_t regularsize);
669 
671  kernel::lib ptr_lib,
672  int64_t* multistarts,
673  int64_t * multistops,
674  const int64_t* singleoffsets,
675  int64_t regularsize,
676  int64_t regularlength);
677 
678  template <typename T>
680  kernel::lib ptr_lib,
681  int64_t* multistarts,
682  int64_t* multistops,
683  const int64_t* singleoffsets,
684  int64_t* tocarry,
685  const T* fromstarts,
686  const T* fromstops,
687  int64_t jaggedsize,
688  int64_t length);
689 
691  kernel::lib ptr_lib,
692  int64_t* carrylen,
693  const int64_t* slicestarts,
694  const int64_t* slicestops,
695  int64_t sliceouterlen);
696 
697  template <typename T>
699  kernel::lib ptr_lib,
700  int64_t* tooffsets,
701  int64_t* tocarry,
702  const int64_t* slicestarts,
703  const int64_t* slicestops,
704  int64_t sliceouterlen,
705  const int64_t* sliceindex,
706  int64_t sliceinnerlen,
707  const T* fromstarts,
708  const T* fromstops,
709  int64_t contentlen);
710 
712  kernel::lib ptr_lib,
713  int64_t* numvalid,
714  const int64_t* slicestarts,
715  const int64_t* slicestops,
716  int64_t length,
717  const int64_t* missing,
718  int64_t missinglength);
719 
721  kernel::lib ptr_lib,
722  int64_t* tocarry,
723  int64_t* tosmalloffsets,
724  int64_t* tolargeoffsets,
725  const int64_t* slicestarts,
726  const int64_t* slicestops,
727  int64_t length,
728  const int64_t* missing);
729 
730  template <typename T>
732  kernel::lib ptr_lib,
733  int64_t* tooffsets,
734  const int64_t* slicestarts,
735  const int64_t* slicestops,
736  int64_t sliceouterlen,
737  const T* fromstarts,
738  const T* fromstops);
739 
740  template <typename T>
742  kernel::lib ptr_lib,
743  T* ptr,
744  int64_t at);
745 
746  template <typename T>
748  kernel::lib ptr_lib,
749  T* ptr,
750  int64_t at,
751  T value);
752 
754  kernel::lib ptr_lib,
755  int8_t* tomask,
756  const int8_t* frommask,
757  int64_t lenmask,
758  const int64_t* fromcarry,
759  int64_t lencarry);
760 
762  kernel::lib ptr_lib,
763  int64_t* numnull,
764  const int8_t* mask,
765  int64_t length,
766  bool validwhen);
767 
769  kernel::lib ptr_lib,
770  int64_t* tocarry,
771  const int8_t* mask,
772  int64_t length,
773  bool validwhen);
774 
776  kernel::lib ptr_lib,
777  int64_t* tocarry,
778  int64_t* toindex,
779  const int8_t* mask,
780  int64_t length,
781  bool validwhen);
782 
784  kernel::lib ptr_lib,
785  int64_t* toindex,
786  const int8_t* mask,
787  int64_t length,
788  bool validwhen);
789 
791  kernel::lib ptr_lib,
792  int64_t* index_in,
793  int64_t* offsets_in,
794  int64_t* mask_out,
795  int64_t* starts_out,
796  int64_t* stops_out,
797  int64_t length);
798 
799  template <typename T>
801  kernel::lib ptr_lib,
802  T* index,
803  int64_t* starts_in,
804  int64_t* stops_in,
805  int64_t* starts_out,
806  int64_t* stops_out,
807  int64_t length);
808 
810 
811  template <typename T>
813  kernel::lib ptr_lib,
814  T* toptr,
815  int64_t length);
816 
817  template <typename T>
819  kernel::lib ptr_lib,
820  int64_t* toptr,
821  const T* fromptr,
822  int64_t length,
823  int64_t width);
824 
825  template <typename C, typename T>
827  kernel::lib ptr_lib,
828  C* toptr,
829  const C* fromptr,
830  const T* fromoffsets,
831  int64_t tolength,
832  int64_t fromlength,
833  int64_t fromwidth);
834 
835  template <typename C, typename T>
837  kernel::lib ptr_lib,
838  bool* uniquecontents,
839  C* toptr,
840  const C* fromptr,
841  const T* fromstarts,
842  const T* fromstops,
843  int64_t tolength,
844  int64_t fromlength,
845  int64_t fromwidth);
846 
847  template <typename ID>
849  kernel::lib ptr_lib,
850  ID* toptr,
851  const ID* fromptr,
852  int64_t size,
853  int64_t tolength,
854  int64_t fromlength,
855  int64_t fromwidth);
856 
857 
858  template <typename C, typename T>
860  kernel::lib ptr_lib,
861  bool* uniquecontents,
862  C* toptr,
863  const C* fromptr,
864  const T* fromindex,
865  int64_t tolength,
866  int64_t fromlength,
867  int64_t fromwidth);
868 
869 
870  template <typename C, typename T, typename I>
872  kernel::lib ptr_lib,
873  bool* uniquecontents,
874  C* toptr,
875  const C* fromptr,
876  const T* fromtags,
877  const I* fromindex,
878  int64_t tolength,
879  int64_t fromlength,
880  int64_t fromwidth,
881  int64_t which);
882 
883  template <typename ID>
885  kernel::lib ptr_lib,
886  ID* toptr,
887  const ID* fromptr,
888  int64_t fromlength,
889  int64_t tolength);
890 
892 
893  template <typename T>
895  kernel::lib ptr_lib,
896  int64_t* tonum,
897  const T* fromstarts,
898  const T* fromstops,
899  int64_t length);
900 
902  kernel::lib ptr_lib,
903  int64_t* tonum,
904  int64_t size,
905  int64_t length);
906 
907  template <typename T>
909  kernel::lib ptr_lib,
910  int64_t* tooffsets,
911  const T* outeroffsets,
912  int64_t outeroffsetslen,
913  const int64_t* inneroffsets,
914  int64_t inneroffsetslen);
915 
916  template <typename T>
918  kernel::lib ptr_lib,
919  int64_t* outoffsets,
920  const T* outindex,
921  int64_t outindexlength,
922  const int64_t* offsets,
923  int64_t offsetslength);
924 
925 
926  template <typename T, typename I>
928  kernel::lib ptr_lib,
929  int64_t* total_length,
930  const T* fromtags,
931  const I* fromindex,
932  int64_t length,
933  int64_t** offsetsraws);
934 
935 
936  template <typename T, typename I>
938  kernel::lib ptr_lib,
939  T* totags,
940  I* toindex,
941  int64_t* tmpstarts,
942  T tag,
943  const int64_t* fromcounts,
944  int64_t length);
945 
946 
947  template <typename T, typename I>
949  kernel::lib ptr_lib,
950  int8_t* totags,
951  int64_t* toindex,
952  int64_t* tooffsets,
953  const T* fromtags,
954  const I* fromindex,
955  int64_t length,
956  int64_t** offsetsraws);
957 
958 
959  template <typename T>
961  kernel::lib ptr_lib,
962  int64_t* tocarry,
963  const T* fromindex,
964  int64_t lenindex,
965  int64_t lencontent);
966 
967  template <typename T>
969  kernel::lib ptr_lib,
970  int64_t* toindex,
971  const int8_t* mask,
972  const T* fromindex,
973  int64_t length);
974 
975 
976  template <typename T>
978  kernel::lib ptr_lib,
979  int8_t* tomask,
980  const T* fromindex,
981  int64_t length);
982 
984  kernel::lib ptr_lib,
985  int8_t* tomask,
986  const int8_t* frommask,
987  int64_t length,
988  bool validwhen);
989 
991  kernel::lib ptr_lib,
992  int8_t* tomask,
993  int64_t length);
994 
996  kernel::lib ptr_lib,
997  int8_t* tomask,
998  int64_t length);
999 
1000  template <typename T>
1002  kernel::lib ptr_lib,
1003  int64_t* toindex,
1004  const T* outerindex,
1005  int64_t outerlength,
1006  const int32_t* innerindex,
1007  int64_t innerlength);
1008 
1009 
1010  template <typename T>
1012  kernel::lib ptr_lib,
1013  int64_t* toindex,
1014  const T* outerindex,
1015  int64_t outerlength,
1016  const uint32_t* innerindex,
1017  int64_t innerlength);
1018 
1019 
1020  template <typename T>
1022  kernel::lib ptr_lib,
1023  int64_t* toindex,
1024  const T* outerindex,
1025  int64_t outerlength,
1026  const int64_t* innerindex,
1027  int64_t innerlength);
1028 
1029  template <typename T>
1031  kernel::lib ptr_lib,
1032  int64_t* tooffsets,
1033  const T* fromstarts,
1034  const T* fromstops,
1035  int64_t length);
1036 
1038  kernel::lib ptr_lib,
1039  int64_t* tooffsets,
1040  int64_t length,
1041  int64_t size);
1042 
1043  template <typename T>
1045  kernel::lib ptr_lib,
1046  int64_t* tooffsets,
1047  const T* fromoffsets,
1048  int64_t length);
1049 
1050 
1051  template <typename T>
1053  kernel::lib ptr_lib,
1054  int64_t* tocarry,
1055  const int64_t* fromoffsets,
1056  int64_t offsetslength,
1057  const T* fromstarts,
1058  const T* fromstops,
1059  int64_t lencontent);
1060 
1062  kernel::lib ptr_lib,
1063  const int64_t* fromoffsets,
1064  int64_t offsetslength,
1065  int64_t size);
1066 
1068  kernel::lib ptr_lib,
1069  int64_t* tocarry,
1070  const int64_t* fromoffsets,
1071  int64_t offsetslength);
1072 
1073  template <typename T>
1075  kernel::lib ptr_lib,
1076  int64_t* size,
1077  const T* fromoffsets,
1078  int64_t offsetslength);
1079 
1080  template <typename FROM, typename TO>
1082  kernel::lib ptr_lib,
1083  TO* toptr,
1084  int64_t tooffset,
1085  const FROM* fromptr,
1086  int64_t length);
1087 
1088  template <typename TO>
1090  kernel::lib ptr_lib,
1091  TO* toptr,
1092  int64_t tooffset,
1093  const bool* fromptr,
1094  int64_t length);
1095 
1096  template <typename FROM, typename TO>
1098  kernel::lib ptr_lib,
1099  TO* toptr,
1100  int64_t tooffset,
1101  const FROM* fromptr,
1102  int64_t length);
1103 
1104  template <typename FROM, typename TO>
1106  kernel::lib ptr_lib,
1107  TO* toptr,
1108  int64_t tooffset,
1109  const FROM* fromptr,
1110  int64_t length);
1111 
1112  template <typename TO>
1114  kernel::lib ptr_lib,
1115  TO* toptr,
1116  int64_t tooffset,
1117  const bool* fromptr,
1118  int64_t length);
1119 
1120  template <typename FROM, typename TO>
1122  kernel::lib ptr_lib,
1123  TO* toptr,
1124  int64_t tooffset,
1125  const FROM* fromptr,
1126  int64_t length,
1127  double scale);
1128 
1129  template <typename FROM, typename TO>
1131  kernel::lib ptr_lib,
1132  TO* toptr,
1133  const FROM* fromshifts,
1134  int64_t length,
1135  const FROM* fromoffsets,
1136  int64_t offsetslength,
1137  const FROM* fromparents,
1138  int64_t parentslength,
1139  const FROM* fromstarts,
1140  int64_t startslength);
1141 
1142  template <typename FROM, typename TO>
1144  kernel::lib ptr_lib,
1145  TO* tostarts,
1146  int64_t tostartsoffset,
1147  TO* tostops,
1148  int64_t tostopsoffset,
1149  const FROM* fromstarts,
1150  const FROM* fromstops,
1151  int64_t length,
1152  int64_t base);
1153 
1154  template <typename FROM, typename TO>
1156  kernel::lib ptr_lib,
1157  TO* toindex,
1158  int64_t toindexoffset,
1159  const FROM* fromindex,
1160  int64_t length,
1161  int64_t base);
1162 
1164  kernel::lib ptr_lib,
1165  int64_t* toindex,
1166  int64_t toindexoffset,
1167  int64_t length,
1168  int64_t base);
1169 
1171  kernel::lib ptr_lib,
1172  int8_t* totags,
1173  int64_t totagsoffset,
1174  const int8_t* fromtags,
1175  int64_t length,
1176  int64_t base);
1177 
1178  template <typename FROM, typename TO>
1180  kernel::lib ptr_lib,
1181  TO* toindex,
1182  int64_t toindexoffset,
1183  const FROM* fromindex,
1184  int64_t length);
1185 
1187  kernel::lib ptr_lib,
1188  int8_t* totags,
1189  int64_t totagsoffset,
1190  int64_t length,
1191  int64_t base);
1192 
1194  kernel::lib ptr_lib,
1195  int64_t* toindex,
1196  int64_t toindexoffset,
1197  int64_t length);
1198 
1199  template <typename T, typename I>
1201  kernel::lib ptr_lib,
1202  int8_t* totags,
1203  int64_t* toindex,
1204  const T* outertags,
1205  const I* outerindex,
1206  const int8_t* innertags,
1207  const int32_t* innerindex,
1208  int64_t towhich,
1209  int64_t innerwhich,
1210  int64_t outerwhich,
1211  int64_t length,
1212  int64_t base);
1213 
1214 
1215  template <typename T, typename I>
1217  kernel::lib ptr_lib,
1218  int8_t* totags,
1219  int64_t* toindex,
1220  const T* outertags,
1221  const I* outerindex,
1222  const int8_t* innertags,
1223  const uint32_t* innerindex,
1224  int64_t towhich,
1225  int64_t innerwhich,
1226  int64_t outerwhich,
1227  int64_t length,
1228  int64_t base);
1229 
1230 
1231  template <typename T, typename I>
1233  kernel::lib ptr_lib,
1234  int8_t* totags,
1235  int64_t* toindex,
1236  const T* outertags,
1237  const I* outerindex,
1238  const int8_t* innertags,
1239  const int64_t* innerindex,
1240  int64_t towhich,
1241  int64_t innerwhich,
1242  int64_t outerwhich,
1243  int64_t length,
1244  int64_t base);
1245 
1246 
1247  template <typename T, typename I>
1249  kernel::lib ptr_lib,
1250  int8_t* totags,
1251  int64_t* toindex,
1252  const T* fromtags,
1253  const I* fromindex,
1254  int64_t towhich,
1255  int64_t fromwhich,
1256  int64_t length,
1257  int64_t base);
1258 
1259  template <typename T>
1261  kernel::lib ptr_lib,
1262  const T* starts,
1263  const T* stops,
1264  int64_t length,
1265  int64_t lencontent);
1266 
1267 
1268  template <typename T>
1270  kernel::lib ptr_lib,
1271  const T* index,
1272  int64_t length,
1273  int64_t lencontent,
1274  bool isoption);
1275 
1276 
1277  template <typename T, typename I>
1279  kernel::lib ptr_lib,
1280  const T* tags,
1281  const I* index,
1282  int64_t length,
1283  int64_t numcontents,
1284  const int64_t* lencontents);
1285 
1286  template <typename T>
1288  kernel::lib ptr_lib,
1289  int64_t* toindex,
1290  const T* fromindex,
1291  int64_t length);
1292 
1294  kernel::lib ptr_lib,
1295  int64_t* toindex,
1296  const int8_t* frommask,
1297  int64_t length);
1298 
1300  kernel::lib ptr_lib,
1301  int64_t* toindex,
1302  int64_t target,
1303  int64_t length);
1304 
1306  kernel::lib ptr_lib,
1307  int64_t* tostarts,
1308  int64_t* tostops,
1309  int64_t target,
1310  int64_t length);
1311 
1313  kernel::lib ptr_lib,
1314  int64_t* toindex,
1315  int64_t length);
1316 
1318  kernel::lib ptr_lib,
1319  int64_t* toindex,
1320  int64_t target,
1321  int64_t size,
1322  int64_t length);
1323 
1324  template <typename T>
1326  kernel::lib ptr_lib,
1327  int64_t* tomin,
1328  const T* fromstarts,
1329  const T* fromstops,
1330  int64_t lenstarts);
1331 
1332  template <typename T>
1334  kernel::lib ptr_lib,
1335  int64_t* tolength,
1336  const T* fromstarts,
1337  const T* fromstops,
1338  int64_t target,
1339  int64_t lenstarts);
1340 
1341  template <typename T>
1343  kernel::lib ptr_lib,
1344  int64_t* toindex,
1345  const T* fromstarts,
1346  const T* fromstops,
1347  T* tostarts,
1348  T* tostops,
1349  int64_t target,
1350  int64_t length);
1351 
1352  template <typename T>
1354  kernel::lib ptr_lib,
1355  int64_t* toindex,
1356  const T* fromoffsets,
1357  int64_t length,
1358  int64_t target);
1359 
1360  template <typename T>
1362  kernel::lib ptr_lib,
1363  T* tooffsets,
1364  const T* fromoffsets,
1365  int64_t fromlength,
1366  int64_t target,
1367  int64_t* tolength);
1368 
1369  template <typename T>
1371  kernel::lib ptr_lib,
1372  int64_t* toindex,
1373  const T* fromoffsets,
1374  int64_t fromlength,
1375  int64_t target);
1376 
1378  kernel::lib ptr_lib,
1379  int64_t* toindex,
1380  int64_t length);
1381 
1382  template <typename T>
1384  kernel::lib ptr_lib,
1385  int64_t* toindex,
1386  const T* offsets,
1387  int64_t length);
1388 
1390  kernel::lib ptr_lib,
1391  int64_t* toindex,
1392  int64_t size,
1393  int64_t length);
1394 
1395  template <typename T>
1397  kernel::lib ptr_lib,
1398  T* toindex,
1399  int64_t n,
1400  bool replacement,
1401  int64_t singlelen);
1402 
1403  template <typename T>
1405  kernel::lib ptr_lib,
1406  int64_t* totallen,
1407  int64_t* tooffsets,
1408  int64_t n,
1409  bool replacement,
1410  const T* starts,
1411  const T* stops,
1412  int64_t length);
1413 
1414  template <typename T>
1416  kernel::lib ptr_lib,
1417  int64_t** tocarry,
1418  int64_t* toindex,
1419  int64_t* fromindex,
1420  int64_t n,
1421  bool replacement,
1422  const T* starts,
1423  const T* stops,
1424  int64_t length);
1425 
1427  kernel::lib ptr_lib,
1428  int64_t** tocarry,
1429  int64_t* toindex,
1430  int64_t* fromindex,
1431  int64_t n,
1432  bool replacement,
1433  int64_t size,
1434  int64_t length);
1435 
1437  kernel::lib ptr_lib,
1438  int8_t* tomask,
1439  const int8_t* theirmask,
1440  const int8_t* mymask,
1441  int64_t length,
1442  bool validwhen);
1443 
1445  kernel::lib ptr_lib,
1446  int8_t* tobytemask,
1447  const uint8_t* frombitmask,
1448  int64_t bitmasklength,
1449  bool validwhen,
1450  bool lsb_order);
1451 
1453  kernel::lib ptr_lib,
1454  int64_t* toindex,
1455  const uint8_t* frombitmask,
1456  int64_t bitmasklength,
1457  bool validwhen,
1458  bool lsb_order);
1459 
1461 
1463  kernel::lib ptr_lib,
1464  int64_t* toptr,
1465  const int64_t* parents,
1466  int64_t lenparents,
1467  int64_t outlength);
1468 
1469  template <typename IN>
1471  kernel::lib ptr_lib,
1472  int64_t* toptr,
1473  const IN* fromptr,
1474  const int64_t* parents,
1475  int64_t lenparents,
1476  int64_t outlength);
1477 
1478  template <typename OUT, typename IN>
1480  kernel::lib ptr_lib,
1481  OUT* toptr,
1482  const IN* fromptr,
1483  const int64_t* parents,
1484  int64_t lenparents,
1485  int64_t outlength);
1486 
1487  template <typename IN>
1489  kernel::lib ptr_lib,
1490  bool* toptr,
1491  const IN* fromptr,
1492  const int64_t* parents,
1493  int64_t lenparents,
1494  int64_t outlength);
1495 
1496  template <typename OUT, typename IN>
1498  kernel::lib ptr_lib,
1499  OUT* toptr,
1500  const IN* fromptr,
1501  const int64_t* parents,
1502  int64_t lenparents,
1503  int64_t outlength);
1504 
1505  template <typename IN>
1507  kernel::lib ptr_lib,
1508  bool* toptr,
1509  const IN* fromptr,
1510  const int64_t* parents,
1511  int64_t lenparents,
1512  int64_t outlength);
1513 
1514  template <typename OUT, typename IN>
1516  kernel::lib ptr_lib,
1517  OUT* toptr,
1518  const IN* fromptr,
1519  const int64_t* parents,
1520  int64_t lenparents,
1521  int64_t outlength,
1522  OUT identity);
1523 
1524  template <typename OUT, typename IN>
1526  kernel::lib ptr_lib,
1527  OUT* toptr,
1528  const IN* fromptr,
1529  const int64_t* parents,
1530  int64_t lenparents,
1531  int64_t outlength,
1532  OUT identity);
1533 
1534  template <typename OUT, typename IN>
1536  kernel::lib ptr_lib,
1537  OUT* toptr,
1538  const IN* fromptr,
1539  const int64_t* parents,
1540  int64_t lenparents,
1541  int64_t outlength);
1542 
1543  template <typename OUT, typename IN>
1545  kernel::lib ptr_lib,
1546  OUT* toptr,
1547  const IN* fromptr,
1548  const int64_t* parents,
1549  int64_t lenparents,
1550  int64_t outlength);
1551 
1553  kernel::lib ptr_lib,
1554  int64_t* toparents,
1555  int64_t length);
1556 
1558  kernel::lib ptr_lib,
1559  int64_t* globalstart,
1560  int64_t* globalstop,
1561  const int64_t* offsets,
1562  int64_t length);
1563 
1565  kernel::lib ptr_lib,
1566  int64_t* maxcount,
1567  int64_t* offsetscopy,
1568  const int64_t* offsets,
1569  int64_t length);
1570 
1572  kernel::lib ptr_lib,
1573  int64_t* nextcarry,
1574  int64_t* nextparents,
1575  int64_t nextlen,
1576  int64_t* maxnextparents,
1577  int64_t* distincts,
1578  int64_t distinctslen,
1579  int64_t* offsetscopy,
1580  const int64_t* offsets,
1581  int64_t length,
1582  const int64_t* parents,
1583  int64_t maxcount);
1584 
1586  kernel::lib ptr_lib,
1587  int64_t* nextstarts,
1588  const int64_t* nextparents,
1589  int64_t nextlen);
1590 
1592  kernel::lib ptr_lib,
1593  int64_t* gaps,
1594  const int64_t* parents,
1595  int64_t lenparents);
1596 
1598  kernel::lib ptr_lib,
1599  int64_t* outstarts,
1600  int64_t* outstops,
1601  const int64_t* distincts,
1602  int64_t lendistincts,
1603  const int64_t* gaps,
1604  int64_t outlength);
1605 
1607  kernel::lib ptr_lib,
1608  int64_t* nummissing,
1609  int64_t* missing,
1610  int64_t* nextshifts,
1611  const int64_t* offsets,
1612  int64_t length,
1613  const int64_t* starts,
1614  const int64_t* parents,
1615  int64_t maxcount,
1616  int64_t nextlen,
1617  const int64_t* nextcarry);
1618 
1620  kernel::lib ptr_lib,
1621  int64_t* nextparents,
1622  const int64_t* offsets,
1623  int64_t length);
1624 
1626  kernel::lib ptr_lib,
1627  int64_t* outoffsets,
1628  const int64_t* parents,
1629  int64_t lenparents,
1630  int64_t outlength);
1631 
1632  template <typename T>
1634  kernel::lib ptr_lib,
1635  int64_t* nextcarry,
1636  int64_t* nextparents,
1637  int64_t* outindex,
1638  const T* index,
1639  int64_t* parents,
1640  int64_t length);
1641 
1642  template <typename T>
1644  kernel::lib ptr_lib,
1645  int64_t* nextshifts,
1646  const T* index,
1647  int64_t length);
1648 
1649  template <typename T>
1651  kernel::lib ptr_lib,
1652  int64_t* nextshifts,
1653  const T* index,
1654  int64_t length,
1655  const int64_t* shifts);
1656 
1658  kernel::lib ptr_lib,
1659  int64_t* outoffsets,
1660  const int64_t* starts,
1661  int64_t startslength,
1662  int64_t outindexlength);
1663 
1665  kernel::lib ptr_lib,
1666  int64_t* toptr,
1667  int64_t outlength,
1668  const int64_t* parents,
1669  const int64_t* starts);
1670 
1672  kernel::lib ptr_lib,
1673  int64_t* toptr,
1674  int64_t outlength,
1675  const int64_t* parents,
1676  const int64_t* starts,
1677  const int64_t* shifts);
1678 
1680  kernel::lib ptr_lib,
1681  int8_t* toptr,
1682  const int64_t* parents,
1683  int64_t lenparents,
1684  int64_t outlength);
1685 
1687  kernel::lib ptr_lib,
1688  int8_t* toptr,
1689  const int64_t* parents,
1690  int64_t lenparents,
1691  int64_t outlength);
1692 
1694  kernel::lib ptr_lib,
1695  int64_t* nextcarry,
1696  int64_t* nextparents,
1697  int64_t* outindex,
1698  const int8_t* mask,
1699  const int64_t* parents,
1700  int64_t length,
1701  bool validwhen);
1702 
1704  kernel::lib ptr_lib,
1705  int64_t* nextshifts,
1706  const int8_t* mask,
1707  int64_t length,
1708  bool valid_when);
1709 
1711  kernel::lib ptr_lib,
1712  int64_t* nextshifts,
1713  const int8_t* mask,
1714  int64_t length,
1715  bool valid_when,
1716  const int64_t* shifts);
1717 
1719 
1721  kernel::lib ptr_lib,
1722  int64_t* toindex,
1723  int64_t tolength,
1724  const int64_t* parents,
1725  int64_t parentslength);
1726 
1728  kernel::lib ptr_lib,
1729  int64_t* tolength,
1730  const int64_t* parents,
1731  int64_t parentslength);
1732 
1733  template <typename T>
1734  ERROR unique(
1735  kernel::lib ptr_lib,
1736  T* toptr,
1737  int64_t length,
1738  int64_t* tolength);
1739 
1740  template <typename T>
1742  kernel::lib ptr_lib,
1743  const T* index,
1744  const int64_t* fromstarts,
1745  const int64_t* fromstops,
1746  int64_t length,
1747  int64_t* tostarts,
1748  int64_t* tostops,
1749  int64_t* tolength);
1750 
1751  template <typename T>
1753  kernel::lib ptr_lib,
1754  const T* index,
1755  const int64_t* fromstarts,
1756  const int64_t* fromstops,
1757  int64_t length,
1758  int64_t* tocarry);
1759 
1760  template <typename T>
1762  kernel::lib ptr_lib,
1763  T* tmpptr,
1764  const int64_t* fromstarts,
1765  const int64_t* fromstops,
1766  int64_t length,
1767  bool* toequal);
1768 
1769  template <typename T>
1771  kernel::lib ptr_lib,
1772  T* tmpptr,
1773  int64_t* tmpbeg,
1774  int64_t* tmpend,
1775  const int64_t* fromstarts,
1776  const int64_t* fromstops,
1777  bool ascending,
1778  int64_t length,
1779  int64_t maxlevels);
1780 
1781  template <typename T>
1783  kernel::lib ptr_lib,
1784  int64_t* toptr,
1785  const T* fromptr,
1786  int64_t length,
1787  int64_t* tmpbeg,
1788  int64_t* tmpend,
1789  const int64_t* offsets,
1790  int64_t offsetslength,
1791  bool ascending,
1792  bool stable,
1793  int64_t maxlevels);
1794 
1795  template <typename T>
1797  kernel::lib ptr_lib,
1798  int64_t* toptr,
1799  const T* fromptr,
1800  int64_t length,
1801  const int64_t* offsets,
1802  int64_t offsetslength,
1803  bool ascending,
1804  bool stable);
1805 
1806  template <typename T>
1808  kernel::lib ptr_lib,
1809  T* toptr,
1810  const T* fromptr,
1811  int64_t length,
1812  const int64_t* offsets,
1813  int64_t offsetslength,
1814  int64_t parentslength,
1815  bool ascending,
1816  bool stable);
1817 
1819  kernel::lib ptr_lib,
1820  int64_t* tocarry,
1821  const int64_t* fromparents,
1822  int64_t length,
1823  const uint8_t* stringdata,
1824  const int64_t* stringstarts,
1825  const int64_t* stringstops,
1826  bool is_stable,
1827  bool is_ascending,
1828  bool is_local);
1829 
1830  template <typename T>
1832  kernel::lib ptr_lib,
1833  T* toptr,
1834  const T* fromptr,
1835  const int64_t* offsets,
1836  int64_t offsetslength,
1837  int64_t* outoffsets,
1838  bool ascending,
1839  bool stable);
1840 
1841  template <typename T>
1843  kernel::lib ptr_lib,
1844  T* toptr,
1845  const int64_t* offsets,
1846  int64_t offsetslength,
1847  int64_t* outoffsets,
1848  int64_t* tolength);
1849 
1851  kernel::lib ptr_lib,
1852  int64_t* tocarry,
1853  const int64_t* fromindex,
1854  int64_t length);
1855 
1857  kernel::lib ptr_lib,
1858  int64_t* tocarry,
1859  const int64_t* starts,
1860  const int64_t* parents,
1861  const int64_t parentslength,
1862  const int64_t* nextparents,
1863  const int64_t nextlen);
1864 
1865  }
1866 }
1867 
1868 #endif //AWKWARD_KERNEL_DISPATCH_H_
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)
void regularize_rangeslice(int64_t *start, int64_t *stop, bool posstep, bool hasstart, bool hasstop, int64_t length)
ERROR ListOffsetArray_reduce_local_outoffsets_64(kernel::lib ptr_lib, int64_t *outoffsets, const int64_t *parents, int64_t lenparents, int64_t outlength)
ERROR IndexedArray_getitem_nextcarry_64(kernel::lib ptr_lib, int64_t *tocarry, const T *fromindex, int64_t lenindex, int64_t lencontent)
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)
ERROR UnionArray_regular_index(kernel::lib ptr_lib, I *toindex, I *current, int64_t size, const T *fromtags, int64_t length)
ERROR one_mask8(kernel::lib ptr_lib, int8_t *tomask, int64_t length)
ERROR reduce_countnonzero_64(kernel::lib ptr_lib, int64_t *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
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)
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)
ERROR reduce_prod_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
ERROR ListOffsetArray_reduce_nonlocal_maxcount_offsetscopy_64(kernel::lib ptr_lib, int64_t *maxcount, int64_t *offsetscopy, const int64_t *offsets, int64_t length)
ERROR reduce_prod_bool_64(kernel::lib ptr_lib, bool *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
ERROR IndexedArray_getitem_carry_64(kernel::lib ptr_lib, T *toindex, const T *fromindex, const int64_t *fromcarry, int64_t lenindex, int64_t lencarry)
EXPORT_SYMBOL void * awkward_malloc(int64_t bytelength)
ERROR ListOffsetArray_reduce_local_nextparents_64(kernel::lib ptr_lib, int64_t *nextparents, const int64_t *offsets, int64_t length)
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)
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)
ERROR Index_nones_as_index_64(kernel::lib ptr_lib, int64_t *toindex, int64_t length)
ERROR NumpyArray_fill_scaled(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length, double scale)
EXPORT_SYMBOL void awkward_free(void const *ptr)
ERROR sorting_ranges_length(kernel::lib ptr_lib, int64_t *tolength, const int64_t *parents, int64_t parentslength)
#define LIBAWKWARD_EXPORT_SYMBOL
Definition: common.h:45
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)
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)
ERROR UnionArray_filltags_to8_const(kernel::lib ptr_lib, int8_t *totags, int64_t totagsoffset, int64_t length, int64_t base)
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)
ERROR UnionArray_fillindex_count_64(kernel::lib ptr_lib, int64_t *toindex, int64_t toindexoffset, int64_t length)
ERROR BitMaskedArray_to_IndexedOptionArray64(kernel::lib ptr_lib, int64_t *toindex, const uint8_t *frombitmask, int64_t bitmasklength, bool validwhen, bool lsb_order)
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)
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)
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)
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)
Used as a std::shared_ptr deleter (second argument) to overload delete ptr with cudaFree.
Definition: kernel-dispatch.h:98
ERROR reduce_argmax_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
Definition: BitMaskedArray.h:15
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)
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)
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)
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)
int64_t len(const T &self)
Definition: content.h:46
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
Used as a std::shared_ptr deleter (second argument) to overload delete ptr with delete[] ptr...
Definition: kernel-dispatch.h:74
ERROR UnionArray_validity(kernel::lib ptr_lib, const T *tags, const I *index, int64_t length, int64_t numcontents, const int64_t *lencontents)
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)
T NumpyArray_getitem_at0(kernel::lib ptr_lib, T *ptr)
Internal utility kernel to avoid raw pointer access.
ERROR regularize_arrayslice_64(kernel::lib ptr_lib, int64_t *flatheadptr, int64_t lenflathead, int64_t length)
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)
ERROR NumpyArray_getitem_boolean_nonzero_64(kernel::lib ptr_lib, int64_t *toptr, const int8_t *fromptr, int64_t length, int64_t stride)
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)
ERROR NumpyArray_fill_tocomplex_frombool(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const bool *fromptr, int64_t length)
ERROR IndexedArray_reduce_next_fix_offsets_64(kernel::lib ptr_lib, int64_t *outoffsets, const int64_t *starts, int64_t startslength, int64_t outindexlength)
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)
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)
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)
ERROR ListOffsetArray_toRegularArray(kernel::lib ptr_lib, int64_t *size, const T *fromoffsets, int64_t offsetslength)
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)
ERROR RegularArray_getitem_next_array_regularize_64(kernel::lib ptr_lib, int64_t *toarray, const int64_t *fromarray, int64_t lenarray, int64_t size)
std::unique_ptr< T, UniquePtrDeleter< T > > UniquePtr
Definition: kernel-dispatch.h:197
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)
ERROR ListOffsetArray_reduce_nonlocal_nextstarts_64(kernel::lib ptr_lib, int64_t *nextstarts, const int64_t *nextparents, int64_t nextlen)
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)
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...
ERROR IndexedArray_mask8(kernel::lib ptr_lib, int8_t *tomask, const T *fromindex, int64_t length)
ERROR ByteMaskedArray_numnull(kernel::lib ptr_lib, int64_t *numnull, const int8_t *mask, int64_t length, bool validwhen)
ERROR ListOffsetArray_compact_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, const T *fromoffsets, int64_t length)
ERROR NumpyArray_contiguous_init_64(kernel::lib ptr_lib, int64_t *toptr, int64_t skip, int64_t stride)
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)
ERROR carry_arange(kernel::lib ptr_lib, T *toptr, int64_t length)
ERROR NumpyArray_reduce_mask_ByteMaskedArray_64(kernel::lib ptr_lib, int8_t *toptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
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)
Used as a std::shared_ptr deleter (second argument) to overload delete ptr with nothing (no dereferen...
Definition: kernel-dispatch.h:126
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)
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)
ERROR combinations(kernel::lib ptr_lib, T *toindex, int64_t n, bool replacement, int64_t singlelen)
ERROR localindex_64(kernel::lib ptr_lib, int64_t *toindex, int64_t length)
ERROR new_Identities(kernel::lib ptr_lib, T *toptr, int64_t length)
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)
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)
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)
ERROR ByteMaskedArray_mask8(kernel::lib ptr_lib, int8_t *tomask, const int8_t *frommask, int64_t length, bool validwhen)
ERROR reduce_sum_bool_64(kernel::lib ptr_lib, bool *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
ERROR NumpyArray_copy(kernel::lib ptr_lib, uint8_t *toptr, const uint8_t *fromptr, int64_t len)
ERROR Index_iscontiguous(kernel::lib ptr_lib, bool *result, const T *fromindex, int64_t length)
ERROR IndexedArray_simplify64_to64(kernel::lib ptr_lib, int64_t *toindex, const T *outerindex, int64_t outerlength, const int64_t *innerindex, int64_t innerlength)
void index_setitem_at_nowrap(kernel::lib ptr_lib, T *ptr, int64_t at, T value)
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)
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)
ERROR content_reduce_zeroparents_64(kernel::lib ptr_lib, int64_t *toparents, int64_t length)
ERROR RegularArray_compact_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, int64_t length, int64_t size)
ERROR RegularArray_getitem_next_at_64(kernel::lib ptr_lib, int64_t *tocarry, int64_t at, int64_t len, int64_t size)
T index_getitem_at_nowrap(kernel::lib ptr_lib, T *ptr, int64_t at)
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)
ERROR RegularArray_broadcast_tooffsets_size1_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromoffsets, int64_t offsetslength)
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)
ERROR ListOffsetArray_local_preparenext_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromindex, int64_t length)
ERROR Identities_to_Identities64(kernel::lib ptr_lib, int64_t *toptr, const T *fromptr, int64_t length, int64_t width)
py::tuple identity(const T &self)
Creates a single identity as a Python tuple of integers and strings.
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)
ERROR RegularArray_broadcast_tooffsets_64(kernel::lib ptr_lib, const int64_t *fromoffsets, int64_t offsetslength, int64_t size)
ERROR ListArray_localindex_64(kernel::lib ptr_lib, int64_t *toindex, const T *offsets, int64_t length)
ERROR ListOffsetArray_reduce_nonlocal_findgaps_64(kernel::lib ptr_lib, int64_t *gaps, const int64_t *parents, int64_t lenparents)
ERROR ListArray_validity(kernel::lib ptr_lib, const T *starts, const T *stops, int64_t length, int64_t lencontent)
ERROR ListArray_num_64(kernel::lib ptr_lib, int64_t *tonum, const T *fromstarts, const T *fromstops, int64_t length)
#define ERROR
Definition: common.h:28
const std::string fully_qualified_cache_key(kernel::lib ptr_lib, const std::string &cache_key)
FIXME.
ERROR NumpyArray_subrange_equal(kernel::lib ptr_lib, T *tmpptr, const int64_t *fromstarts, const int64_t *fromstops, int64_t length, bool *toequal)
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)
ERROR IndexedArray_simplifyU32_to64(kernel::lib ptr_lib, int64_t *toindex, const T *outerindex, int64_t outerlength, const uint32_t *innerindex, int64_t innerlength)
ERROR ListArray_getitem_next_range_counts_64(kernel::lib ptr_lib, int64_t *total, const T *fromoffsets, int64_t lenstarts)
ERROR ListOffsetArray_rpad_length_axis1(kernel::lib ptr_lib, T *tooffsets, const T *fromoffsets, int64_t fromlength, int64_t target, int64_t *tolength)
ERROR sorting_ranges(kernel::lib ptr_lib, int64_t *toindex, int64_t tolength, const int64_t *parents, int64_t parentslength)
ERROR unique(kernel::lib ptr_lib, T *toptr, int64_t length, int64_t *tolength)
ERROR zero_mask8(kernel::lib ptr_lib, int8_t *tomask, int64_t length)
decltype(kernel::array_deleter< T >()) UniquePtrDeleter
Definition: kernel-dispatch.h:195
Definition: kernel-dispatch.h:32
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 &#39;tostring&#39; to indicate the kernel library.
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)
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)
ERROR ByteMaskedArray_getitem_nextcarry_64(kernel::lib ptr_lib, int64_t *tocarry, const int8_t *mask, int64_t length, bool validwhen)
ERROR ByteMaskedArray_overlay_mask8(kernel::lib ptr_lib, int8_t *tomask, const int8_t *theirmask, const int8_t *mymask, int64_t length, bool validwhen)
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)
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)
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 ...
ERROR ByteMaskedArray_reduce_next_nonlocal_nextshifts_64(kernel::lib ptr_lib, int64_t *nextshifts, const int8_t *mask, int64_t length, bool valid_when)
ERROR Index_carry_64(kernel::lib ptr_lib, T *toindex, const T *fromindex, const int64_t *carry, int64_t lenfromindex, int64_t length)
UniquePtr< T > unique_malloc(kernel::lib ptr_lib, int64_t bytelength)
Definition: kernel-dispatch.h:200
void operator()(T const *ptr)
Called by std::shared_ptr when its reference count reaches zero.
Definition: kernel-dispatch.h:78
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)
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)
ERROR IndexedArray_fill_to64_count(kernel::lib ptr_lib, int64_t *toindex, int64_t toindexoffset, int64_t length, int64_t base)
ERROR RegularArray_getitem_next_range_spreadadvanced_64(kernel::lib ptr_lib, int64_t *toadvanced, const int64_t *fromadvanced, int64_t len, int64_t nextsize)
ERROR index_rpad_and_clip_axis0_64(kernel::lib ptr_lib, int64_t *toindex, int64_t target, int64_t length)
ERROR IndexedArray_overlay_mask8_to64(kernel::lib ptr_lib, int64_t *toindex, const int8_t *mask, const T *fromindex, int64_t length)
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)
ERROR RegularArray_localindex_64(kernel::lib ptr_lib, int64_t *toindex, int64_t size, int64_t length)
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)
ERROR ListOffsetArray_rpad_and_clip_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromoffsets, int64_t length, int64_t target)
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)
Mapping::value_type::value_type value(Mapping a, const std::string &name)
Definition: datetime_util.h:49
ERROR reduce_argmin_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
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)
ERROR NumpyArray_fill(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length)
ERROR RegularArray_num_64(kernel::lib ptr_lib, int64_t *tonum, int64_t size, int64_t length)
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...
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)
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)
ERROR ListArray_getitem_jagged_carrylen_64(kernel::lib ptr_lib, int64_t *carrylen, const int64_t *slicestarts, const int64_t *slicestops, int64_t sliceouterlen)
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)
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)
const int64_t lib_device_num(kernel::lib ptr_lib, void *ptr)
Returns the number of the device associated with the pointer.
ERROR IndexedArray_flatten_nextcarry_64(kernel::lib ptr_lib, int64_t *tocarry, const T *fromindex, int64_t lenindex, int64_t lencontent)
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)
ERROR NumpyArray_fill_fromcomplex(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length)
ERROR index_rpad_and_clip_axis1_64(kernel::lib ptr_lib, int64_t *tostarts, int64_t *tostops, int64_t target, int64_t length)
ERROR IndexedArray_numnull(kernel::lib ptr_lib, int64_t *numnull, const T *fromindex, int64_t lenindex)
ERROR ListOffsetArray_reduce_nonlocal_outstartsstops_64(kernel::lib ptr_lib, int64_t *outstarts, int64_t *outstops, const int64_t *distincts, int64_t lendistincts, const int64_t *gaps, int64_t outlength)
ERROR ListOffsetArray_rpad_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromoffsets, int64_t fromlength, int64_t target)
ERROR UnionArray_fillna_64(kernel::lib ptr_lib, int64_t *toindex, const T *fromindex, int64_t length)
ERROR NumpyArray_fill_frombool(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const bool *fromptr, int64_t length)
ERROR IndexedArray_getitem_nextcarry_outindex_64(kernel::lib ptr_lib, int64_t *tocarry, T *toindex, const T *fromindex, int64_t lenindex, int64_t lencontent)
ERROR reduce_sum_64(kernel::lib ptr_lib, OUT *toptr, const IN *fromptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
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)
ERROR NumpyArray_reduce_adjust_starts_64(kernel::lib ptr_lib, int64_t *toptr, int64_t outlength, const int64_t *parents, const int64_t *starts)
ERROR BitMaskedArray_to_ByteMaskedArray(kernel::lib ptr_lib, int8_t *tobytemask, const uint8_t *frombitmask, int64_t bitmasklength, bool validwhen, bool lsb_order)
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)
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)
ERROR IndexedArray_validity(kernel::lib ptr_lib, const T *index, int64_t length, int64_t lencontent, bool isoption)
ERROR IndexedArray_reduce_next_nonlocal_nextshifts_64(kernel::lib ptr_lib, int64_t *nextshifts, const T *index, int64_t length)
ERROR RegularArray_getitem_carry_64(kernel::lib ptr_lib, int64_t *tocarry, const int64_t *fromcarry, int64_t lencarry, int64_t size)
ERROR slicemissing_check_same(kernel::lib ptr_lib, bool *same, const int8_t *bytemask, const int64_t *missingindex, int64_t length)
ERROR ListArray_compact_offsets_64(kernel::lib ptr_lib, int64_t *tooffsets, const T *fromstarts, const T *fromstops, int64_t length)
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)
ERROR Index_to_Index64(kernel::lib ptr_lib, int64_t *toptr, const T *fromptr, int64_t length)
ERROR ByteMaskedArray_toIndexedOptionArray64(kernel::lib ptr_lib, int64_t *toindex, const int8_t *mask, int64_t length, bool validwhen)
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)
ERROR NumpyArray_unique_strings(kernel::lib ptr_lib, T *toptr, const int64_t *offsets, int64_t offsetslength, int64_t *outoffsets, int64_t *tolength)
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)
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)
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)
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)
void operator()(T const *ptr)
Called by std::shared_ptr when its reference count reaches zero.
Definition: kernel-dispatch.h:130
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)
ERROR Identities_extend(kernel::lib ptr_lib, ID *toptr, const ID *fromptr, int64_t fromlength, int64_t tolength)
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)
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)
ERROR RegularArray_rpad_and_clip_axis1_64(kernel::lib ptr_lib, int64_t *toindex, int64_t target, int64_t size, int64_t length)
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)
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)
ERROR UnionArray_fillindex(kernel::lib ptr_lib, TO *toindex, int64_t toindexoffset, const FROM *fromindex, int64_t length)
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)
Definition: kernel-dispatch.h:26
ERROR UnionArray_regular_index_getsize(kernel::lib ptr_lib, int64_t *size, const T *fromtags, int64_t length)
ERROR NumpyArray_fill_tocomplex(kernel::lib ptr_lib, TO *toptr, int64_t tooffset, const FROM *fromptr, int64_t length)
ERROR NumpyArray_getitem_boolean_numtrue(kernel::lib ptr_lib, int64_t *numtrue, const int8_t *fromptr, int64_t length, int64_t stride)
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)
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)
ERROR IndexedArray_fill(kernel::lib ptr_lib, TO *toindex, int64_t toindexoffset, const FROM *fromindex, int64_t length, int64_t base)
ERROR IndexedOptionArray_rpad_and_clip_mask_axis1_64(kernel::lib ptr_lib, int64_t *toindex, const int8_t *frommask, int64_t length)
ERROR IndexedArray_simplify32_to64(kernel::lib ptr_lib, int64_t *toindex, const T *outerindex, int64_t outerlength, const int32_t *innerindex, int64_t innerlength)
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)
ERROR ListArray_getitem_next_range_spreadadvanced_64(kernel::lib ptr_lib, int64_t *toadvanced, const int64_t *fromadvanced, const T *fromoffsets, int64_t lenstarts)
std::shared_ptr< LibraryCallback > lib_callback
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)
void operator()(T const *ptr)
Called by std::shared_ptr when its reference count reaches zero.
Definition: kernel-dispatch.h:102
ERROR missing_repeat_64(kernel::lib ptr_lib, int64_t *outindex, const int64_t *index, int64_t indexlength, int64_t repetitions, int64_t regularsize)
lib
Definition: kernel-dispatch.h:20
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)
ERROR Index_carry_nocheck_64(kernel::lib ptr_lib, T *toindex, const T *fromindex, const int64_t *carry, int64_t length)
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)
ERROR ListOffsetArray_reduce_global_startstop_64(kernel::lib ptr_lib, int64_t *globalstart, int64_t *globalstop, const int64_t *offsets, int64_t length)
ERROR reduce_count_64(kernel::lib ptr_lib, int64_t *toptr, const int64_t *parents, int64_t lenparents, int64_t outlength)
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)
ERROR ListArray_min_range(kernel::lib ptr_lib, int64_t *tomin, const T *fromstarts, const T *fromstops, int64_t lenstarts)
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)