Skip to content

Commit 6e6631c

Browse files
space optimized in compute_tau_explicit
1 parent 01e7527 commit 6e6631c

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/simple_regular_solve.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,18 @@ end
101101

102102
function compute_tau_explicit(u, rate_cache, nu, hor, p, t, epsilon, rate, dtmin)
103103
rate(rate_cache, u, p, t)
104-
mu = zeros(length(u))
105-
sigma2 = zeros(length(u))
106104
tau = Inf
107105
for i in 1:length(u)
106+
mu = zero(eltype(u))
107+
sigma2 = zero(eltype(u))
108108
for j in 1:size(nu, 2)
109-
mu[i] += nu[i, j] * rate_cache[j]
110-
sigma2[i] += nu[i, j]^2 * rate_cache[j]
109+
mu += nu[i, j] * rate_cache[j]
110+
sigma2 += nu[i, j]^2 * rate_cache[j]
111111
end
112112
gi = compute_gi(u, nu, hor, i)
113113
bound = max(epsilon * u[i] / gi, 1.0)
114-
mu_term = abs(mu[i]) > 0 ? bound / abs(mu[i]) : Inf
115-
sigma_term = sigma2[i] > 0 ? bound^2 / sigma2[i] : Inf
114+
mu_term = abs(mu) > 0 ? bound / abs(mu) : Inf
115+
sigma_term = sigma2 > 0 ? bound^2 / sigma2 : Inf
116116
tau = min(tau, mu_term, sigma_term)
117117
end
118118
return max(tau, dtmin)

0 commit comments

Comments
 (0)