69
69
end
70
70
71
71
@kwdef struct BasicSymbolic{T} <: Symbolic{T}
72
- impl :: BasicSymbolicImpl{T}
72
+ expr :: BasicSymbolicImpl{T}
73
73
meta:: Metadata
74
74
end
75
75
@@ -78,10 +78,10 @@ function SymbolicIndexingInterface.symbolic_type(::Type{<:BasicSymbolic})
78
78
end
79
79
80
80
function exprtype (x:: BasicSymbolic )
81
- exprtype (x. impl )
81
+ exprtype (x. expr )
82
82
end
83
- function exprtype (impl :: BasicSymbolicImpl )
84
- @compactified impl :: BasicSymbolicImpl begin
83
+ function exprtype (expr :: BasicSymbolicImpl )
84
+ @compactified expr :: BasicSymbolicImpl begin
85
85
Term => TERM
86
86
Add => ADD
87
87
Mul => MUL
@@ -93,10 +93,10 @@ function exprtype(impl::BasicSymbolicImpl)
93
93
end
94
94
95
95
function Base. getproperty (x:: BasicSymbolic , sym:: Symbol )
96
- if sym === :metadata || sym === :impl
96
+ if sym === :metadata || sym === :expr
97
97
return getfield (x, sym)
98
98
else
99
- return getproperty (x. impl , sym)
99
+ return getproperty (x. expr , sym)
100
100
end
101
101
end
102
102
@@ -118,7 +118,7 @@ function ConstructionBase.setproperties(obj::BasicSymbolic{T}, patch::NamedTuple
118
118
nt = getproperties (obj)
119
119
nt_new = merge (nt, patch)
120
120
# Call outer constructor because hash consing cannot be applied in inner constructor
121
- @compactified obj. impl :: BasicSymbolicImpl begin
121
+ @compactified obj. expr :: BasicSymbolicImpl begin
122
122
Sym => Sym {T} (nt_new. name; nt_new... )
123
123
Term => Term {T} (nt_new. f, nt_new. arguments; nt_new... , hash = RefValue (UInt (0 )), hash2 = RefValue (UInt (0 )))
124
124
Add => Add (T, nt_new. coeff, nt_new. dict; nt_new... , hash = RefValue (UInt (0 )), hash2 = RefValue (UInt (0 )))
@@ -148,11 +148,11 @@ symtype(x) = typeof(x)
148
148
149
149
# We're returning a function pointer
150
150
function operation (x:: BasicSymbolic )
151
- operation (x. impl )
151
+ operation (x. expr )
152
152
end
153
- @inline function operation (impl :: BasicSymbolicImpl )
154
- @compactified impl :: BasicSymbolicImpl begin
155
- Term => impl . f
153
+ @inline function operation (expr :: BasicSymbolicImpl )
154
+ @compactified expr :: BasicSymbolicImpl begin
155
+ Term => expr . f
156
156
Add => (+ )
157
157
Mul => (* )
158
158
Div => (/ )
166
166
167
167
function TermInterface. sorted_arguments (x:: BasicSymbolic )
168
168
args = arguments (x)
169
- @compactified x. impl :: BasicSymbolicImpl begin
169
+ @compactified x. expr :: BasicSymbolicImpl begin
170
170
Add => @goto ADD
171
171
Mul => @goto MUL
172
172
_ => return args
191
191
TermInterface. children (x:: BasicSymbolic ) = arguments (x)
192
192
TermInterface. sorted_children (x:: BasicSymbolic ) = sorted_arguments (x)
193
193
function TermInterface. arguments (x:: BasicSymbolic )
194
- arguments (x. impl )
194
+ arguments (x. expr )
195
195
end
196
196
function TermInterface. arguments (x:: BasicSymbolicImpl )
197
197
@compactified x:: BasicSymbolicImpl begin
@@ -246,7 +246,7 @@ iscall(s::BasicSymbolic) = isexpr(s)
246
246
247
247
@inline function isa_SymType (T:: Val{S} , x) where {S}
248
248
if x isa BasicSymbolic
249
- Unityper. isa_type_fun (Val (SymbolicUtils. BasicSymbolicImpl), T, x. impl )
249
+ Unityper. isa_type_fun (Val (SymbolicUtils. BasicSymbolicImpl), T, x. expr )
250
250
elseif x isa BasicSymbolicImpl
251
251
Unityper. isa_type_fun (Val (SymbolicUtils. BasicSymbolicImpl), T, x)
252
252
else
428
428
Base. one ( s:: Symbolic ) = one ( symtype (s))
429
429
Base. zero (s:: Symbolic ) = zero (symtype (s))
430
430
431
- Base. nameof (s:: BasicSymbolic ) = nameof (s. impl )
431
+ Base. nameof (s:: BasicSymbolic ) = nameof (s. expr )
432
432
function Base. nameof (s:: BasicSymbolicImpl )
433
433
if issym (s)
434
434
s. name
0 commit comments