@@ -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