Skip to content

Commit a04ed12

Browse files
committed
refactor: do not use similar(p)
1 parent c770210 commit a04ed12

File tree

5 files changed

+9
-4
lines changed

5 files changed

+9
-4
lines changed

lib/SimpleImplicitDiscreteSolve/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
99
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1010
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
1111
SimpleNonlinearSolve = "727e6d20-b764-4bd8-a329-72de5adea6c7"
12+
SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
1213
UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
1314

1415
[compat]
@@ -18,6 +19,7 @@ OrdinaryDiffEqSDIRK = "1.2.0"
1819
Reexport = "1.2.2"
1920
SciMLBase = "2.74.1"
2021
SimpleNonlinearSolve = "2.1.0"
22+
SymbolicIndexingInterface = "0.3.38"
2123
UnPack = "1.0.2"
2224

2325
[extras]

lib/SimpleImplicitDiscreteSolve/src/SimpleImplicitDiscreteSolve.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module SimpleImplicitDiscreteSolve
33
using SciMLBase
44
using SimpleNonlinearSolve
55
using UnPack
6+
using SymbolicIndexingInterface: parameter_values
67
import OrdinaryDiffEqCore: OrdinaryDiffEqAlgorithm, alg_cache, OrdinaryDiffEqMutableCache, OrdinaryDiffEqConstantCache, get_fsalfirstlast, isfsal, initialize!, perform_step!, isdiscretecache, isdiscretealg, alg_order, beta2_default, beta1_default, dt_required
78

89
using Reexport

lib/SimpleImplicitDiscreteSolve/src/cache.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
mutable struct ImplicitDiscreteState{uType, pType, tType}
22
u::Vector{uType}
3-
p::Union{Nothing, Vector{pType}}
3+
p::pType
44
t_next::tType
55
end
66

@@ -16,7 +16,7 @@ function alg_cache(alg::SimpleIDSolve, u, rate_prototype, ::Type{uEltypeNoUnits}
1616
dt, reltol, p, calck,
1717
::Val{true}) where {uEltypeNoUnits, uBottomEltypeNoUnits, tTypeNoUnits}
1818

19-
state = ImplicitDiscreteState(similar(u), similar(p), t)
19+
state = ImplicitDiscreteState(similar(u), p, t)
2020
SimpleIDSolveCache(u, uprev, state, nothing)
2121
end
2222

@@ -31,7 +31,7 @@ function alg_cache(alg::SimpleIDSolve, u, rate_prototype, ::Type{uEltypeNoUnits}
3131
dt, reltol, p, calck,
3232
::Val{false}) where {uEltypeNoUnits, uBottomEltypeNoUnits, tTypeNoUnits}
3333

34-
state = ImplicitDiscreteState(similar(u), similar(p), t)
34+
state = ImplicitDiscreteState(similar(u), p, t)
3535
SimpleIDSolveCache(u, uprev, state, nothing)
3636
end
3737

lib/SimpleImplicitDiscreteSolve/src/solve.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ end
1313

1414
function initialize!(integrator, cache::SimpleIDSolveCache)
1515
cache.state.u .= integrator.u
16+
@show integrator.p
1617
cache.state.p .= integrator.p
1718
cache.state.t_next = integrator.t
1819
f = integrator.f

src/NonlinearSolve.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@ end
113113
# Rexexports
114114
@reexport using SciMLBase, NonlinearSolveBase, LineSearch, ADTypes
115115
@reexport using NonlinearSolveFirstOrder, NonlinearSolveSpectralMethods,
116-
NonlinearSolveQuasiNewton, SimpleNonlinearSolve, BracketingNonlinearSolve
116+
NonlinearSolveQuasiNewton, SimpleNonlinearSolve, BracketingNonlinearSolve,
117+
SimpleImplicitDiscreteSolve
117118
@reexport using LinearSolve
118119

119120
# Poly Algorithms

0 commit comments

Comments
 (0)