File tree Expand file tree Collapse file tree 1 file changed +21
-13
lines changed Expand file tree Collapse file tree 1 file changed +21
-13
lines changed Original file line number Diff line number Diff line change @@ -126,21 +126,29 @@ function leaf_copy(t::ParametricNode{T}) where {T}
126126 return n
127127 end
128128end
129- function leaf_copy! (dest:: N , src:: N ) where {T,N<: ParametricNode{T} }
130- dest. degree = 0
131- if src. constant
132- dest. constant = true
133- dest. val = src. val
134- elseif ! src. is_parameter
135- dest. constant = false
136- dest. is_parameter = false
137- dest. feature = src. feature
129+ function set_node! (tree:: ParametricNode , new_tree:: ParametricNode )
130+ tree. degree = new_tree. degree
131+ if new_tree. degree == 0
132+ if new_tree. constant
133+ tree. constant = true
134+ tree. val = new_tree. val
135+ elseif ! new_tree. is_parameter
136+ tree. constant = false
137+ tree. is_parameter = false
138+ tree. feature = new_tree. feature
139+ else
140+ tree. constant = false
141+ tree. is_parameter = true
142+ tree. parameter = new_tree. parameter
143+ end
138144 else
139- dest. constant = false
140- dest. is_parameter = true
141- dest. parameter = src. parameter
145+ tree. op = new_tree. op
146+ tree. l = new_tree. l
147+ if new_tree. degree == 2
148+ tree. r = new_tree. r
149+ end
142150 end
143- return dest
151+ return nothing
144152end
145153function leaf_convert (:: Type{N} , t:: ParametricNode ) where {T,N<: ParametricNode{T} }
146154 if t. constant
You can’t perform that action at this time.
0 commit comments