|
1 | 1 | # This function calculates the largest eigenvalue |
2 | 2 | # (absolute value wise) by power iteration. |
3 | 3 | function maxeig!(integrator, cache::StochasticDiffEqConstantCache) |
4 | | - isfirst = integrator.iter == 1 || integrator.derivative_discontinuity |
| 4 | + isfirst = integrator.iter == 1 || |
| 5 | + (hasfield(typeof(integrator), :derivative_discontinuity) && |
| 6 | + integrator.derivative_discontinuity) |
5 | 7 | (; t, dt, uprev, u, p) = integrator |
6 | 8 | maxiter = 50 |
7 | 9 | safe = 1.2 |
@@ -72,7 +74,9 @@ function maxeig!(integrator, cache::StochasticDiffEqConstantCache) |
72 | 74 | end |
73 | 75 |
|
74 | 76 | function maxeig!(integrator, cache::StochasticDiffEqMutableCache) |
75 | | - isfirst = integrator.iter == 1 || integrator.derivative_discontinuity |
| 77 | + isfirst = integrator.iter == 1 || |
| 78 | + (hasfield(typeof(integrator), :derivative_discontinuity) && |
| 79 | + integrator.derivative_discontinuity) |
76 | 80 | (; t, dt, uprev, u, p) = integrator |
77 | 81 | fz, z, fsalfirst = cache.atmp, cache.tmp, cache.fsalfirst |
78 | 82 | integrator.f(fsalfirst, uprev, p, t) |
|
0 commit comments