Skip to content

Commit 07877fb

Browse files
committed
tests
1 parent b0b8eea commit 07877fb

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/methods.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ for f in vcat(diadic, [+, -, *, \, /, ^])
115115
@eval function promote_symtype(::$(typeof(f)),
116116
T::Type{<:$R},
117117
S::Type{<:$R})
118-
X = promote_type(Real, Real)
119-
X == Real ? $R : X
118+
$R
120119
end
121120
end
122121
end
@@ -127,6 +126,7 @@ Base.rem2pi(x::Symbolic{<:Number}, mode::Base.RoundingMode) = term(rem2pi, x, mo
127126
for f in monadic
128127
@eval promote_symtype(::$(typeof(f)), T::Type{<:Number}) = promote_type(T, Real)
129128
@eval promote_symtype(::$(typeof(f)), T::Type{<:SafeReal}) = SafeReal
129+
@eval promote_symtype(::$(typeof(f)), T::Type{<:LiteralReal}) = LiteralReal
130130
@eval (::$(typeof(f)))(a::Symbolic{<:Number}) = term($f, a)
131131
end
132132

test/basics.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,3 +257,14 @@ end
257257
@test (2.5x/3x).den == 3
258258
@test (x/3x) == 1//3
259259
end
260+
261+
@testset "LiteralReal" begin
262+
@syms x::LiteralReal y::LiteralReal z::LiteralReal
263+
@test repr(x+x) == "x + x"
264+
@test repr(x*x) == "x*x"
265+
@test repr(x*x + x*x) == "x*x + x*x"
266+
for ex in [sin(x), x+x, x*x, x\x, x/x]
267+
@test typeof(sin(x)) <: Term{LiteralReal}
268+
end
269+
@test repr(sin(x) + sin(x)) == "sin(x) + sin(x)"
270+
end

0 commit comments

Comments
 (0)