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