test-decimal.nut 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. local f1 = 1.1;
  2. local f2 = 2.2;
  3. print(f1+f2);
  4. f1 = 0.1;
  5. f2 = 0.3;
  6. print(f1+f1+f1-f2);
  7. local dec1 = Decimal("1.1");
  8. local dec2 = Decimal("2.2");
  9. print(dec1 + dec2)
  10. dec1 = Decimal("0.1");
  11. dec2 = Decimal("0.3");
  12. print(dec1+dec1+dec1-dec2);
  13. dec1 = Decimal("10.0");
  14. dec2 = Decimal("3.33");
  15. local result = dec1 + dec2;
  16. print(result);
  17. result = dec1 - dec2;
  18. print(result);
  19. result = dec1 * dec2;
  20. print(result);
  21. result = dec1 / dec2;
  22. print(result);
  23. dec2 = Decimal(0);
  24. try {
  25. result = dec1 / dec2;
  26. }
  27. catch(e){
  28. print(e);
  29. }
  30. print(result);
  31. print(Decimal.context);
  32. print(result.context.prec());
  33. dec1 = Decimal("10.0");
  34. dec2 = Decimal("3.33");
  35. local count = 1000;
  36. f1 = 10.54;
  37. f2 = 3.28;
  38. local now = os.clock();
  39. for(local i=0; i < count; ++i){
  40. result = dec1 + dec2;
  41. result = dec1 - dec2;
  42. result = dec1 * dec2;
  43. result = dec1 / dec2;
  44. //if(i%1000) collectgarbage();
  45. if(i%1000) dummy();
  46. }
  47. print("Decimal took", os.clock()-now);
  48. now = os.clock();
  49. for(local i=0; i < count; ++i){
  50. result = f1 + f2;
  51. result = f1 - f2;
  52. result = f1 * f2;
  53. result = f1 / f2;
  54. if(i%1000) dummy();
  55. }
  56. print("Float took", os.clock()-now);
  57. //stdin.readn('c');