Skip to content

Commit 2f16b95

Browse files
use IfElse.jl
1 parent 2438802 commit 2f16b95

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b"
1212
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
1313
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
1414
GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb"
15+
IfElse = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173"
1516
LabelledArrays = "2ee39098-c373-598a-b85f-a56591580800"
1617
Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
1718
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

src/ModelingToolkit.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import GeneralizedGenerated
1414
import Libdl
1515
using DocStringExtensions
1616
using Base: RefValue
17+
import IfElse
1718

1819
using RecursiveArrayTools
1920

src/extra_functions.jl

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
function ifelse end
2-
ifelse(args...) = Core.ifelse(args...)
31
@register Base.conj(x)
42
@register Base.getindex(x,i)
53
@register Base.binomial(n,k)
@@ -9,9 +7,9 @@ ifelse(args...) = Core.ifelse(args...)
97
ModelingToolkit.derivative(::typeof(signbit), args::NTuple{1,Any}, ::Val{1}) = 0
108

119
@register Base.abs(x)
12-
ModelingToolkit.derivative(::typeof(abs), args::NTuple{1,Any}, ::Val{1}) = ModelingToolkit.ifelse(signbit(args[1]),-one(args[1]),one(args[1]))
10+
ModelingToolkit.derivative(::typeof(abs), args::NTuple{1,Any}, ::Val{1}) = IfElse.ifelse(signbit(args[1]),-one(args[1]),one(args[1]))
1311

14-
@register ModelingToolkit.ifelse(x,y,z)
15-
ModelingToolkit.derivative(::typeof(ModelingToolkit.ifelse), args::NTuple{3,Any}, ::Val{1}) = 0
16-
ModelingToolkit.derivative(::typeof(ModelingToolkit.ifelse), args::NTuple{3,Any}, ::Val{2}) = ModelingToolkit.ifelse(args[1],1,0)
17-
ModelingToolkit.derivative(::typeof(ModelingToolkit.ifelse), args::NTuple{3,Any}, ::Val{3}) = ModelingToolkit.ifelse(args[1],0,1)
12+
@register IfElse.ifelse(x,y,z)
13+
ModelingToolkit.derivative(::typeof(IfElse.ifelse), args::NTuple{3,Any}, ::Val{1}) = 0
14+
ModelingToolkit.derivative(::typeof(IfElse.ifelse), args::NTuple{3,Any}, ::Val{2}) = IfElse.ifelse(args[1],1,0)
15+
ModelingToolkit.derivative(::typeof(IfElse.ifelse), args::NTuple{3,Any}, ::Val{3}) = IfElse.ifelse(args[1],0,1)

0 commit comments

Comments
 (0)