Skip to content

Commit 0a6cb3c

Browse files
Merge pull request #1035 from SciML/ChrisRackauckas-patch-2
Make SciMLOperator dispatch safer
2 parents b26cd69 + 87f121a commit 0a6cb3c

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ RecipesBase = "1.3.4"
8585
RecursiveArrayTools = "3.27.2"
8686
Reexport = "1"
8787
RuntimeGeneratedFunctions = "0.5.12"
88-
SciMLOperators = "0.4, 1"
88+
SciMLOperators = "0.4, 1.3"
8989
SciMLStructures = "1.1"
9090
StableRNGs = "1.0"
9191
StaticArrays = "1.7"

src/scimlfunctions.jl

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2571,19 +2571,23 @@ end
25712571
######### Backwards Compatibility Overloads
25722572

25732573
(f::ODEFunction)(args...) = f.f(args...)
2574-
function (f::ODEFunction)(du, u, p, t)
2575-
if f.f isa AbstractSciMLOperator
2576-
f.f(du, u, u, p, t)
2577-
else
2578-
f.f(du, u, p, t)
2579-
end
2580-
end
2581-
function (f::ODEFunction)(u, p, t)
2582-
if f.f isa AbstractSciMLOperator
2583-
f.f(u, u, p, t)
2584-
else
2585-
f.f(u, p, t)
2586-
end
2574+
2575+
@static if isdefined(SciMLOperators, :isv1)
2576+
function (f::ODEFunction)(du, u, p, t)
2577+
if f.f isa AbstractSciMLOperator
2578+
f.f(du, u, u, p, t)
2579+
else
2580+
f.f(du, u, p, t)
2581+
end
2582+
end
2583+
2584+
function (f::ODEFunction)(u, p, t)
2585+
if f.f isa AbstractSciMLOperator
2586+
f.f(u, u, p, t)
2587+
else
2588+
f.f(u, p, t)
2589+
end
2590+
end
25872591
end
25882592

25892593
(f::NonlinearFunction)(args...) = f.f(args...)

0 commit comments

Comments
 (0)