Skip to content

Commit b675cc1

Browse files
committed
added match for exp and sqrt calls
1 parent f0a9bcd commit b675cc1

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/matchers.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,23 @@ function term_matcher_constructor(term, acSets)
153153
result = loop(frankestein, bindings, matchers)
154154
result !== nothing && return success(result, 1)
155155
end
156+
157+
# if data is a exp call, it might match with base e
158+
if operation(data)===exp
159+
T = symtype(arguments(data)[1])
160+
frankestein = Term{T}(^,[ℯ,arguments(data)[1]])
161+
result = loop(frankestein, bindings, matchers)
162+
result !== nothing && return success(result, 1)
163+
end
164+
165+
# if data is a sqrt call, it might match with exponent 1//2
166+
if operation(data)===sqrt
167+
T = symtype(arguments(data)[1])
168+
frankestein = Term{T}(^,[arguments(data)[1], 1//2])
169+
result = loop(frankestein, bindings, matchers)
170+
result !== nothing && return success(result, 1)
171+
end
172+
156173
return nothing
157174
end
158175
return pow_term_matcher

0 commit comments

Comments
 (0)