Skip to content

Commit 8d2f417

Browse files
authored
Update Expressions.h
Fix logic: * bins are defined as [lower : upper) * separate "less than lower" node
1 parent 95f5ecd commit 8d2f417

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

Framework/Core/include/Framework/Expressions.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -502,14 +502,12 @@ inline Node binned(std::vector<T> const& binning, std::vector<T> const& paramete
502502
const auto binned_copy = binned;
503503
const auto out_copy = out;
504504
auto root = ifnode(Node{binned_copy} < binning[0], Node{out_copy}, LiteralNode{-1});
505-
root.right = std::make_unique<Node>(ifnode(Node{binned_copy} > binning[0] && Node{binned_copy} <= binning[1], updateParameters(pexp, bins, parameters, 0), LiteralNode{-1}));
506-
auto* current = root.right.get();
507-
for (auto i = 1; i < bins; ++i) {
508-
current->right = std::make_unique<Node>(ifnode(Node{binned_copy} <= binning[i + 1], updateParameters(pexp, bins, parameters, i), LiteralNode{-1}));
505+
auto* current = &root;
506+
for (auto i = 0; i < bins; ++i) {
507+
current->right = std::make_unique<Node>(ifnode(Node{binned_copy} < binning[i + 1], updateParameters(pexp, bins, parameters, i), LiteralNode{-1}));
509508
current = current->right.get();
510509
}
511510
current->right = std::make_unique<Node>(out);
512-
513511
return root;
514512
}
515513

0 commit comments

Comments
 (0)