11module EvaluationHelpersModule
22
3- using ChainRulesCore: @non_differentiable
4-
53import Base: adjoint
64import .. OperatorEnumModule: AbstractOperatorEnum, OperatorEnum, GenericOperatorEnum
75import .. NodeModule: AbstractExpressionNode
86import .. EvaluateModule: eval_tree_array
97import .. EvaluateDerivativeModule: eval_grad_tree_array
10-
11- function _set_nan! (out)
12- out .= convert (eltype (out), NaN )
13- return nothing
14- end
8+ import .. UtilsModule: set_nan!
159
1610# Evaluation:
1711"""
@@ -34,7 +28,7 @@ and triplets of operations for lower memory usage.
3428"""
3529function (tree:: AbstractExpressionNode )(X, operators:: OperatorEnum ; kws... )
3630 out, did_finish = eval_tree_array (tree, X, operators; kws... )
37- ! did_finish && _set_nan ! (out)
31+ ! did_finish && set_nan ! (out)
3832 return out
3933end
4034"""
@@ -63,7 +57,7 @@ function _grad_evaluator(
6357 tree:: AbstractExpressionNode , X, operators:: OperatorEnum ; variable= Val (true ), kws...
6458)
6559 _, grad, did_complete = eval_grad_tree_array (tree, X, operators; variable, kws... )
66- ! did_complete && _set_nan ! (grad)
60+ ! did_complete && set_nan ! (grad)
6761 return grad
6862end
6963function _grad_evaluator (
0 commit comments