Browse Source

feat: add `copy` and `deepcopy` of PyLayout

master
Dnomd343 3 weeks ago
parent
commit
fbfa9cb819
  1. 2
      src/core_ffi/python_ffi/binder/group.cc
  2. 2
      src/core_ffi/python_ffi/binder/group_union.cc
  3. 7
      src/core_ffi/python_ffi/binder/klsk_code.cc

2
src/core_ffi/python_ffi/binder/group.cc

@ -1,3 +1,5 @@
#include <pybind11/stl.h>
#include "binder.h" #include "binder.h"
#include "py_ffi/cases.h" #include "py_ffi/cases.h"

2
src/core_ffi/python_ffi/binder/group_union.cc

@ -1,3 +1,5 @@
#include <pybind11/stl.h>
#include "binder.h" #include "binder.h"
#include "py_ffi/cases.h" #include "py_ffi/cases.h"

7
src/core_ffi/python_ffi/binder/klsk_code.cc

@ -54,6 +54,13 @@ static void bind_layout(const py::module_ &mod) {
.def("__int__", &PyLayout::value) .def("__int__", &PyLayout::value)
.def("__repr__", &PyLayout::repr) .def("__repr__", &PyLayout::repr)
.def("__copy__", [](const PyLayout &self) {
return PyLayout(self);
})
.def("__deepcopy__", [](const PyLayout &self, py::dict) {
return PyLayout(self);
}, py::arg("memo"))
.def("next_cases", &PyLayout::next_cases) .def("next_cases", &PyLayout::next_cases)
.def("dump_seq", &PyLayout::dump_seq) .def("dump_seq", &PyLayout::dump_seq)
// TODO: add fast_cal / fast_cal_multi / ... // TODO: add fast_cal / fast_cal_multi / ...

Loading…
Cancel
Save