@@ -23,22 +23,23 @@ using namespace pybind11::literals; // to bring _a
2323
2424#define DEF_PY11_ENUMS // used in p2c_types.hpp
2525
26- #include " ddptensor/MPITransceiver.hpp"
27- #include " ddptensor/MPIMediator.hpp"
28- #include " ddptensor/Deferred.hpp"
2926#include " ddptensor/Creator.hpp"
30- #include " ddptensor/IEWBinOp .hpp"
27+ #include " ddptensor/Deferred .hpp"
3128#include " ddptensor/EWBinOp.hpp"
3229#include " ddptensor/EWUnyOp.hpp"
33- #include " ddptensor/ReduceOp.hpp"
34- #include " ddptensor/ManipOp.hpp"
35- #include " ddptensor/SetGetItem.hpp"
36- #include " ddptensor/Random.hpp"
37- #include " ddptensor/LinAlgOp.hpp"
38- #include " ddptensor/Service.hpp"
3930#include " ddptensor/Factory.hpp"
31+ #include " ddptensor/IEWBinOp.hpp"
4032#include " ddptensor/IO.hpp"
4133#include " ddptensor/jit/mlir.hpp"
34+ #include " ddptensor/LinAlgOp.hpp"
35+ #include " ddptensor/ManipOp.hpp"
36+ #include " ddptensor/MPIMediator.hpp"
37+ #include " ddptensor/MPITransceiver.hpp"
38+ #include " ddptensor/Random.hpp"
39+ #include " ddptensor/ReduceOp.hpp"
40+ #include " ddptensor/Service.hpp"
41+ #include " ddptensor/SetGetItem.hpp"
42+ #include " ddptensor/Sorting.hpp"
4243
4344// #########################################################################
4445// The following classes are wrappers bridging pybind11 defs to TypeDispatch
@@ -92,20 +93,21 @@ void init(bool cw)
9293// #########################################################################
9394// Finally our Python module
9495PYBIND11_MODULE (_ddptensor, m) {
95- Factory::init<F_ARANGE>();
96- Factory::init<F_FULL>();
97- Factory::init<F_FROMSHAPE>();
9896 // Factory::init<F_UNYOP>();
97+ Factory::init<F_ARANGE>();
98+ Factory::init<F_EWBINOP>();
9999 Factory::init<F_EWUNYOP>();
100+ Factory::init<F_FROMSHAPE>();
101+ Factory::init<F_FULL>();
102+ Factory::init<F_GETITEM>();
100103 Factory::init<F_IEWBINOP>();
101- Factory::init<F_EWBINOP>();
102- Factory::init<F_REDUCEOP>();
103- Factory::init<F_MANIPOP>();
104104 Factory::init<F_LINALGOP>();
105- Factory::init<F_GETITEM>();
106- Factory::init<F_SETITEM>();
105+ Factory::init<F_MANIPOP>();
107106 Factory::init<F_RANDOM>();
107+ Factory::init<F_REDUCEOP>();
108108 Factory::init<F_SERVICE>();
109+ Factory::init<F_SETITEM>();
110+ Factory::init<F_SORTOP>();
109111 Factory::init<F_TONUMPY>();
110112
111113 jit::init ();
@@ -148,6 +150,9 @@ PYBIND11_MODULE(_ddptensor, m) {
148150 py::class_<LinAlgOp>(m, " LinAlgOp" )
149151 .def (" vecdot" , &LinAlgOp::vecdot);
150152
153+ py::class_<SortOp>(m, " SortOp" )
154+ .def (" sort" , &SortOp::sort);
155+
151156// / trigger compile&run and return given attribute _x
152157#define SYNC_RETURN (_f, _a ) Service::run(); return (_f).get().get()->_a ()
153158// / Rerplicate ddptensor/future and SYNC_RETURN attributre _a
0 commit comments