From dcccf803deaf205d60d8e3932450f27545d4c03b Mon Sep 17 00:00:00 2001
From: acrovato <a.crovato@uliege.be>
Date: Fri, 2 Feb 2024 13:02:52 +0100
Subject: [PATCH] LinearSolver::getError returns -1 for direct solver

---
 tbox/src/wDss.h      | 3 +--
 tbox/src/wMumps.h    | 3 +--
 tbox/src/wPardiso.h  | 3 +--
 tbox/src/wSparseLu.h | 3 +--
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/tbox/src/wDss.h b/tbox/src/wDss.h
index da42e4a..f5a27ae 100644
--- a/tbox/src/wDss.h
+++ b/tbox/src/wDss.h
@@ -23,7 +23,6 @@
 #include "wLinearSolver.h"
 #include <mkl_dss.h>
 #include <Eigen/Sparse>
-#include <limits>
 
 namespace tbox
 {
@@ -48,7 +47,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/src/wMumps.h b/tbox/src/wMumps.h
index dae62bd..b3f1492 100644
--- a/tbox/src/wMumps.h
+++ b/tbox/src/wMumps.h
@@ -23,7 +23,6 @@
 #include "wLinearSolver.h"
 #include <dmumps_c.h>
 #include <Eigen/Sparse>
-#include <limits>
 
 namespace tbox
 {
@@ -61,7 +60,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/src/wPardiso.h b/tbox/src/wPardiso.h
index 3e6c576..8cd7be4 100644
--- a/tbox/src/wPardiso.h
+++ b/tbox/src/wPardiso.h
@@ -22,7 +22,6 @@
 
 #include "wLinearSolver.h"
 #include <Eigen/PardisoSupport>
-#include <limits>
 
 namespace tbox
 {
@@ -46,7 +45,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
diff --git a/tbox/src/wSparseLu.h b/tbox/src/wSparseLu.h
index 6055f38..402dffe 100644
--- a/tbox/src/wSparseLu.h
+++ b/tbox/src/wSparseLu.h
@@ -20,7 +20,6 @@
 #include "tbox.h"
 #include "wLinearSolver.h"
 #include <Eigen/Sparse>
-#include <limits>
 
 namespace tbox
 {
@@ -46,7 +45,7 @@ public:
     virtual void solve(Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
     virtual void compute(Eigen::SparseMatrix<double> const &A, Eigen::Map<Eigen::VectorXd> const &b, Eigen::Map<Eigen::VectorXd> &x) override;
 
-    virtual double getError() override { return std::numeric_limits<double>::epsilon(); }
+    virtual double getError() override { return -1.; }
     virtual int getIterations() override { return 1; }
 
     virtual void write(std::ostream &out) const override;
-- 
GitLab