Skip to content

Commit c27d299

Browse files
Extend the SciMLBase traits
1 parent 1e4cd1d commit c27d299

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

Project.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "StochasticDiffEq"
22
uuid = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
33
authors = ["Chris Rackauckas <[email protected]>"]
4-
version = "6.48.0"
4+
version = "6.49.0"
55

66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
@@ -24,6 +24,7 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
2424
RandomNumbers = "e6cf234a-135c-5ec9-84dd-332b85af5143"
2525
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
2626
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
27+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
2728
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
2829
SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804"
2930
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"

src/StochasticDiffEq.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ using DocStringExtensions
6161

6262
import DiffEqBase: iip_get_uf, oop_get_uf, build_jac_config
6363

64+
import SciMLBase
65+
6466
using SparseDiffTools: forwarddiff_color_jacobian!, ForwardColorJacCache
6567

6668
using LevyArea

src/alg_utils.jl

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
1-
qmax_default(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = isadaptive(alg) ? 9//8 : 0
2-
qmin_default(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = isadaptive(alg) ? 1//5 : 0
1+
## SciMLBase Trait Definitions
32

4-
delta_default(alg) = 1//1
5-
delta_default(alg::SRIW1) = 1//6
3+
SciMLBase.isautodifferentiable(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm,StochasticDiffEqJumpAlgorithm}) = true
4+
SciMLBase.allows_arbitrary_number_types(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm,StochasticDiffEqJumpAlgorithm}) = true
5+
SciMLBase.allowscomplex(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm,StochasticDiffEqJumpAlgorithm}) = true
6+
SciMLBase.isdiscrete(alg::StochasticDiffEqJumpAlgorithm) = true
67

78
isadaptive(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = false
89
isadaptive(alg::Union{StochasticDiffEqAdaptiveAlgorithm,StochasticDiffEqRODEAdaptiveAlgorithm,StochasticDiffEqJumpAdaptiveAlgorithm,StochasticDiffEqJumpDiffusionAdaptiveAlgorithm}) = true
910
isadaptive(alg::Union{StochasticDiffEqCompositeAlgorithm,StochasticDiffEqRODECompositeAlgorithm}) = all(isadaptive.(alg.algs))
1011
isadaptive(prob,alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = isadaptive(alg)
1112
isadaptive(prob::JumpProblem,alg::ImplicitEM) = false
1213

14+
## StochasticDiffEq Internal Traits
15+
16+
qmax_default(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = isadaptive(alg) ? 9//8 : 0
17+
qmin_default(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = isadaptive(alg) ? 1//5 : 0
18+
19+
delta_default(alg) = 1//1
20+
delta_default(alg::SRIW1) = 1//6
21+
1322
ispredictive(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = false
1423
isstandard(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = false
1524
qsteady_min_default(alg::Union{StochasticDiffEqAlgorithm,StochasticDiffEqRODEAlgorithm}) = 1

0 commit comments

Comments
 (0)