@@ -5,27 +5,26 @@ import ..OperatorEnumModule: AbstractOperatorEnum, OperatorEnum, GenericOperator
55import .. EquationModule: string_tree, Node
66import .. EvaluateEquationModule: eval_tree_array
77import .. EvaluateEquationDerivativeModule: eval_grad_tree_array
8+ import .. EvaluationHelpersModule: _grad_evaluator
89
910function create_evaluation_helpers! (operators:: OperatorEnum )
1011 @eval begin
1112 Base. print (io:: IO , tree:: Node ) = print (io, string_tree (tree, $ operators))
1213 Base. show (io:: IO , tree:: Node ) = print (io, string_tree (tree, $ operators))
1314 function (tree:: Node )(X; kws... )
14- out, did_finish = eval_tree_array (tree, X, $ operators; kws ... )
15- if ! did_finish
16- out . = convert ( eltype (out), NaN )
17- end
18- return out
15+ Base . depwarn (
16+ " The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. " ,
17+ :Node ,
18+ )
19+ return tree (X, $ operators; kws ... )
1920 end
2021 # Gradients:
21- function Base. adjoint (tree:: Node{T} ) where {T}
22- return (X; kws... ) -> begin
23- _, grad, did_complete = eval_grad_tree_array (
24- tree, X, $ operators; variable= true , kws...
25- )
26- ! did_complete && (grad .= T (NaN ))
27- grad
28- end
22+ function _grad_evaluator (tree:: Node , X; kws... )
23+ Base. depwarn (
24+ " The `tree'(X; kws...)` syntax is deprecated. Use `tree'(X, operators; kws...)` instead." ,
25+ :Node ,
26+ )
27+ return _grad_evaluator (tree, X, $ operators; kws... )
2928 end
3029 end
3130end
@@ -36,16 +35,14 @@ function create_evaluation_helpers!(operators::GenericOperatorEnum)
3635 Base. show (io:: IO , tree:: Node ) = print (io, string_tree (tree, $ operators))
3736
3837 function (tree:: Node )(X; kws... )
39- out, did_finish = eval_tree_array (tree, X, $ operators; kws ... )
40- if ! did_finish
41- return nothing
42- end
43- return out
38+ Base . depwarn (
39+ " The `tree(X; kws...)` syntax is deprecated. Use `tree(X, operators; kws...)` instead. " ,
40+ :Node ,
41+ )
42+ return tree (X, $ operators; kws ... )
4443 end
45- function Base. adjoint (:: Node{T} ) where {T}
46- return _ -> begin
47- error (" Gradients are not implemented for `GenericOperatorEnum`." )
48- end
44+ function _grad_evaluator (tree:: Node , X; kws... )
45+ @error " Gradients are not implemented for `GenericOperatorEnum`."
4946 end
5047 end
5148end
0 commit comments