php-8.0.30-src/ext/gmp/tests/gmp_sqrt.phpt

53 lines
1.2 KiB
PHP

--TEST--
gmp_sqrt() basic tests
--SKIPIF--
<?php if (!extension_loaded("gmp")) print "skip"; ?>
--FILE--
<?php
try {
var_dump(gmp_strval(gmp_sqrt(-2)));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(gmp_strval(gmp_sqrt("-2")));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump(gmp_strval(gmp_sqrt("0")));
var_dump(gmp_strval(gmp_sqrt("2")));
var_dump(gmp_strval(gmp_sqrt("144")));
$n = gmp_init(0);
var_dump(gmp_strval(gmp_sqrt($n)));
$n = gmp_init(-144);
try {
var_dump(gmp_strval(gmp_sqrt($n)));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
$n = gmp_init(777);
var_dump(gmp_strval(gmp_sqrt($n)));
try {
var_dump(gmp_sqrt(array()));
} catch (\TypeError $e) {
echo $e->getMessage() . \PHP_EOL;
}
echo "Done\n";
?>
--EXPECT--
gmp_sqrt(): Argument #1 ($num) must be greater than or equal to 0
gmp_sqrt(): Argument #1 ($num) must be greater than or equal to 0
string(1) "0"
string(1) "1"
string(2) "12"
string(1) "0"
gmp_sqrt(): Argument #1 ($num) must be greater than or equal to 0
string(2) "27"
gmp_sqrt(): Argument #1 ($num) must be of type GMP|string|int, array given
Done