From bd7eb2f88d462fa77fce42faf5b0357018917a22 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Mon, 25 May 2020 17:22:17 +0200
Subject: [PATCH] =?UTF-8?q?Fixes=20to=20solve=5Falgo=20=E2=89=A5=209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

— allow solve_algo=9 without block nor bytecode
— allow solve_algo≥9 with block without bytecode
— test solve_algo=9
---
 matlab/dynare_solve_block_or_bytecode.m | 2 +-
 matlab/steady_.m                        | 8 ++++----
 tests/run_block_byte_tests_matlab.m     | 4 ++--
 tests/run_block_byte_tests_octave.m     | 4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/matlab/dynare_solve_block_or_bytecode.m b/matlab/dynare_solve_block_or_bytecode.m
index 3717a27844..69cc8d8957 100644
--- a/matlab/dynare_solve_block_or_bytecode.m
+++ b/matlab/dynare_solve_block_or_bytecode.m
@@ -23,7 +23,7 @@ if options.block && ~options.bytecode
         ss = x;
         if M.block_structure_stat.block(b).Simulation_Type ~= 1 && ...
                 M.block_structure_stat.block(b).Simulation_Type ~= 2
-            if options.solve_algo <= 4
+            if options.solve_algo <= 4 || options.solve_algo >= 9
                 [y, check] = dynare_solve('block_mfs_steadystate', ...
                                           ss(M.block_structure_stat.block(b).variable), ...
                                           options, b, ss, exo, params, M);
diff --git a/matlab/steady_.m b/matlab/steady_.m
index a689d46db8..08890ee61e 100644
--- a/matlab/steady_.m
+++ b/matlab/steady_.m
@@ -18,7 +18,7 @@ function [steady_state,params,info] = steady_(M_,options_,oo_)
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 2001-2017 Dynare Team
+% Copyright (C) 2001-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -40,8 +40,8 @@ if options_.solve_algo < 0 || options_.solve_algo > 12
 end
 
 if ~options_.bytecode && ~options_.block && options_.solve_algo > 4 && ...
-        options_.solve_algo < 10
-    error('STEADY: you can''t use solve_algo > 4 without block nor bytecode options')
+        options_.solve_algo < 9
+    error('STEADY: you can''t use solve_algo = {5,6,7,8} without block nor bytecode options')
 end
 
 if ~options_.bytecode && options_.block && options_.solve_algo == 5
@@ -52,4 +52,4 @@ if isoctave && options_.solve_algo == 11
     error(['SIMUL: you can''t use solve_algo = %u under Octave'],options_.solve_algo)
 end
 
-[steady_state,params,info] = evaluate_steady_state(oo_.steady_state,M_,options_,oo_,~options_.steadystate.nocheck);
\ No newline at end of file
+[steady_state,params,info] = evaluate_steady_state(oo_.steady_state,M_,options_,oo_,~options_.steadystate.nocheck);
diff --git a/tests/run_block_byte_tests_matlab.m b/tests/run_block_byte_tests_matlab.m
index 772e4e8a9b..c8de04d18d 100644
--- a/tests/run_block_byte_tests_matlab.m
+++ b/tests/run_block_byte_tests_matlab.m
@@ -44,10 +44,10 @@ for blockFlag = 0:1
         default_solve_algo = 2;
         default_stack_solve_algo = 0;
         if ~blockFlag && ~bytecodeFlag
-            solve_algos = 1:4;
+            solve_algos = [1:4 9];
             stack_solve_algos = [0 6];
         elseif blockFlag && ~bytecodeFlag
-            solve_algos = [1:4 6:8];
+            solve_algos = [1:4 6:9];
             stack_solve_algos = 0:4;
         else
             solve_algos = 1:8;
diff --git a/tests/run_block_byte_tests_octave.m b/tests/run_block_byte_tests_octave.m
index 69f9b06a17..a2eaa46a45 100644
--- a/tests/run_block_byte_tests_octave.m
+++ b/tests/run_block_byte_tests_octave.m
@@ -46,10 +46,10 @@ for blockFlag = 0:1
         default_solve_algo = 2;
         default_stack_solve_algo = 0;
         if !blockFlag && !bytecodeFlag
-            solve_algos = 0:4;
+            solve_algos = [0:4 9];
             stack_solve_algos = [0 6];
         elseif blockFlag && !bytecodeFlag
-            solve_algos = [0:4 6:8];
+            solve_algos = [0:4 6:9];
             stack_solve_algos = 0:4;
         else
             solve_algos = 0:8;
-- 
GitLab