|
| | Group (int id, GroupExpr *expr, Memo *memo) |
| | Constructor for the Group class. A Group tracks both logical and physical M_EXPRs. 更多...
|
| |
| void | add_expr (GroupExpr *expr) |
| | Adds an expression to the group. 更多...
|
| |
| bool | set_expr_cost (GroupExpr *expr, double cost) |
| | Sets the cost of a given expression in the group. 更多...
|
| |
| GroupExpr * | get_winner () |
| |
|
const std::vector< GroupExpr * > & | get_logical_expressions () const |
| | Gets the logical expressions in the group.
|
| |
|
const std::vector< GroupExpr * > & | get_physical_expressions () const |
| | Gets the physical expressions in the group.
|
| |
| double | get_cost_lb () |
| | Gets the cost lower bound. 更多...
|
| |
|
void | set_explored () |
| | Marks the group as explored.
|
| |
|
bool | has_explored () |
| | Checks if the group has been explored.
|
| |
|
int | get_id () const |
| |
|
GroupExpr * | get_logical_expression () |
| |
|
LogicalProperty * | get_logical_prop () |
| | dump the group info, for debug
|
| |
|
void | dump () const |
| |
A class representing a group within cascade optimizer.
This class manages a group of expressions and their associated costs, and keeps track of whether the group has been explored.