File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed
dpctl/tensor/libtensor/include/utils Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -450,6 +450,32 @@ struct ThreeZeroOffsets_Indexer
450
450
}
451
451
};
452
452
453
+ template <typename FirstIndexerT,
454
+ typename SecondIndexerT,
455
+ typename ThirdIndexerT>
456
+ struct ThreeOffsets_CombinedIndexer
457
+ {
458
+ private:
459
+ FirstIndexerT first_indexer_;
460
+ SecondIndexerT second_indexer_;
461
+ ThirdIndexerT third_indexer_;
462
+
463
+ public:
464
+ ThreeOffsets_CombinedIndexer (const FirstIndexerT &first_indexer,
465
+ const SecondIndexerT &second_indexer,
466
+ const ThirdIndexerT &third_indexer)
467
+ : first_indexer_(first_indexer), second_indexer_(second_indexer),
468
+ third_indexer_ (third_indexer)
469
+ {
470
+ }
471
+
472
+ ThreeOffsets<py::ssize_t > operator ()(py::ssize_t gid) const
473
+ {
474
+ return ThreeOffsets<py::ssize_t >(
475
+ first_indexer_ (gid), second_indexer_ (gid), third_indexer_ (gid));
476
+ }
477
+ };
478
+
453
479
template <typename displacementT> struct FourOffsets
454
480
{
455
481
FourOffsets ()
You can’t perform that action at this time.
0 commit comments