diff --git a/core/_tests_simulate.jl b/core/_tests_simulate.jl index ca979572461a5c9b5dd182595d96f69af9ae671c..0fc7c4a0a10241fd1a80c71ce9abacd60a2a66a1 100644 --- a/core/_tests_simulate.jl +++ b/core/_tests_simulate.jl @@ -177,7 +177,7 @@ function _simulate_without_view(m::ContinuousTimeModel) transitions = Union{String,Nothing}[nothing] # values at time n n = 0 - xn = m.x0 + xn = @view m.x0[:] tn = m.t0 # at time n+1 mat_x = zeros(Int, m.buffer_size, m.d) @@ -188,16 +188,16 @@ function _simulate_without_view(m::ContinuousTimeModel) i = 0 while i < m.buffer_size && !is_absorbing &&Â (tn <= m.time_bound) i += 1 - m.f!(mat_x, l_t, l_tr, i, xn, tn, m.p) + m.f!(mat_x, l_t, l_tr, i, @view(xn[:]), tn, m.p) xn = mat_x[i,:] tn = l_t[i] - is_absorbing = m.is_absorbing(m.p,xn)::Bool + is_absorbing = m.is_absorbing(m.p,@view(xn[:]))::Bool end full_values = vcat(full_values, mat_x[1:i,:]) append!(times, l_t[1:i]) append!(transitions, l_tr[1:i]) n += i - is_absorbing = m.is_absorbing(m.p,xn)::Bool + is_absorbing = m.is_absorbing(m.p,@view(xn[:]))::Bool end if is_bounded(m) if times[end] > m.time_bound