Revision b7c3790e
src/mutation.ml | ||
---|---|---|
93 | 93 |
|
94 | 94 |
let rec compute_records_expr expr = |
95 | 95 |
let boolexpr = |
96 |
if (Types.repr expr.expr_type).Types.tdesc = Types.Tbool then
|
|
96 |
if Types.is_bool_type expr.expr_type then
|
|
97 | 97 |
{empty_records with nb_boolexpr = 1} |
98 | 98 |
else |
99 | 99 |
empty_records |
... | ... | |
202 | 202 |
| _ -> op |
203 | 203 |
|
204 | 204 |
|
205 |
let rdm_mutate_var expr = |
|
206 |
match (Types.repr expr.expr_type).Types.tdesc with |
|
207 |
| Types.Tbool -> |
|
205 |
let rdm_mutate_var expr = |
|
206 |
if Types.is_bool_type expr.expr_type then |
|
208 | 207 |
(* if Random.int 100 > threshold_negate_bool_var then *) |
209 | 208 |
let new_e = mkpredef_call expr.expr_loc "not" [expr] in |
210 | 209 |
Some (expr, new_e), new_e |
211 | 210 |
(* else *) |
212 |
(* expr *) |
|
213 |
| _ -> None, expr |
|
211 |
(* expr *) |
|
212 |
else |
|
213 |
None, expr |
|
214 | 214 |
|
215 | 215 |
let rdm_mutate_pre orig_expr = |
216 | 216 |
let new_e = Expr_pre orig_expr in |
... | ... | |
540 | 540 |
{ expr with expr_desc = new_desc } |
541 | 541 |
) |
542 | 542 |
in |
543 |
if (Types.repr expr.expr_type).Types.tdesc = Types.Tbool then
|
|
543 |
if Types.is_bool_type expr.expr_type then
|
|
544 | 544 |
fold_mutate_boolexpr new_expr |
545 | 545 |
else |
546 | 546 |
new_expr |
Also available in: Unified diff