@@ -49,19 +49,11 @@ tree_copy = convert(Node, eqn, operators)
4949# with custom operators, and unary operators:
5050x1, x2, x3 = Node (" x1" ), Node (" x2" ), Node (" x3" )
5151pow_abs2 (x, y) = abs (x)^ y
52- custom_cos (x) = cos (x)^ 2
53-
54- # Define for Node (usually these are done internally to OperatorEnum)
55- pow_abs2 (l:: Node , r:: Node ):: Node =
56- (l. constant && r. constant) ? Node (pow_abs2 (l. val, r. val):: Real ) : Node (5 , l, r)
57- pow_abs2 (l:: Node , r:: Real ):: Node =
58- l. constant ? Node (pow_abs2 (l. val, r):: Real ) : Node (5 , l, r)
59- pow_abs2 (l:: Real , r:: Node ):: Node =
60- r. constant ? Node (pow_abs2 (l, r. val):: Real ) : Node (5 , l, r)
61- custom_cos (x:: Node ):: Node = x. constant ? Node (custom_cos (x. val):: Real ) : Node (1 , x)
6252
6353operators = OperatorEnum (;
64- binary_operators= (+ , * , - , / , pow_abs2), unary_operators= (custom_cos, exp, sin)
54+ binary_operators= (+ , * , - , / , pow_abs2),
55+ unary_operators= (custom_cos, exp, sin),
56+ define_helper_functions,
6557)
6658tree = (
6759 ((x2 + x2) * ((- 0.5982493 / pow_abs2 (x1, x2)) / - 0.54734415 )) + (
0 commit comments