More TODO.
[whenjobs.git] / lib / whenutils.ml
index e43dcf6..aa59f18 100644 (file)
@@ -480,14 +480,14 @@ let rec eval_whenexpr job variables onload = function
 
   | 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
@@ -533,6 +533,7 @@ and compare_values value1 value2 =
   | 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