diff --git a/matlab/dr_block.m b/matlab/dr_block.m index 24243c27c2b6ac64bf698825c03d17f7641c71e7..ce28abdb61ed05a82ecd65aac1d2526a7c0abc87 100644 --- a/matlab/dr_block.m +++ b/matlab/dr_block.m @@ -70,10 +70,16 @@ else data = M_; Size = 1; end -if (options_.bytecode) - [zz, data]= bytecode('dynamic','evaluate', z, zx, M_.params, dr.ys, 1, data); +if options_.bytecode + [~, data]= bytecode('dynamic','evaluate', z, zx, M_.params, dr.ys, 1, data); else - [r, data] = feval([M_.fname '.dynamic'], options_, M_, oo_, dynvars_from_endo_simul(z, M_.maximum_lag+1, M_), zx, M_.params, dr.ys, M_.maximum_lag+1, data); + T=NaN(M_.block_structure.dyn_tmp_nbr, 1); + it_=M_.maximum_lag+1; + y=dynvars_from_endo_simul(z, it_, M_); + for blk = 1:length(M_.block_structure.block) + funcname = sprintf('%s.block.dynamic_%d', M_.fname, blk); + [~, T, data(blk).g1, data(blk).g1_x, data(blk).g1_xd, data(blk).g1_o]=feval(funcname, y, zx, M_.params, dr.ys, T, it_, true); + end end dr.full_rank = 1; dr.eigval = []; diff --git a/preprocessor b/preprocessor index 92aff91066315b7975f5de60542a255b912278f3..f4d2ce70dafd1331791b2fd96f3468b3f6c103da 160000 --- a/preprocessor +++ b/preprocessor @@ -1 +1 @@ -Subproject commit 92aff91066315b7975f5de60542a255b912278f3 +Subproject commit f4d2ce70dafd1331791b2fd96f3468b3f6c103da