| Expr_increases v ->
let prev_value, curr_value = get_prev_curr_value job variables v in
- if compare_values prev_value curr_value > 0 then
+ if compare_values prev_value curr_value < 0 then
T_bool true
else
T_bool false
| Expr_decreases v ->
let prev_value, curr_value = get_prev_curr_value job variables v in
- if compare_values prev_value curr_value < 0 then
+ if compare_values prev_value curr_value > 0 then
T_bool true
else
T_bool false
| T_string s1, T_string s2 -> compare s1 s2
| T_int i1, T_int i2 -> compare_big_int i1 i2
| T_float f1, T_float f2 -> compare f1 f2
+ (* XXX BUG: int should be promoted to float in mixed numeric comparison *)
| _ ->
let value1 = string_of_variable value1
and value2 = string_of_variable value2 in