mathFunctions.praat 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. echo sqrt
  2. # Paul Boersma, July 6, 2003
  3. assert sqrt (-100) = undefined
  4. assert sqrt (0) = 0
  5. assert sqrt (1) = 1
  6. assert sqrt (4) = 2
  7. assert sqrt (9) = 3
  8. assert sqrt (123456789^2) = 123456789
  9. assert abs (sqrt (2) ^ 2 - 2) < 1e-15
  10. printline exp
  11. # Paul Boersma, September 13, 2015
  12. assert exp (-10000) = 0
  13. assert exp (0) = 1
  14. assert abs (exp (1) - e) < 1e-15
  15. assert abs (1 - exp (100) / e ^ 100) < 1e-13
  16. assert abs (1 - exp (100) * exp (-100)) < 1e-15
  17. assert abs (1 - e ^ 100 * e ^ -100) < 1e-14
  18. printline pow
  19. # Paul Boersma, August 27, 2003
  20. assert 0^7 = 0
  21. assert 7^0 = 1
  22. ;assert 0^0 = 1 ; special choice
  23. printline ln
  24. # Paul Boersma, July 6, 2003
  25. assert ln (-100) = undefined
  26. assert ln (0) = undefined
  27. assert ln (1) = 0
  28. assert abs (ln (exp (100)) - 100) < 1e-13
  29. assert abs (ln (exp (10)) - 10) < 1e-17
  30. assert abs (ln (exp (1)) - 1) < 1e-17
  31. assert abs (ln (exp (0.1)) - 0.1) < 1e-16
  32. assert abs (ln (exp (0.01)) - 0.01) < 1e-15
  33. printline lnGamma
  34. # Paul Boersma, July 13, 2003
  35. assert lnGamma (-100) = undefined
  36. assert lnGamma (0) = undefined
  37. assert lnGamma (1) = 0
  38. assert abs (lnGamma (e^-100) - 100) < 1e-13
  39. assert abs (e^lnGamma(4) - 6) < 1e-13
  40. assert abs (exp(lnGamma(4)) - 6) < 1e-13
  41. factorial = 1
  42. for i to 170
  43. factorial *= i
  44. assert abs (1 - e^lnGamma('i' + 1) / factorial) < 1e-12
  45. endfor
  46. for i from -100 to 2
  47. x = 1.23456789 * 10^i
  48. gamma = exp (lnGamma (x))
  49. gamma2 = exp (lnGamma (x + 1))
  50. gamma3 = x * gamma
  51. ;printline 'gamma2' 'gamma3'
  52. assert abs (1 - gamma2 / gamma3) < 1e-13
  53. endfor
  54. printline OK