1
0

70_math.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from math import log, log10, log2, sin, cos, tan, e, pi, isnan, isinf, fabs, floor, ceil, sqrt
  2. def isclose(a, b):
  3. return abs(a-b) < 0.000001
  4. assert isclose(e, 2.718281828459045)
  5. assert isclose(pi, 3.141592653589793)
  6. assert isclose(log(10), 2.302585092994046)
  7. assert isclose(log10(10), 1.0)
  8. assert isclose(log2(10), 3.321928094887362)
  9. assert isclose(sin(0), 0.0)
  10. assert isclose(cos(0), 1.0)
  11. assert isclose(tan(0), 0.0)
  12. a = -0.1
  13. a = a**a
  14. assert isnan(a)
  15. assert not isinf(a)
  16. assert isinf(float("inf"))
  17. assert isclose(fabs(-1.2), 1.2)
  18. assert floor(1.2) == 1
  19. assert floor(-1.2) == -2
  20. assert ceil(1.2) == 2
  21. assert ceil(-1.2) == -1
  22. assert isclose(sqrt(4), 2.0)
  23. import math
  24. # test fsum
  25. assert math.fsum([0.1] * 10) == 1.0
  26. # test gcd
  27. assert math.gcd(10, 5) == 5
  28. assert math.gcd(10, 6) == 2
  29. assert math.gcd(10, 7) == 1
  30. assert math.gcd(10, 10) == 10
  31. assert math.gcd(-10, 10) == 10
  32. # test modf
  33. x, y = math.modf(1.5)
  34. assert isclose(x, 0.5)
  35. assert isclose(y, 1.0)
  36. x, y = math.modf(-1.5)
  37. assert isclose(x, -0.5)
  38. assert isclose(y, -1.0)
  39. # test factorial
  40. assert math.factorial(0) == 1
  41. assert math.factorial(1) == 1
  42. assert math.factorial(2) == 2
  43. assert math.factorial(3) == 6
  44. assert math.factorial(4) == 24
  45. assert math.factorial(5) == 120