Commit 12b0db6
Fix FIRK step count test: use length(sol.t) instead of length(sol) (#3478)
On RAT v4, ODESolution is an AbstractArray. `length(sol)` dispatches to
`length(::AbstractArray)` which materializes the flattened array
dimensions. This JIT-compiles RecursiveArrayTools/FastBroadcast methods
for the solution's element type, changing how @.. broadcasts dispatch
for subsequent solves in the same process. The result: step counts
double from 117 to 234 for the Van der Pol μ≥1e7 cases.
`length(sol.t)` accesses the timestep vector directly without triggering
the AbstractArray machinery. This gives consistent results regardless of
compilation order.
Confirmed: Pkg.test passes 92/92 with this fix (previously 82/10).
Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 8adb5f3 commit 12b0db6
1 file changed
Lines changed: 5 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
| 82 | + | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| |||
0 commit comments