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.
150 lines
2.8 KiB
150 lines
2.8 KiB
--TEST--
|
|
64bit pack()/unpack() tests
|
|
--SKIPIF--
|
|
<?php
|
|
echo 'skip AOT compilation or behavior differs';
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
print_r(unpack("Q", pack("Q", 0xfffffffffffe)));
|
|
print_r(unpack("Q", pack("Q", 0)));
|
|
print_r(unpack("Q", pack("Q", 0x8000000000000002)));
|
|
print_r(unpack("Q", pack("Q", -1)));
|
|
print_r(unpack("Q", pack("Q", 0x8000000000000000)));
|
|
|
|
print_r(unpack("J", pack("J", 0xfffffffffffe)));
|
|
print_r(unpack("J", pack("J", 0)));
|
|
print_r(unpack("J", pack("J", 0x8000000000000002)));
|
|
print_r(unpack("J", pack("J", -1)));
|
|
print_r(unpack("J", pack("J", 0x8000000000000000)));
|
|
|
|
print_r(unpack("P", pack("P", 0xfffffffffffe)));
|
|
print_r(unpack("P", pack("P", 0)));
|
|
print_r(unpack("P", pack("P", 0x8000000000000002)));
|
|
print_r(unpack("P", pack("P", -1)));
|
|
print_r(unpack("P", pack("P", 0x8000000000000000)));
|
|
|
|
print_r(unpack("q", pack("q", 0xfffffffffffe)));
|
|
print_r(unpack("q", pack("q", 0)));
|
|
print_r(unpack("q", pack("q", 0x8000000000000002)));
|
|
print_r(unpack("q", pack("q", -1)));
|
|
print_r(unpack("q", pack("q", 0x8000000000000000)));
|
|
|
|
print_r(unpack("i", pack("i", 2147483647))); // Max int32
|
|
print_r(unpack("i", pack("i", -2147483647)));
|
|
print_r(unpack("i", pack("i", -2147483648))); // Min int32
|
|
print_r(unpack("I", pack("I", 4294967295))); // Max uint32
|
|
?>
|
|
--EXPECTF--
|
|
Array
|
|
(
|
|
[1] => 281474976710654
|
|
)
|
|
Array
|
|
(
|
|
[1] => 0
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => -1
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => 281474976710654
|
|
)
|
|
Array
|
|
(
|
|
[1] => 0
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => -1
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => 281474976710654
|
|
)
|
|
Array
|
|
(
|
|
[1] => 0
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => -1
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => 281474976710654
|
|
)
|
|
Array
|
|
(
|
|
[1] => 0
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => -1
|
|
)
|
|
|
|
Warning: The float 9.223372036854776E+18 is not representable as an int, cast occurred in %s on line %d
|
|
Array
|
|
(
|
|
[1] => -9223372036854775808
|
|
)
|
|
Array
|
|
(
|
|
[1] => 2147483647
|
|
)
|
|
Array
|
|
(
|
|
[1] => -2147483647
|
|
)
|
|
Array
|
|
(
|
|
[1] => -2147483648
|
|
)
|
|
Array
|
|
(
|
|
[1] => 4294967295
|
|
)
|
|
|