From bd7eb2f88d462fa77fce42faf5b0357018917a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= 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 3717a2784..69cc8d895 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 a689d46db..08890ee61 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 772e4e8a9..c8de04d18 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 69f9b06a1..a2eaa46a4 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;