bug45712.phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. --TEST--
  2. Bug #45712 (NaN/INF comparison)
  3. --FILE--
  4. <?php
  5. // NaN
  6. $nan = acos(1.01);
  7. var_dump($nan);
  8. var_dump(is_nan($nan));
  9. //
  10. var_dump($nan=='');
  11. var_dump($nan==0.5);
  12. var_dump($nan==50);
  13. var_dump($nan=='500');
  14. var_dump($nan=='abc');
  15. var_dump($nan==$nan);
  16. //
  17. var_dump($nan==='');
  18. var_dump($nan===0.5);
  19. var_dump($nan===50);
  20. var_dump($nan==='500');
  21. var_dump($nan==='abc');
  22. var_dump($nan===$nan);
  23. // INF
  24. $inf = pow(0,-2);
  25. var_dump($inf);
  26. var_dump(is_infinite($inf));
  27. //
  28. var_dump($inf=='');
  29. var_dump($inf==0.5);
  30. var_dump($inf==50);
  31. var_dump($inf=='500');
  32. var_dump($inf=='abc');
  33. var_dump($inf==$inf);
  34. //
  35. var_dump($inf==='');
  36. var_dump($inf===0.5);
  37. var_dump($inf===50);
  38. var_dump($inf==='500');
  39. var_dump($inf==='abc');
  40. var_dump($inf===$inf);
  41. ?>
  42. --EXPECT--
  43. float(NAN)
  44. bool(true)
  45. bool(false)
  46. bool(false)
  47. bool(false)
  48. bool(false)
  49. bool(false)
  50. bool(false)
  51. bool(false)
  52. bool(false)
  53. bool(false)
  54. bool(false)
  55. bool(false)
  56. bool(false)
  57. float(INF)
  58. bool(true)
  59. bool(false)
  60. bool(false)
  61. bool(false)
  62. bool(false)
  63. bool(false)
  64. bool(true)
  65. bool(false)
  66. bool(false)
  67. bool(false)
  68. bool(false)
  69. bool(false)
  70. bool(true)