Fixes to solve_algo ≥ 9

— allow solve_algo=9 without block nor bytecode
— allow solve_algo≥9 with block without bytecode
— test solve_algo=9
time-shift
Sébastien Villemot 2020-05-25 17:22:17 +02:00
parent 2015b79279
commit bd7eb2f88d
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
4 changed files with 9 additions and 9 deletions

View File

@ -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);

View File

@ -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);
[steady_state,params,info] = evaluate_steady_state(oo_.steady_state,M_,options_,oo_,~options_.steadystate.nocheck);

View File

@ -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;

View File

@ -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;