@@ -64,7 +64,7 @@ const ENABLE_HASHCONSING = Ref(true)
64
64
end
65
65
66
66
@kwdef struct BasicSymbolic{T} <: Symbolic{T}
67
- impl :: BasicSymbolicImpl{T}
67
+ expr :: BasicSymbolicImpl{T}
68
68
metadata:: Metadata = NO_METADATA
69
69
end
70
70
@@ -73,10 +73,10 @@ function SymbolicIndexingInterface.symbolic_type(::Type{<:BasicSymbolic})
73
73
end
74
74
75
75
function exprtype (x:: BasicSymbolic )
76
- exprtype (x. impl )
76
+ exprtype (x. expr )
77
77
end
78
- function exprtype (impl :: BasicSymbolicImpl )
79
- @compactified impl :: BasicSymbolicImpl begin
78
+ function exprtype (expr :: BasicSymbolicImpl )
79
+ @compactified expr :: BasicSymbolicImpl begin
80
80
Term => TERM
81
81
Add => ADD
82
82
Mul => MUL
@@ -88,10 +88,10 @@ function exprtype(impl::BasicSymbolicImpl)
88
88
end
89
89
90
90
function Base. getproperty (x:: BasicSymbolic , sym:: Symbol )
91
- if sym === :metadata || sym === :impl
91
+ if sym === :metadata || sym === :expr
92
92
return getfield (x, sym)
93
93
else
94
- return getproperty (x. impl , sym)
94
+ return getproperty (x. expr , sym)
95
95
end
96
96
end
97
97
@@ -113,7 +113,7 @@ function ConstructionBase.setproperties(obj::BasicSymbolic{T}, patch::NamedTuple
113
113
nt = getproperties (obj)
114
114
nt_new = merge (nt, patch)
115
115
# Call outer constructor because hash consing cannot be applied in inner constructor
116
- @compactified obj. impl :: BasicSymbolicImpl begin
116
+ @compactified obj. expr :: BasicSymbolicImpl begin
117
117
Sym => Sym {T} (nt_new. name; nt_new... )
118
118
Term => Term {T} (nt_new. f, nt_new. arguments; nt_new... , hash = RefValue (UInt (0 )), hash2 = RefValue (UInt (0 )))
119
119
Add => Add (T, nt_new. coeff, nt_new. dict; nt_new... , hash = RefValue (UInt (0 )), hash2 = RefValue (UInt (0 )))
@@ -143,11 +143,11 @@ symtype(x) = typeof(x)
143
143
144
144
# We're returning a function pointer
145
145
function operation (x:: BasicSymbolic )
146
- operation (x. impl )
146
+ operation (x. expr )
147
147
end
148
- @inline function operation (impl :: BasicSymbolicImpl )
149
- @compactified impl :: BasicSymbolicImpl begin
150
- Term => impl . f
148
+ @inline function operation (expr :: BasicSymbolicImpl )
149
+ @compactified expr :: BasicSymbolicImpl begin
150
+ Term => expr . f
151
151
Add => (+ )
152
152
Mul => (* )
153
153
Div => (/ )
161
161
162
162
function TermInterface. sorted_arguments (x:: BasicSymbolic )
163
163
args = arguments (x)
164
- @compactified x. impl :: BasicSymbolicImpl begin
164
+ @compactified x. expr :: BasicSymbolicImpl begin
165
165
Add => @goto ADD
166
166
Mul => @goto MUL
167
167
_ => return args
186
186
TermInterface. children (x:: BasicSymbolic ) = arguments (x)
187
187
TermInterface. sorted_children (x:: BasicSymbolic ) = sorted_arguments (x)
188
188
function TermInterface. arguments (x:: BasicSymbolic )
189
- arguments (x. impl )
189
+ arguments (x. expr )
190
190
end
191
191
function TermInterface. arguments (x:: BasicSymbolicImpl )
192
192
@compactified x:: BasicSymbolicImpl begin
@@ -241,7 +241,7 @@ iscall(s::BasicSymbolic) = isexpr(s)
241
241
242
242
@inline function isa_SymType (T:: Val{S} , x) where {S}
243
243
if x isa BasicSymbolic
244
- Unityper. isa_type_fun (Val (SymbolicUtils. BasicSymbolicImpl), T, x. impl )
244
+ Unityper. isa_type_fun (Val (SymbolicUtils. BasicSymbolicImpl), T, x. expr )
245
245
elseif x isa BasicSymbolicImpl
246
246
Unityper. isa_type_fun (Val (SymbolicUtils. BasicSymbolicImpl), T, x)
247
247
else
423
423
Base. one ( s:: Symbolic ) = one ( symtype (s))
424
424
Base. zero (s:: Symbolic ) = zero (symtype (s))
425
425
426
- Base. nameof (s:: BasicSymbolic ) = nameof (s. impl )
426
+ Base. nameof (s:: BasicSymbolic ) = nameof (s. expr )
427
427
function Base. nameof (s:: BasicSymbolicImpl )
428
428
if issym (s)
429
429
s. name
0 commit comments