diff --git a/matlab/dynare.m b/matlab/dynare.m index 569b2975a6d14b4d9205ab7bbac6033dcf9bb1ff..369c43b9c1799429fd171a1956718cfe6217f4f2 100644 --- a/matlab/dynare.m +++ b/matlab/dynare.m @@ -283,4 +283,9 @@ end if ~ isempty(find(abs(fname) == 46)) fname = fname(:,1:find(abs(fname) == 46)-1) ; end + +% We need to clear the driver (and only the driver, because the "clear all" +% within the driver will clean the rest) +clear(['+' fname '/driver']) + evalin('base',[fname '.driver']) ; diff --git a/matlab/getH.m b/matlab/getH.m index 1c06dbadeef99791beb6c300ee47e155d15473f3..a7de28bc0893bf77a7e2add2578301c729963614 100644 --- a/matlab/getH.m +++ b/matlab/getH.m @@ -201,11 +201,11 @@ else end end if nargout>5 - [df, gp, d2f, gpp, hp] = feval([M_.fname,'_params_derivs'],yy0, oo_.exo_steady_state', ... + [df, gp, d2f, gpp, hp] = feval([M_.fname,'.dynamic_params_derivs'],yy0, oo_.exo_steady_state', ... M_.params, oo_.dr.ys, 1, dyssdtheta, d2yssdtheta); H2ss = d2yssdtheta(oo_.dr.order_var,indx,indx); else - [df, gp] = feval([M_.fname,'_params_derivs'],yy0, repmat(oo_.exo_steady_state',[M_.maximum_exo_lag+M_.maximum_exo_lead+1,1]), ... + [df, gp] = feval([M_.fname,'.dynamic_params_derivs'],yy0, repmat(oo_.exo_steady_state',[M_.maximum_exo_lag+M_.maximum_exo_lead+1,1]), ... M_.params, oo_.dr.ys, 1, dyssdtheta,d2yssdtheta); [residual, g1, g2 ] = feval([M_.fname,'.dynamic'],yy0, repmat(oo_.exo_steady_state',[M_.maximum_exo_lag+M_.maximum_exo_lead+1,1]), ... M_.params, oo_.dr.ys, 1); diff --git a/mex/sources/bytecode/Interpreter.cc b/mex/sources/bytecode/Interpreter.cc index 0e254241791f69b56e5c47a66db5e62f054dca38..bb986cff8d0d1d492d7cdb240a9a845634a253d6 100644 --- a/mex/sources/bytecode/Interpreter.cc +++ b/mex/sources/bytecode/Interpreter.cc @@ -587,7 +587,7 @@ Interpreter::ReadCodeFile(string file_name, CodeLoad &code) if (!code_liste.size()) { ostringstream tmp; - tmp << " in compute_blocks, " << file_name.c_str() << " cannot be opened\n"; + tmp << " in compute_blocks, " << file_name << ".cod cannot be opened\n"; throw FatalExceptionHandling(tmp.str()); } if (block >= (int) code.get_block_number()) diff --git a/tests/block_bytecode/run_ls2003.m b/tests/block_bytecode/run_ls2003.m index 0b1d898e343d413c32514f48bf10b5f05dc7af02..892f842290dbb987fca53d6c07e8e22d303bc731 100644 --- a/tests/block_bytecode/run_ls2003.m +++ b/tests/block_bytecode/run_ls2003.m @@ -17,11 +17,6 @@ function run_ls2003(block, bytecode, solve_algo, stack_solve_algo) % You should have received a copy of the GNU General Public License % along with Dynare. If not, see <http://www.gnu.org/licenses/>. - % Workaround for a strange race condition under Octave - if exist('ls2003_tmp.m') == 2 - delete('ls2003_tmp.m') - end - disp(['TEST: ls2003 (block=' num2str(block) ', bytecode=' ... num2str(bytecode) ', solve_algo=' num2str(solve_algo) ... ', stack_solve_algo=' num2str(stack_solve_algo) ')...']);