1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
--TEST--
Test range() function with non finite numbers
--INI--
serialize_precision=14
--FILE--
<?php
// 0/0 NAN value
$f1 = fdiv(0, 0);
var_dump($f1);
// INF/INF NAN value
$f2 = fdiv(10.0**400, 9.0**400);
var_dump($f2);
// -INF + +INF NAN value
$f3 = (-10.0**400) + (9.0**400);
var_dump($f3);
$fs = [$f1, $f2, $f3, 5.5];
foreach ($fs as $s) {
foreach ($fs as $e) {
echo "range($s, $e);\n";
try {
var_dump( range($s, $e) );
} catch (\ValueError $e) {
echo $e->getMessage(), PHP_EOL;
}
}
}
?>
--EXPECT--
float(NAN)
float(NAN)
float(NAN)
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, 5.5);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, 5.5);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, NAN);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(NAN, 5.5);
range(): Argument #1 ($start) must be a finite number, NAN provided
range(5.5, NAN);
range(): Argument #2 ($end) must be a finite number, NAN provided
range(5.5, NAN);
range(): Argument #2 ($end) must be a finite number, NAN provided
range(5.5, NAN);
range(): Argument #2 ($end) must be a finite number, NAN provided
range(5.5, 5.5);
array(1) {
[0]=>
float(5.5)
}
|