/core/math/math-tests.factor

http://github.com/abeaumont/factor · Factor · 88 lines · 69 code · 17 blank · 2 comment · 8 complexity · eab54bbb61c9c21169c4b158e825c26d MD5 · raw file

  1. USING: kernel math namespaces make tools.test ;
  2. IN: math.tests
  3. [ ] [ 5 [ ] times ] unit-test
  4. [ ] [ 0 [ ] times ] unit-test
  5. [ ] [ -1 [ ] times ] unit-test
  6. [ ] [ 5 [ drop ] each-integer ] unit-test
  7. [ [ 0 1 2 3 4 ] ] [ [ 5 [ , ] each-integer ] [ ] make ] unit-test
  8. [ [ ] ] [ [ -1 [ , ] each-integer ] [ ] make ] unit-test
  9. [ f ] [ 1/0. fp-nan? ] unit-test
  10. [ f ] [ -1/0. fp-nan? ] unit-test
  11. [ t ] [ -0/0. fp-nan? ] unit-test
  12. [ t ] [ 1 <fp-nan> fp-nan? ] unit-test
  13. ! [ t ] [ 1 <fp-nan> fp-snan? ] unit-test
  14. ! [ f ] [ 1 <fp-nan> fp-qnan? ] unit-test
  15. [ t ] [ 0x8000000000001 <fp-nan> fp-nan? ] unit-test
  16. [ f ] [ 0x8000000000001 <fp-nan> fp-snan? ] unit-test
  17. [ t ] [ 0x8000000000001 <fp-nan> fp-qnan? ] unit-test
  18. [ t ] [ 1/0. fp-infinity? ] unit-test
  19. [ t ] [ -1/0. fp-infinity? ] unit-test
  20. [ f ] [ -0/0. fp-infinity? ] unit-test
  21. [ f ] [ 0 <fp-nan> fp-nan? ] unit-test
  22. [ t ] [ 0 <fp-nan> fp-infinity? ] unit-test
  23. [ t ] [ 0.0 neg -0.0 fp-bitwise= ] unit-test
  24. [ t ] [ -0.0 neg 0.0 fp-bitwise= ] unit-test
  25. [ 0.0 ] [ -0.0 next-float ] unit-test
  26. [ t ] [ 1.0 dup next-float < ] unit-test
  27. [ t ] [ -1.0 dup next-float < ] unit-test
  28. [ -0.0 ] [ 0.0 prev-float ] unit-test
  29. [ t ] [ 1.0 dup prev-float > ] unit-test
  30. [ t ] [ -1.0 dup prev-float > ] unit-test
  31. [ f ] [ 0/0. 0/0. = ] unit-test
  32. [ f ] [ 0/0. 1.0 = ] unit-test
  33. [ f ] [ 0/0. 1/0. = ] unit-test
  34. [ f ] [ 0/0. -1/0. = ] unit-test
  35. [ f ] [ 0/0. 0/0. = ] unit-test
  36. [ f ] [ 1.0 0/0. = ] unit-test
  37. [ f ] [ -1/0. 0/0. = ] unit-test
  38. [ f ] [ 1/0. 0/0. = ] unit-test
  39. [ f ] [ 0/0. 0/0. < ] unit-test
  40. [ f ] [ 0/0. 1.0 < ] unit-test
  41. [ f ] [ 0/0. 1/0. < ] unit-test
  42. [ f ] [ 0/0. -1/0. < ] unit-test
  43. [ f ] [ 0/0. 0/0. <= ] unit-test
  44. [ f ] [ 0/0. 1.0 <= ] unit-test
  45. [ f ] [ 0/0. 1/0. <= ] unit-test
  46. [ f ] [ 0/0. -1/0. <= ] unit-test
  47. [ f ] [ 0/0. 0/0. > ] unit-test
  48. [ f ] [ 1.0 0/0. > ] unit-test
  49. [ f ] [ -1/0. 0/0. > ] unit-test
  50. [ f ] [ 1/0. 0/0. > ] unit-test
  51. [ f ] [ 0/0. 0/0. >= ] unit-test
  52. [ f ] [ 1.0 0/0. >= ] unit-test
  53. [ f ] [ -1/0. 0/0. >= ] unit-test
  54. [ f ] [ 1/0. 0/0. >= ] unit-test
  55. [ f ] [ 0 neg? ] unit-test
  56. [ f ] [ 1/2 neg? ] unit-test
  57. [ f ] [ 1 neg? ] unit-test
  58. [ t ] [ -1/2 neg? ] unit-test
  59. [ t ] [ -1 neg? ] unit-test
  60. [ f ] [ 0.0 neg? ] unit-test
  61. [ f ] [ 1.0 neg? ] unit-test
  62. [ f ] [ 1/0. neg? ] unit-test
  63. [ t ] [ -0.0 neg? ] unit-test
  64. [ t ] [ -1.0 neg? ] unit-test
  65. [ t ] [ -1/0. neg? ] unit-test
  66. { -0x3fffffff } [ 0x3ffffffe >bignum bitnot ] unit-test
  67. { -0x40000000 } [ 0x3fffffff >bignum bitnot ] unit-test
  68. { -0x40000001 } [ 0x40000000 >bignum bitnot ] unit-test
  69. { -0x3fffffffffffffff } [ 0x3ffffffffffffffe >bignum bitnot ] unit-test
  70. { -0x4000000000000000 } [ 0x3fffffffffffffff >bignum bitnot ] unit-test
  71. { -0x4000000000000001 } [ 0x4000000000000000 >bignum bitnot ] unit-test