Skip to content

Commit 575562d

Browse files
committed
Better compassion overloads
1 parent aa0f5cf commit 575562d

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/ModelingToolkit.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,12 @@ end
152152
tosymbolic(a::Num) = tosymbolic(value(a))
153153
tosymbolic(a::Sym) = tovar(a)
154154
tosymbolic(a) = a
155-
@num_method Base.isless Num(isless(tosymbolic(a), tosymbolic(b))) (Real,)
156-
@num_method Base.:(<) Num(tosymbolic(a) < tosymbolic(b)) (Real,)
157-
@num_method Base.:(<=) Num(tosymbolic(a) <= tosymbolic(b)) (Real,)
158-
@num_method Base.:(>) Num(tosymbolic(a) > tosymbolic(b)) (Real,)
159-
@num_method Base.:(>=) Num(tosymbolic(a) >= tosymbolic(b)) (Real,)
160-
@num_method Base.:(==) Num(tosymbolic(a) == tosymbolic(b)) (AbstractFloat,Number)
155+
@num_method Base.isless (val = isless(tosymbolic(a), tosymbolic(b)); val isa Bool ? val : Num(val)) (Real,)
156+
@num_method Base.:(<) (val = tosymbolic(a) < tosymbolic(b) ; val isa Bool ? val : Num(val)) (Real,)
157+
@num_method Base.:(<=) (val = tosymbolic(a) <= tosymbolic(b) ; val isa Bool ? val : Num(val)) (Real,)
158+
@num_method Base.:(>) (val = tosymbolic(a) > tosymbolic(b) ; val isa Bool ? val : Num(val)) (Real,)
159+
@num_method Base.:(>=) (val = tosymbolic(a) >= tosymbolic(b) ; val isa Bool ? val : Num(val)) (Real,)
160+
@num_method Base.:(==) (val = tosymbolic(a) == tosymbolic(b) ; val isa Bool ? val : Num(val)) (AbstractFloat,Number)
161161
@num_method Base.isequal isequal(tosymbolic(a), tosymbolic(b)) (AbstractFloat, Number, Symbolic)
162162

163163
Base.hash(x::Num, h::UInt) = hash(value(x), h)

test/operation_overloads.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ F = lu(X)
2525
R = simplify.(F.L * F.U - X[F.p, :], polynorm=true)
2626
@test iszero(R)
2727
@test simplify.(F \ X) == I
28-
@test ModelingToolkit._solve(X, X) == I
28+
@test ModelingToolkit._solve(X, X, true) == I
2929
inv(X)
3030
qr(X)
3131

0 commit comments

Comments
 (0)