Skip to content
Snippets Groups Projects
Commit 93a3c0ba authored by Elias Pipping's avatar Elias Pipping
Browse files

Fix duplicate symbols

parent 63d4fa89
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -200,6 +200,7 @@ auto diagRegularize(double p, LocalSolver&& localSolver) { ...@@ -200,6 +200,7 @@ auto diagRegularize(double p, LocalSolver&& localSolver) {
//! \brief is @LinearSolvers::direct with ignore nodes. //! \brief is @LinearSolvers::direct with ignore nodes.
//! \param r Regularization parameter. Set to 0.0 to switch off regularization. //! \param r Regularization parameter. Set to 0.0 to switch off regularization.
template <typename dummy = void>
auto direct(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { auto direct(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) {
return [r](const auto& m, const auto& b, const auto& ignore) { return [r](const auto& m, const auto& b, const auto& ignore) {
auto directSolver = LinearSolvers::direct<std::decay_t<decltype(m)>, auto directSolver = LinearSolvers::direct<std::decay_t<decltype(m)>,
...@@ -213,6 +214,7 @@ auto direct(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { ...@@ -213,6 +214,7 @@ auto direct(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) {
} }
//! \brief is @LinearSolvers::ldlt with ignore nodes. //! \brief is @LinearSolvers::ldlt with ignore nodes.
template <typename dummy = void>
auto ldlt(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { auto ldlt(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) {
return [r](const auto& m, const auto& b, const auto& ignore) { return [r](const auto& m, const auto& b, const auto& ignore) {
auto ldltSolver = LinearSolvers::ldlt<std::decay_t<decltype(m)>, auto ldltSolver = LinearSolvers::ldlt<std::decay_t<decltype(m)>,
...@@ -226,6 +228,7 @@ auto ldlt(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { ...@@ -226,6 +228,7 @@ auto ldlt(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) {
} }
//! \brief is @LinearSolvers::cg with ignore nodes. //! \brief is @LinearSolvers::cg with ignore nodes.
template <typename dummy = void>
auto cg(size_t maxIter = LinearSolvers::defaultCgMaxIter, auto cg(size_t maxIter = LinearSolvers::defaultCgMaxIter,
double tol = LinearSolvers::defaultCgTol, double tol = LinearSolvers::defaultCgTol,
double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) {
......
  • pipping @pipping

    mentioned in merge request !8 (merged)

    ·

    mentioned in merge request !8 (merged)

    Toggle commit list
  • Owner

    Maybe putting those functions in an anonymous namespace would also work. Then the symbols are not exported and each unit will have its own version.

  • Contributor

    It might. But these functions need to be available to the user...

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment