diff --git a/julia/v0.5/PerfectForesightModelSolver2.jl b/julia/v0.5/PerfectForesightModelSolver2.jl index 46929c5fc3d2fc0cdeab2d67a069f97341425b0b..25423d3e8987f9c9345a487a4a1c6dfaf2cfc6af 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