Commits

arkdro committed cf7a4ba

do decimal calculation if configured

Comments (0)

Files changed (2)

erlang/test/num_SUITE.erl

 
 do_op(divide, D1, D2) ->
     Res1 = call_ocaml(divide, D1, D2),
-    Res2 = decimal:divide(D1, D2, ?d_context),
+    Res2 = call_decimal(divide, D1, D2),
     {Res1, Res2};
 do_op(subtract, D1, D2) ->
     Res1 = call_ocaml(subtract, D1, D2),
-    Res2 = decimal:subtract(D1, D2, ?d_context),
+    Res2 = call_decimal(subtract, D1, D2),
     {Res1, Res2};
 do_op(add, D1, D2) ->
     Res1 = call_ocaml(add, D1, D2),
-    Res2 = decimal:add(D1, D2, ?d_context),
+    Res2 = call_decimal(add, D1, D2),
     {Res1, Res2};
 do_op(multiply, D1, D2) ->
     Res1 = call_ocaml(multiply, D1, D2),
-    Res2 = decimal:multiply(D1, D2, ?d_context),
+    Res2 = call_decimal(multiply, D1, D2),
     {Res1, Res2}.
 
+call_decimal(Op, D1, D2) ->
+    Flag = ct:get_config(do_decimal_calc, true),
+    call_decimal(Flag, Op, D1, D2).
+
+call_decimal(false, _Op, _D1, _D2) ->
+    no_decimal_calc_configured;
+call_decimal(true, divide, D1, D2) ->
+    decimal:divide(D1, D2, ?d_context);
+call_decimal(true, subtract, D1, D2) ->
+    decimal:subtract(D1, D2, ?d_context);
+call_decimal(true, add, D1, D2) ->
+    decimal:add(D1, D2, ?d_context);
+call_decimal(true, multiply, D1, D2) ->
+    decimal:multiply(D1, D2, ?d_context).
+
 call_ocaml(Op, D1, D2) ->
     Flag = ct:get_config(do_ocaml_calc, true),
     call_ocaml(Flag, Op, D1, D2).

erlang/test/test.config

 
 {do_compare, true}.
 {do_ocaml_calc, true}.
+{do_decimal_calc, true}.