93_deterministic_float.py 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import math
  2. assert math.pi == 3.14159265358979323846
  3. assert math.e == 2.7182818284590452354
  4. assert math.inf == math.inf
  5. assert math.nan != math.nan
  6. assert math.ceil(math.pi) == 4.0
  7. assert math.ceil(-math.e) == -2.0
  8. assert math.ceil(math.inf) == math.inf
  9. assert math.fabs(math.pi) == 3.14159265358979323846
  10. assert math.fabs(-math.pi) == 3.14159265358979323846
  11. assert math.floor(math.pi) == 3.0
  12. assert math.floor(-math.e) == -3.0
  13. assert math.trunc(math.pi) == 3.0
  14. assert math.gcd(10, 5) == 5
  15. assert math.gcd(10, 6) == 2
  16. assert math.gcd(10, 7) == 1
  17. assert math.gcd(10, 10) == 10
  18. assert math.gcd(-10, 10) == 10
  19. assert math.isfinite(math.pi) == 1
  20. assert math.isfinite(math.inf) == 0
  21. assert math.isfinite(math.nan) == 0
  22. assert math.isinf(math.pi) == 0
  23. assert math.isinf(math.inf) == 1
  24. assert math.isinf(math.nan) == 0
  25. assert math.isnan(math.pi) == 0
  26. assert math.isnan(math.inf) == 0
  27. assert math.isnan(math.nan) == 1
  28. assert math.isclose(math.pi, 3.14159265358979323846)
  29. assert math.isclose(math.sqrt(3), 1.732050807568877)
  30. assert math.exp(0) == 1.0
  31. assert math.exp(1) == math.e
  32. assert math.exp(1.5) == 4.481689070338065 - 8.881784197001252e-16
  33. assert math.exp(3) == 20.08553692318767 - 3.552713678800501e-15
  34. assert math.exp(-3) == 0.04978706836786394 + 6.938893903907228e-18
  35. assert math.log(0) == -math.inf
  36. assert math.log(1) == 0.0
  37. assert math.log(2) == 0.69314718055994530942
  38. assert math.log(math.e) == 1.0
  39. assert math.log(10) == 2.30258509299404568402
  40. assert math.log2(math.e) == 1.4426950408889634074
  41. assert math.log10(math.e) == 0.43429448190325182765
  42. assert math.pow(2,2) == 4.0
  43. assert math.pow(1.41421356237309504880, 2) == 2.0 + 4.440892098500626e-16
  44. assert math.pow(0.70710678118654752440, 2) == 0.5000000000000001
  45. assert math.sqrt(2) == 1.41421356237309504880
  46. assert math.sqrt(math.pi) == 1.772453850905516 - 2.220446049250313e-16
  47. assert math.cos(0) == 1.0
  48. assert math.cos(math.pi/2) == 6.123233995736766e-17
  49. assert math.cos(math.pi) == -1.0
  50. assert math.sin(0) == 0.0
  51. assert math.sin(math.pi/2) == 1.0
  52. assert math.sin(math.pi) == 1.224646799147353e-16 + 2.465190328815662e-32
  53. assert math.tan(0) == 0.0
  54. assert math.tan(math.pi/2) == 1.633123935319537e+16
  55. assert math.tan(math.pi) == -1.224646799147353e-16 - 2.465190328815662e-32
  56. assert math.acos(0) == 1.570796326794897 - 4.440892098500626e-16
  57. assert math.acos(1) == 0.0
  58. assert math.asin(0) == 0.0
  59. assert math.asin(1) == 1.570796326794897 - 4.440892098500626e-16
  60. assert math.atan(0) == 0.0
  61. assert math.atan(1) == 0.7853981633974483
  62. assert math.atan2(math.pi/4, math.pi/4) == 0.7853981633974483
  63. assert math.atan2(-math.pi/4, math.pi/4) == -0.7853981633974483
  64. assert math.atan2(-math.pi/4, -math.pi/4) == -2.356194490192345
  65. assert math.atan2(math.pi/4, -math.pi/4) == 2.356194490192345
  66. assert math.fsum([math.sin(i) for i in range(5000)] + [math.cos(i) for i in range(5000, 9999)]) == 3.217215564632461 - 4.440892098500626e-16
  67. assert sum([math.sin(i) for i in range(5000)] + [math.cos(i) for i in range(5000, 9999)]) == 3.21721556463248
  68. assert math.fmod(-2.0, 3.0) == -2.0
  69. assert math.fmod(2.0, 3.0) == 2.0
  70. assert math.fmod(4.0, 3.0) == 1.0
  71. assert math.fmod(-4.0, 3.0) == -1.0
  72. x, y = math.modf(math.pi)
  73. assert x == 0.14159265358979323846 - 1.110223024625157e-16
  74. assert y == 3.0
  75. x, y = math.modf(-math.e)
  76. assert x == -0.7182818284590451
  77. assert y == -2.0
  78. assert math.factorial(0) == 1
  79. assert math.factorial(1) == 1
  80. assert math.factorial(2) == 2
  81. assert math.factorial(3) == 6
  82. assert math.factorial(4) == 24
  83. assert math.factorial(5) == 120