diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2022-03-27 18:36:14 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2022-03-27 18:36:14 -0400 |
commit | 2d5b15ea68bf4b09afd2374660c22171f8ca3e52 (patch) | |
tree | 0b8a70a3111f349eb8a3fa320c45b726a6e34222 | |
parent | c04ed01f5c008733c4d4575b888e1c40a8797e24 (diff) | |
download | bfs-2d5b15ea68bf4b09afd2374660c22171f8ca3e52.tar.xz |
opt: Use floats consistently for probabilities and costs
-rw-r--r-- | opt.c | 6 | ||||
-rw-r--r-- | parse.c | 4 |
2 files changed, 5 insertions, 5 deletions
@@ -953,7 +953,7 @@ done: } /** Swap the children of a binary expression if it would reduce the cost. */ -static bool reorder_expr(const struct opt_state *state, struct bfs_expr *expr, double swapped_cost) { +static bool reorder_expr(const struct opt_state *state, struct bfs_expr *expr, float swapped_cost) { if (swapped_cost < expr->cost) { bool debug = opt_debug(state, 3, "cost: %pe <==> ", expr); struct bfs_expr *lhs = expr->lhs; @@ -995,8 +995,8 @@ static bool reorder_expr_recursive(const struct opt_state *state, struct bfs_exp if (expr->eval_fn == eval_and || expr->eval_fn == eval_or) { if (lhs->pure && rhs->pure) { - double rhs_prob = expr->eval_fn == eval_and ? rhs->probability : 1.0 - rhs->probability; - double swapped_cost = rhs->cost + rhs_prob*lhs->cost; + float rhs_prob = expr->eval_fn == eval_and ? rhs->probability : 1.0 - rhs->probability; + float swapped_cost = rhs->cost + rhs_prob*lhs->cost; ret |= reorder_expr(state, expr, swapped_cost); } } @@ -2672,12 +2672,12 @@ static struct bfs_expr *parse_type(struct parser_state *state, int x, int arg2) } unsigned int types = 0; - double probability = 0.0; + float probability = 0.0; const char *c = expr->argv[1]; while (true) { enum bfs_type type; - double type_prob; + float type_prob; switch (*c) { case 'b': |