Skip to content

Commit 694dcfa

Browse files
committed
getnames preliminary work
1 parent 9130dbc commit 694dcfa

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

src/interval/interval.jl

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,22 @@ end
7070
# end
7171

7272
# Helper functions for navigating SymbolicUtils structures
73+
get_name(x::Sym{SymbolicUtils.FnType{Tuple{Any}, Real}, Nothing}) = x.name
74+
75+
"""
76+
Takes x[1,1] returns :x_1_1
77+
"""
78+
function get_name(z::Term{SymbolicUtils.FnType{Tuple, Real}, Nothing})
79+
d = value(z).val.f.arguments
80+
x = string(d[1])
81+
for i in 2:length(d)
82+
x = x*"_"*string(i)
83+
end
84+
Symbol(x)
85+
end
86+
7387
function get_name(s::Term)
74-
return s.f.name
88+
return get_name(s.f)
7589
end
7690
function get_name(s::Sym)
7791
return s.name

src/interval/rules.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,27 @@ using IfElse
99
Unitary rules
1010
=#
1111
function transform_rule(::IntervalTransform, ::Symbol, yL, yU, xL, xU)
12-
rl = Assignment(yL, :($xL))
13-
ru = Assignment(yU, :($xU))
12+
rl = Assignment(yL, xL)
13+
ru = Assignment(yU, xU)
1414
AssignmentPair(rl, ru)
1515
end
1616
function transform_rule(::IntervalTransform, ::typeof(exp), yL, yU, xL, xU)
17-
rl = Assignment(yL, :(exp($xL)))
18-
ru = Assignment(yU, :(exp($xU)))
17+
rl = Assignment(yL, exp(xL))
18+
ru = Assignment(yU, exp(xU))
1919
AssignmentPair(rl, ru)
2020
end
2121

2222
#=
2323
Binary Rules
2424
=#
2525
function transform_rule(::IntervalTransform, ::typeof(+), zL, zU, xL, xU, yL, yU)
26-
rl = Assignment(zL, :($xL + $yL))
27-
ru = Assignment(zU, :($xU + $yU))
26+
rl = Assignment(zL, xL + yL)
27+
ru = Assignment(zU, xU + yU)
2828
AssignmentPair(rl, ru)
2929
end
3030
function transform_rule(::IntervalTransform, ::typeof(-), zL, zU, xL, xU, yL, yU)
31-
rl = Assignment(zL, :($xL - $yU))
32-
ru = Assignment(zU, :($xU - $yL))
31+
rl = Assignment(zL, xL - yU)
32+
ru = Assignment(zU, xU - yL)
3333
AssignmentPair(rl, ru)
3434
end
3535
function transform_rule(::IntervalTransform, ::typeof(*), zL, zU, xL, xU, yL, yU)

0 commit comments

Comments
 (0)