Skip to content

Commit 6053051

Browse files
authored
Merge pull request #1574 from SciML/myb/hash
Define hash for SymbolicContinuousCallback
2 parents 02ac87f + 3ae1cec commit 6053051

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/systems/abstractsystem.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ end
171171

172172
Base.:(==)(e1::SymbolicContinuousCallback, e2::SymbolicContinuousCallback) = isequal(e1.eqs, e2.eqs) && isequal(e1.affect, e2.affect)
173173
Base.isempty(cb::SymbolicContinuousCallback) = isempty(cb.eqs)
174+
function Base.hash(cb::SymbolicContinuousCallback, s::UInt)
175+
s = foldr(hash, cb.eqs, init=s)
176+
foldr(hash, cb.affect, init=s)
177+
end
174178

175179
to_equation_vector(eq::Equation) = [eq]
176180
to_equation_vector(eqs::Vector{Equation}) = eqs

test/odesystem.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ eqs = [D(x) ~ σ*(y-x),
1919
ModelingToolkit.toexpr.(eqs)[1]
2020
@named de = ODESystem(eqs; defaults=Dict(x => 1))
2121
@test eval(toexpr(de)) == de
22+
@test hash(deepcopy(de)) == hash(de)
2223

2324
generate_function(de)
2425

0 commit comments

Comments
 (0)