diff --git a/lib/htool b/lib/htool index e2105b0..731a2fa 160000 --- a/lib/htool +++ b/lib/htool @@ -1 +1 @@ -Subproject commit e2105b070a92c281b9b5f756c040f1764e5ec4ec +Subproject commit 731a2fa45317ee51aa9dc6f4cc16b512fc2757ca diff --git a/src/htool/solver/geneo/coarse_space_builder.hpp b/src/htool/solver/geneo/coarse_space_builder.hpp index 9d9b7e6..815945a 100644 --- a/src/htool/solver/geneo/coarse_space_builder.hpp +++ b/src/htool/solver/geneo/coarse_space_builder.hpp @@ -9,14 +9,14 @@ template { py::array_t m_coarse_space; - using GeneoCoarseSpaceDenseBuilder::GeneoCoarseSpaceDenseBuilder; + // using GeneoCoarseSpaceDenseBuilder::GeneoCoarseSpaceDenseBuilder; public: char get_symmetry() { return this->m_symmetry; } int get_geneo_nu() { return this->m_geneo_nu; } htool::underlying_type get_geneo_threshold() { return this->m_geneo_threshold; } - GeneoCoarseSpaceDenseBuilderPython(int size_wo_overlap, Matrix Ai, Matrix Bi, char symmetry, char uplo, int geneo_nu, htool::underlying_type geneo_threshold) : GeneoCoarseSpaceDenseBuilder(size_wo_overlap, Ai, Bi, symmetry, uplo, geneo_nu, geneo_threshold) {} + explicit GeneoCoarseSpaceDenseBuilderPython(int size_wo_overlap, Matrix Ai, Matrix Bi, char symmetry, char uplo, int geneo_nu, htool::underlying_type geneo_threshold) : GeneoCoarseSpaceDenseBuilder(size_wo_overlap, Ai, Bi, symmetry, uplo, geneo_nu, geneo_threshold) {} Matrix build_coarse_space() override { py::array_t Ai(std::array{this->m_DAiD.nb_rows(), this->m_DAiD.nb_cols()}, this->m_DAiD.data(), py::capsule(this->m_DAiD.data())); @@ -43,6 +43,8 @@ class PyGeneoCoarseSpaceDenseBuilder : public GeneoCoarseSpaceDenseBuilderPython /* Inherit the constructors */ using GeneoCoarseSpaceDenseBuilderPython::GeneoCoarseSpaceDenseBuilderPython; + // explicit PyGeneoCoarseSpaceDenseBuilder(int size_wo_overlap, Matrix Ai, Matrix Bi, char symmetry, char uplo, int geneo_nu, htool::underlying_type geneo_threshold) : GeneoCoarseSpaceDenseBuilderPython(size_wo_overlap, Ai, Bi, symmetry, uplo, geneo_nu, geneo_threshold) {} + /* Trampoline (need one for each virtual function) */ void compute_coarse_space(py::array_t Ai, py::array_t Bi) override { PYBIND11_OVERRIDE_PURE(