|
1 | 1 | module NonDifferentiableDeclarationsModule
|
2 | 2 |
|
3 | 3 | using ChainRulesCore: @non_differentiable
|
| 4 | +import ..OperatorEnumModule: AbstractOperatorEnum |
| 5 | +import ..NodeModule: AbstractExpressionNode, AbstractNode |
4 | 6 | import ..NodeUtilsModule: tree_mapreduce
|
5 |
| -import ..ExpressionModule: get_operators, get_variable_names, _validate_input |
| 7 | +import ..ExpressionModule: |
| 8 | + AbstractExpression, get_operators, get_variable_names, _validate_input |
6 | 9 |
|
7 |
| -@non_differentiable tree_mapreduce(args...) |
8 |
| -@non_differentiable get_operators(ex, operators) |
9 |
| -@non_differentiable get_variable_names(ex, variable_names) |
10 |
| -@non_differentiable _validate_input(ex, X, operators) |
| 10 | +#! format: off |
| 11 | +@non_differentiable tree_mapreduce(f::Function, op::Function, tree::AbstractNode, result_type::Type) |
| 12 | +@non_differentiable tree_mapreduce(f::Function, f_branch::Function, op::Function, tree::AbstractNode, result_type::Type) |
| 13 | +@non_differentiable get_operators(ex::Union{AbstractExpression,AbstractExpressionNode}, operators::Union{AbstractOperatorEnum,Nothing}) |
| 14 | +@non_differentiable get_variable_names(ex::AbstractExpression, variable_names::Union{AbstractVector{<:AbstractString},Nothing}) |
| 15 | +@non_differentiable _validate_input(ex::AbstractExpression, X, operators::Union{AbstractOperatorEnum,Nothing}) |
| 16 | +#! format: on |
11 | 17 |
|
12 | 18 | end
|
0 commit comments