anchor.diff:  
   hyperbolic_trig_functions_in_complex_domain() ->
       [
  -     ?assertFloat("1,1 sinh", {0.634963915,1.298457581}),
  -     ?assertFloat("1,1 cosh", {0.833730025,0.988897706}),
  -     ?assertFloat("1,1 tanh", {1.083923327,0.271752585})
  +     ?assertRPNFloat("1,1 sinh", {0.634963915,1.298457581}),
  +     ?assertRPNFloat("1,1 cosh", {0.833730025,0.988897706}),
  +     ?assertRPNFloat("1,1 tanh", {1.083923327,0.271752585})
       ].
   
   % Powers and Logarithms
   powers_and_logarithms_tests() ->
       [
  -     ?assertFloat("64 sqrt", 8.0),
  -     ?assertFloat("2,3 \\", {2/13, -3/13}),
  +     ?assertRPNFloat("64 sqrt", 8.0),
  +     ?assertRPNFloat("2,3 \\", {2/13, -3/13}),
        ?assertRPNError("\\", [0]),
        ?assertRPNError("\\", [0]),
  -     ?assertFloat("10 exp", 22026.465794807),
  -     ?assertFloat("99 log", 4.59511985014),
  -     ?assertFloat("99 log10", 1.9956351946),
  -     ?assertFloat("99 log2", 6.62935662008),
  +     ?assertRPNFloat("10 exp", 22026.465794807),
  +     ?assertRPNFloat("99 log", 4.59511985014),
  +     ?assertRPNFloat("99 log10", 1.9956351946),
  +     ?assertRPNFloat("99 log2", 6.62935662008),
        ?assertRPNError("log", [0]),
        ?assertRPNError("log", [-1]),
        ?assertRPNError("log2", [0]),
  
positive.code: % Rounding
  rounding_methods() ->
      [
       ?assertFloat("3.4 round",  3),
       ?assertFloat("4.5 round",  5),
       ?assertFloat("7.8 round",  8),
       ?assertFloat("-4.2 round", -4),
       ?assertFloat("-4.5 round", -5),
       ?assertFloat("-5.6 round", -6),
       ?assertFloat("3.4 floor",  3),
       ?assertFloat("4.5 floor",  4),
       ?assertFloat("7.8 floor",  7),
       ?assertFloat("-4.2 floor", -5),
       ?assertFloat("-4.5 floor", -5),
       ?assertFloat("-5.6 floor", -6),
       ?assertFloat("3.4 ceil",   4),
       ?assertFloat("4.5 ceil",   5),
       ?assertFloat("7.8 ceil",   8),
       ?assertFloat("-4.2 ceil",  -4),
       ?assertFloat("-4.5 ceil",  -4),
       ?assertFloat("-5.6 ceil",  -5),
       ?assertFloat("3.4 trunc",  3),
       ?assertFloat("4.5 trunc",  4),
       ?assertFloat("7.8 trunc",  7),
       ?assertFloat("-4.2 trunc", -4),
       ?assertFloat("-4.5 trunc", -4),
       ?assertFloat("-5.6 trunc", -5)
      ].
  
  % Bitwise
  bitwise_operations() ->
      [
       ?assertFloat("60 13 &", 12),   % AND
       ?assertFloat("60 13 |", 61),   % OR
       ?assertFloat("60 13 ^", 49),   % XOR
       ?assertFloat("60 ~",    -61),  % NOT
       ?assertFloat("60 2 <<", 240),  % Left Shift
       ?assertFloat("60 2 >>", 15)    % Right Shift
      ].
  
  
negative.code: %%% Internal Macros
  
  -define(round(Value, Decimals), round(Value*math:pow(10,Decimals))/math:pow(10,Decimals)).
  -define(assertRPNFloat(Input, Expected), {atom_to_list(element(2,element(2,process_info(self(), current_function))))++", line "++integer_to_list(?LINE), Input, Expected}).
  -define(assertRPNError(Operator, Stack), {atom_to_list(element(2,element(2,process_info(self(), current_function))))++", line "++integer_to_list(?LINE), {Operator, Stack}, error}).
  
  %%% Unit Tests
  