From 8bb1fae2ac606f1e5269f321e5e2214c61fe714c Mon Sep 17 00:00:00 2001 From: Michel Juillard <michel.juillard@mjui.fr> Date: Tue, 1 Nov 2016 18:40:07 +0100 Subject: [PATCH] alternative PerfectForesightSolver --- julia/v0.5/PerfectForesightModelSolver2.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/julia/v0.5/PerfectForesightModelSolver2.jl b/julia/v0.5/PerfectForesightModelSolver2.jl index 46929c5fc3..25423d3e89 100644 --- a/julia/v0.5/PerfectForesightModelSolver2.jl +++ b/julia/v0.5/PerfectForesightModelSolver2.jl @@ -120,8 +120,8 @@ function perfect_foresight_model!(Y::Array{Float64,1},exogenousvariables::Array{ i_cols = find(model.lead_lag_incidence') m = 0 for it = 2:(periods+1) - res = sub(residuals,m+1:m+model.eq_nbr) - Yview = sub(Y,i_cols) + res = view(residuals,m+1:m+model.eq_nbr) + Yview = view(Y,i_cols) model.dynamic(Yview, exogenousvariables, model.params, steadystate, it, res) m += model.eq_nbr i_cols += ny @@ -138,7 +138,7 @@ function perfect_foresight_model!(Y::Array{Float64,1},exogenousvariables::Array{ offset_c = -ny nzd = 0 for it = 2:(periods+1) - Yview = sub(Y,i_cols) + Yview = view(Y,i_cols) if it == 2 model.first_derivatives(Y[i_cols], exogenousvariables, model.params, steadystate, it, ws.iP, ws.jP, ws.vP) nzd = count(i->(0 .< i .<= 3*ny),ws.jP) @@ -163,9 +163,9 @@ function perfect_foresight_model!(Y::Array{Float64,1},exogenousvariables::Array{ end end else - I = sub(ws.iA,m+1:m+nzd) - J = sub(ws.jA,m+1:m+nzd) - V = sub(ws.vA,m+1:m+nzd) + I = view(ws.iA,m+1:m+nzd) + J = view(ws.jA,m+1:m+nzd) + V = view(ws.vA,m+1:m+nzd) model.first_derivatives(Y[i_cols], exogenousvariables, model.params, steadystate, it, I,J,V) for k=m+1:m+nzd ws.iA[k] += offset_r -- GitLab