TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

69 lines
1.9 KiB

--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)
}