From cf891fa96d69f51a119d3542106a9a12cdd9930a Mon Sep 17 00:00:00 2001
From: MichelJuillard <michel.juillard@mjui.fr>
Date: Mon, 27 Apr 2020 16:42:04 +0200
Subject: [PATCH] dgges: accept roudnoff error with warning

---
 src/GeneralizedSchurDecompositionSolver.jl | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/GeneralizedSchurDecompositionSolver.jl b/src/GeneralizedSchurDecompositionSolver.jl
index e4c3935..d563548 100644
--- a/src/GeneralizedSchurDecompositionSolver.jl
+++ b/src/GeneralizedSchurDecompositionSolver.jl
@@ -56,7 +56,15 @@ end
 #"""
 function gs_solver!(ws::GsSolverWs,d::Matrix{Float64},e::Matrix{Float64},n1::Int64,qz_criterium::Float64)
 
-    dgges!('N', 'V', e, d, zeros(1,1), ws.vsr, ws.eigval, ws.dgges_ws)
+    try
+        dgges!('N', 'V', e, d, zeros(1,1), ws.vsr, ws.eigval, ws.dgges_ws)
+    catch e
+        if e.error_nbr = size(e,1) + 2
+            println("Warning: DGGES reports error $(e.error_nbr")
+        else
+            rethrow(e)
+        end
+    end
     nstable = ws.dgges_ws.sdim[]
     
     if nstable < n1
-- 
GitLab