Skip to content

Commit 198ecb9

Browse files
committed
fix wrong grouping of operands
1 parent 988c9a1 commit 198ecb9

2 files changed

Lines changed: 9 additions & 8 deletions

File tree

evalexpr/src/flat_node/compile.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ pub fn compile_to_flat<F: EvalexprFloat>(node: Node<F>) -> EvalexprResult<FlatNo
2121
/// Helper function to extract exactly two child nodes
2222
fn extract_two_nodes<F: EvalexprFloat>(mut children: Vec<Node<F>>) -> EvalexprResult<[Node<F>; 2], F> {
2323
expect_operator_argument_amount(children.len(), 2)?;
24-
let mut b = children.pop().unwrap();
25-
let mut a = children.pop().unwrap();
26-
if b.operator() == &Operator::RootNode && b.children.len() == 1 {
27-
b = b.children.pop().unwrap();
28-
}
29-
if a.operator() == &Operator::RootNode && a.children.len() == 1 {
30-
a = a.children.pop().unwrap();
31-
}
24+
let b = children.pop().unwrap();
25+
let a = children.pop().unwrap();
26+
// if b.operator() == &Operator::RootNode && b.children.len() == 1 {
27+
// b = b.children.pop().unwrap();
28+
// }
29+
// if a.operator() == &Operator::RootNode && a.children.len() == 1 {
30+
// a = a.children.pop().unwrap();
31+
// }
3232

3333
Ok([a, b])
3434
}

examples/FractalSmooth.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"entries":[{"id":0,"name":"K","visible":false,"color":{"DefaultColor":2},"ty":{"Constant":{"value":3.299999952316284,"step":0.01,"ty":{"LoopForwardAndBackward":{"forward":true}},"range_start":{"text":"-10","display_rational":false},"range_end":{"text":"10","display_rational":false}}}},{"id":1,"name":"N","visible":false,"color":{"DefaultColor":3},"ty":{"Constant":{"value":40.0,"step":0.01,"ty":{"LoopForwardAndBackward":{"forward":true}},"range_start":{"text":"-10","display_rational":false},"range_end":{"text":"100","display_rational":false}}}},{"id":2,"name":"cpow(z,n)","visible":false,"color":{"DefaultColor":5},"ty":{"Function":{"func":{"text":"(mag(z)^n)*cos(n*atan2(z.y,z.x)), (mag(z)^n)*sin(n*atan2(z.y,z.x))","display_rational":false},"ranged":false,"range_start":{"text":"-2","display_rational":false},"range_end":{"text":"2","display_rational":false},"style":{"selectable":true,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"implicit_resolution":200,"parametric_fill":false,"fill_rule":"EvenOdd","fill_alpha":128}}},{"id":3,"name":"mag(z)","visible":false,"color":{"DefaultColor":8},"ty":{"Function":{"func":{"text":"sqrt(z.x*z.x + z.y*z.y)","display_rational":false},"ranged":false,"range_start":{"text":"-2","display_rational":false},"range_end":{"text":"2","display_rational":false},"style":{"selectable":true,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"implicit_resolution":200,"parametric_fill":false,"fill_rule":"EvenOdd","fill_alpha":128}}},{"id":4,"name":"f(z)","visible":false,"color":{"DefaultColor":6},"ty":{"Function":{"func":{"text":"cpow(z,4)+ offset.1","display_rational":false},"ranged":false,"range_start":{"text":"-2","display_rational":false},"range_end":{"text":"2","display_rational":false},"style":{"selectable":true,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"implicit_resolution":200,"parametric_fill":false,"fill_rule":"EvenOdd","fill_alpha":128}}},{"id":5,"name":"F(z,n)","visible":false,"color":{"DefaultColor":7},"ty":{"Function":{"func":{"text":"if(n<=0, 0, \n if(mag(z)>2,n+2,\n F(f(z),n-1)))","display_rational":false},"ranged":false,"range_start":{"text":"-2","display_rational":false},"range_end":{"text":"2","display_rational":false},"style":{"selectable":true,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"implicit_resolution":200,"parametric_fill":false,"fill_rule":"EvenOdd","fill_alpha":128}}},{"id":6,"name":"","visible":true,"color":{"CustomColor":16},"ty":{"Function":{"func":{"text":"F((x,y),N) > K*1 ","display_rational":false},"ranged":false,"range_start":{"text":"-2","display_rational":false},"range_end":{"text":"2","display_rational":false},"style":{"selectable":true,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"implicit_resolution":300,"parametric_fill":false,"fill_rule":"EvenOdd","fill_alpha":128}}},{"id":16,"name":"","visible":true,"color":{"CustomColor":16},"ty":{"Color":{"expr":{"text":"lerp( (0,0,0), (1,0,1), v/(K*12) )","display_rational":false},"ty":"RgbNormalized"}}},{"id":19,"name":"lerp(x,y,b)","visible":false,"color":{"DefaultColor":19},"ty":{"Function":{"func":{"text":"x+(1-b)*y","display_rational":false},"ranged":false,"range_start":{"text":"-2","display_rational":false},"range_end":{"text":"2","display_rational":false},"style":{"selectable":true,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"implicit_resolution":200,"parametric_fill":false,"fill_rule":"EvenOdd","fill_alpha":128}}},{"id":21,"name":"offset","visible":false,"color":{"DefaultColor":8},"ty":{"Points":{"points_ty":{"Separate":{"points":[{"x":{"text":"0.0","display_rational":false},"y":{"text":"0","display_rational":false},"drag_type":"NoDrag"},{"x":{"text":"0.0","display_rational":false},"y":{"text":"-0.75","display_rational":false},"drag_type":"Both"}]}},"style":{"show_lines":true,"show_arrows":true,"show_points":false,"line_style":{"selectable":false,"line_width":1.5,"line_style":"Solid","line_style_size":5.5},"label_config":null,"fill":false,"fill_rule":"EvenOdd","connect_first_and_last":false,"fill_alpha":128}}}}],"graph_config":{"graph_plot_bounds":{"center":[-0.1855693320879429,1.0258471308928108],"h_size":0.001991897639951362,"data_aspect":1.0000000011360286},"show_legend":true,"allow_zoom":[true,true],"allow_scroll":[true,true],"show_axes":[true,true],"invert_axes":[false,false],"show_grid":[false,false],"x_axis_label":"","y_axis_label":"","clamp_grid":false,"grid_spacing":[8.0,300.0]},"id_generator":{"next_id":22},"name":"FractalSmooth"}

0 commit comments

Comments
 (0)