diff --git a/Zend/tests/int_special_values.phpt b/Zend/tests/int_special_values.phpt new file mode 100644 index 0000000000000..e1a50b6ecbac7 --- /dev/null +++ b/Zend/tests/int_special_values.phpt @@ -0,0 +1,37 @@ +--TEST-- +Conversion of special float values to int +--FILE-- + +--EXPECT-- +float(0) +int(0) + +float(INF) +int(0) + +float(-INF) +int(0) + +float(0) +int(0) + +float(-0) +int(0) + +float(NAN) +int(0) \ No newline at end of file diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index d3a2da86183ac..5dbe1bd90d3c3 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -1449,6 +1449,18 @@ ZEND_API int shift_left_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) / op1_lval = Z_LVAL_P(op1); } + /* prevent wrapping quirkiness on some processors where << 64 + x == << x */ + if (Z_LVAL_P(op2) >= SIZEOF_ZEND_LONG * 8) { + ZVAL_LONG(result, 0); + return SUCCESS; + } + + if (Z_LVAL_P(op2) < 0) { + zend_error(E_WARNING, "Bit shift by negative number"); + ZVAL_FALSE(result); + return FAILURE; + } + ZVAL_LONG(result, op1_lval << Z_LVAL_P(op2)); return SUCCESS; } @@ -1469,6 +1481,18 @@ ZEND_API int shift_right_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) op1_lval = Z_LVAL_P(op1); } + /* prevent wrapping quirkiness on some processors where >> 64 + x == >> x */ + if (Z_LVAL_P(op2) >= SIZEOF_ZEND_LONG * 8) { + ZVAL_LONG(result, (Z_LVAL_P(op1) < 0) ? -1 : 0); + return SUCCESS; + } + + if (Z_LVAL_P(op2) < 0) { + zend_error(E_WARNING, "Bit shift by negative number"); + ZVAL_FALSE(result); + return FAILURE; + } + ZVAL_LONG(result, op1_lval >> Z_LVAL_P(op2)); return SUCCESS; } diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index a50e65d7c2a5f..bf35f35a10499 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -72,11 +72,20 @@ ZEND_API zend_bool instanceof_function(const zend_class_entry *instance_ce, cons END_EXTERN_C() #if ZEND_DVAL_TO_LVAL_CAST_OK -# define zend_dval_to_lval(d) ((zend_long) (d)) +static zend_always_inline zend_long zend_dval_to_lval(double d) +{ + if (EXPECTED(zend_finite(d)) && EXPECTED(!zend_isnan(d))) { + return (zend_long)d; + } else { + return 0; + } +} #elif SIZEOF_ZEND_LONG == 4 static zend_always_inline zend_long zend_dval_to_lval(double d) { - if (d > ZEND_LONG_MAX || d < ZEND_LONG_MIN) { + if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) { + return 0; + } else if (d > ZEND_LONG_MAX || d < ZEND_LONG_MIN) { double two_pow_32 = pow(2., 32.), dmod; @@ -93,8 +102,10 @@ static zend_always_inline zend_long zend_dval_to_lval(double d) #else static zend_always_inline zend_long zend_dval_to_lval(double d) { + if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) { + return 0; /* >= as (double)ZEND_LONG_MAX is outside signed range */ - if (d >= ZEND_LONG_MAX || d < ZEND_LONG_MIN) { + } else if (d >= ZEND_LONG_MAX || d < ZEND_LONG_MIN) { double two_pow_64 = pow(2., 64.), dmod; diff --git a/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt b/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt index 24da2d0dc4579..d784ed660146b 100644 --- a/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt +++ b/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt @@ -44,25 +44,25 @@ int(9223372036854775807) --- testing: 9223372036854775807 << 1 --- int(-2) --- testing: 9223372036854775807 << -1 --- -int(-9223372036854775808) +bool(false) --- testing: 9223372036854775807 << 7 --- int(-128) --- testing: 9223372036854775807 << 9 --- int(-512) --- testing: 9223372036854775807 << 65 --- -int(-2) +int(0) --- testing: 9223372036854775807 << -44 --- -int(-1048576) +bool(false) --- testing: 9223372036854775807 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 9223372036854775807 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: -9223372036854775808 << 0 --- int(-9223372036854775808) --- testing: -9223372036854775808 << 1 --- int(0) --- testing: -9223372036854775808 << -1 --- -int(0) +bool(false) --- testing: -9223372036854775808 << 7 --- int(0) --- testing: -9223372036854775808 << 9 --- @@ -70,7 +70,7 @@ int(0) --- testing: -9223372036854775808 << 65 --- int(0) --- testing: -9223372036854775808 << -44 --- -int(0) +bool(false) --- testing: -9223372036854775808 << 2147483647 --- int(0) --- testing: -9223372036854775808 << 9223372036854775807 --- @@ -80,33 +80,33 @@ int(2147483647) --- testing: 2147483647 << 1 --- int(4294967294) --- testing: 2147483647 << -1 --- -int(-9223372036854775808) +bool(false) --- testing: 2147483647 << 7 --- int(274877906816) --- testing: 2147483647 << 9 --- int(1099511627264) --- testing: 2147483647 << 65 --- -int(4294967294) +int(0) --- testing: 2147483647 << -44 --- -int(2251799812636672) +bool(false) --- testing: 2147483647 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 2147483647 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: -2147483648 << 0 --- int(-2147483648) --- testing: -2147483648 << 1 --- int(-4294967296) --- testing: -2147483648 << -1 --- -int(0) +bool(false) --- testing: -2147483648 << 7 --- int(-274877906944) --- testing: -2147483648 << 9 --- int(-1099511627776) --- testing: -2147483648 << 65 --- -int(-4294967296) +int(0) --- testing: -2147483648 << -44 --- -int(-2251799813685248) +bool(false) --- testing: -2147483648 << 2147483647 --- int(0) --- testing: -2147483648 << 9223372036854775807 --- @@ -116,15 +116,15 @@ int(9223372034707292160) --- testing: 9223372034707292160 << 1 --- int(-4294967296) --- testing: 9223372034707292160 << -1 --- -int(0) +bool(false) --- testing: 9223372034707292160 << 7 --- int(-274877906944) --- testing: 9223372034707292160 << 9 --- int(-1099511627776) --- testing: 9223372034707292160 << 65 --- -int(-4294967296) +int(0) --- testing: 9223372034707292160 << -44 --- -int(-2251799813685248) +bool(false) --- testing: 9223372034707292160 << 2147483647 --- int(0) --- testing: 9223372034707292160 << 9223372036854775807 --- @@ -134,15 +134,15 @@ int(-9223372034707292160) --- testing: -9223372034707292160 << 1 --- int(4294967296) --- testing: -9223372034707292160 << -1 --- -int(0) +bool(false) --- testing: -9223372034707292160 << 7 --- int(274877906944) --- testing: -9223372034707292160 << 9 --- int(1099511627776) --- testing: -9223372034707292160 << 65 --- -int(4294967296) +int(0) --- testing: -9223372034707292160 << -44 --- -int(2251799813685248) +bool(false) --- testing: -9223372034707292160 << 2147483647 --- int(0) --- testing: -9223372034707292160 << 9223372036854775807 --- @@ -152,15 +152,15 @@ int(2147483648) --- testing: 2147483648 << 1 --- int(4294967296) --- testing: 2147483648 << -1 --- -int(0) +bool(false) --- testing: 2147483648 << 7 --- int(274877906944) --- testing: 2147483648 << 9 --- int(1099511627776) --- testing: 2147483648 << 65 --- -int(4294967296) +int(0) --- testing: 2147483648 << -44 --- -int(2251799813685248) +bool(false) --- testing: 2147483648 << 2147483647 --- int(0) --- testing: 2147483648 << 9223372036854775807 --- @@ -170,33 +170,33 @@ int(-2147483649) --- testing: -2147483649 << 1 --- int(-4294967298) --- testing: -2147483649 << -1 --- -int(-9223372036854775808) +bool(false) --- testing: -2147483649 << 7 --- int(-274877907072) --- testing: -2147483649 << 9 --- int(-1099511628288) --- testing: -2147483649 << 65 --- -int(-4294967298) +int(0) --- testing: -2147483649 << -44 --- -int(-2251799814733824) +bool(false) --- testing: -2147483649 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: -2147483649 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 4294967294 << 0 --- int(4294967294) --- testing: 4294967294 << 1 --- int(8589934588) --- testing: 4294967294 << -1 --- -int(0) +bool(false) --- testing: 4294967294 << 7 --- int(549755813632) --- testing: 4294967294 << 9 --- int(2199023254528) --- testing: 4294967294 << 65 --- -int(8589934588) +int(0) --- testing: 4294967294 << -44 --- -int(4503599625273344) +bool(false) --- testing: 4294967294 << 2147483647 --- int(0) --- testing: 4294967294 << 9223372036854775807 --- @@ -206,51 +206,51 @@ int(4294967295) --- testing: 4294967295 << 1 --- int(8589934590) --- testing: 4294967295 << -1 --- -int(-9223372036854775808) +bool(false) --- testing: 4294967295 << 7 --- int(549755813760) --- testing: 4294967295 << 9 --- int(2199023255040) --- testing: 4294967295 << 65 --- -int(8589934590) +int(0) --- testing: 4294967295 << -44 --- -int(4503599626321920) +bool(false) --- testing: 4294967295 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 4294967295 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 4294967293 << 0 --- int(4294967293) --- testing: 4294967293 << 1 --- int(8589934586) --- testing: 4294967293 << -1 --- -int(-9223372036854775808) +bool(false) --- testing: 4294967293 << 7 --- int(549755813504) --- testing: 4294967293 << 9 --- int(2199023254016) --- testing: 4294967293 << 65 --- -int(8589934586) +int(0) --- testing: 4294967293 << -44 --- -int(4503599624224768) +bool(false) --- testing: 4294967293 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 4294967293 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 9223372036854775806 << 0 --- int(9223372036854775806) --- testing: 9223372036854775806 << 1 --- int(-4) --- testing: 9223372036854775806 << -1 --- -int(0) +bool(false) --- testing: 9223372036854775806 << 7 --- int(-256) --- testing: 9223372036854775806 << 9 --- int(-1024) --- testing: 9223372036854775806 << 65 --- -int(-4) +int(0) --- testing: 9223372036854775806 << -44 --- -int(-2097152) +bool(false) --- testing: 9223372036854775806 << 2147483647 --- int(0) --- testing: 9223372036854775806 << 9223372036854775807 --- @@ -260,7 +260,7 @@ int(-9223372036854775808) --- testing: 9.2233720368548E+18 << 1 --- int(0) --- testing: 9.2233720368548E+18 << -1 --- -int(0) +bool(false) --- testing: 9.2233720368548E+18 << 7 --- int(0) --- testing: 9.2233720368548E+18 << 9 --- @@ -268,7 +268,7 @@ int(0) --- testing: 9.2233720368548E+18 << 65 --- int(0) --- testing: 9.2233720368548E+18 << -44 --- -int(0) +bool(false) --- testing: 9.2233720368548E+18 << 2147483647 --- int(0) --- testing: 9.2233720368548E+18 << 9223372036854775807 --- @@ -278,25 +278,25 @@ int(-9223372036854775807) --- testing: -9223372036854775807 << 1 --- int(2) --- testing: -9223372036854775807 << -1 --- -int(-9223372036854775808) +bool(false) --- testing: -9223372036854775807 << 7 --- int(128) --- testing: -9223372036854775807 << 9 --- int(512) --- testing: -9223372036854775807 << 65 --- -int(2) +int(0) --- testing: -9223372036854775807 << -44 --- -int(1048576) +bool(false) --- testing: -9223372036854775807 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: -9223372036854775807 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: -9.2233720368548E+18 << 0 --- int(-9223372036854775808) --- testing: -9.2233720368548E+18 << 1 --- int(0) --- testing: -9.2233720368548E+18 << -1 --- -int(0) +bool(false) --- testing: -9.2233720368548E+18 << 7 --- int(0) --- testing: -9.2233720368548E+18 << 9 --- @@ -304,7 +304,7 @@ int(0) --- testing: -9.2233720368548E+18 << 65 --- int(0) --- testing: -9.2233720368548E+18 << -44 --- -int(0) +bool(false) --- testing: -9.2233720368548E+18 << 2147483647 --- int(0) --- testing: -9.2233720368548E+18 << 9223372036854775807 --- @@ -312,19 +312,19 @@ int(0) --- testing: 0 << 9223372036854775807 --- int(0) --- testing: 0 << -9223372036854775808 --- -int(0) +bool(false) --- testing: 0 << 2147483647 --- int(0) --- testing: 0 << -2147483648 --- -int(0) +bool(false) --- testing: 0 << 9223372034707292160 --- int(0) --- testing: 0 << -9223372034707292160 --- -int(0) +bool(false) --- testing: 0 << 2147483648 --- int(0) --- testing: 0 << -2147483649 --- -int(0) +bool(false) --- testing: 0 << 4294967294 --- int(0) --- testing: 0 << 4294967295 --- @@ -334,250 +334,249 @@ int(0) --- testing: 0 << 9223372036854775806 --- int(0) --- testing: 0 << 9.2233720368548E+18 --- -int(0) +bool(false) --- testing: 0 << -9223372036854775807 --- -int(0) +bool(false) --- testing: 0 << -9.2233720368548E+18 --- -int(0) +bool(false) --- testing: 1 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 1 << -9223372036854775808 --- -int(1) +bool(false) --- testing: 1 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 1 << -2147483648 --- -int(1) +bool(false) --- testing: 1 << 9223372034707292160 --- -int(1) +int(0) --- testing: 1 << -9223372034707292160 --- -int(1) +bool(false) --- testing: 1 << 2147483648 --- -int(1) +int(0) --- testing: 1 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: 1 << 4294967294 --- -int(4611686018427387904) +int(0) --- testing: 1 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: 1 << 4294967293 --- -int(2305843009213693952) +int(0) --- testing: 1 << 9223372036854775806 --- -int(4611686018427387904) +int(0) --- testing: 1 << 9.2233720368548E+18 --- -int(1) +bool(false) --- testing: 1 << -9223372036854775807 --- -int(2) +bool(false) --- testing: 1 << -9.2233720368548E+18 --- -int(1) +bool(false) --- testing: -1 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: -1 << -9223372036854775808 --- -int(-1) +bool(false) --- testing: -1 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: -1 << -2147483648 --- -int(-1) +bool(false) --- testing: -1 << 9223372034707292160 --- -int(-1) +int(0) --- testing: -1 << -9223372034707292160 --- -int(-1) +bool(false) --- testing: -1 << 2147483648 --- -int(-1) +int(0) --- testing: -1 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: -1 << 4294967294 --- -int(-4611686018427387904) +int(0) --- testing: -1 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: -1 << 4294967293 --- -int(-2305843009213693952) +int(0) --- testing: -1 << 9223372036854775806 --- -int(-4611686018427387904) +int(0) --- testing: -1 << 9.2233720368548E+18 --- -int(-1) +bool(false) --- testing: -1 << -9223372036854775807 --- -int(-2) +bool(false) --- testing: -1 << -9.2233720368548E+18 --- -int(-1) +bool(false) --- testing: 7 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 7 << -9223372036854775808 --- -int(7) +bool(false) --- testing: 7 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 7 << -2147483648 --- -int(7) +bool(false) --- testing: 7 << 9223372034707292160 --- -int(7) +int(0) --- testing: 7 << -9223372034707292160 --- -int(7) +bool(false) --- testing: 7 << 2147483648 --- -int(7) +int(0) --- testing: 7 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: 7 << 4294967294 --- -int(-4611686018427387904) +int(0) --- testing: 7 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: 7 << 4294967293 --- -int(-2305843009213693952) +int(0) --- testing: 7 << 9223372036854775806 --- -int(-4611686018427387904) +int(0) --- testing: 7 << 9.2233720368548E+18 --- -int(7) +bool(false) --- testing: 7 << -9223372036854775807 --- -int(14) +bool(false) --- testing: 7 << -9.2233720368548E+18 --- -int(7) +bool(false) --- testing: 9 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 9 << -9223372036854775808 --- -int(9) +bool(false) --- testing: 9 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 9 << -2147483648 --- -int(9) +bool(false) --- testing: 9 << 9223372034707292160 --- -int(9) +int(0) --- testing: 9 << -9223372034707292160 --- -int(9) +bool(false) --- testing: 9 << 2147483648 --- -int(9) +int(0) --- testing: 9 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: 9 << 4294967294 --- -int(4611686018427387904) +int(0) --- testing: 9 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: 9 << 4294967293 --- -int(2305843009213693952) +int(0) --- testing: 9 << 9223372036854775806 --- -int(4611686018427387904) +int(0) --- testing: 9 << 9.2233720368548E+18 --- -int(9) +bool(false) --- testing: 9 << -9223372036854775807 --- -int(18) +bool(false) --- testing: 9 << -9.2233720368548E+18 --- -int(9) +bool(false) --- testing: 65 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 65 << -9223372036854775808 --- -int(65) +bool(false) --- testing: 65 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 65 << -2147483648 --- -int(65) +bool(false) --- testing: 65 << 9223372034707292160 --- -int(65) +int(0) --- testing: 65 << -9223372034707292160 --- -int(65) +bool(false) --- testing: 65 << 2147483648 --- -int(65) +int(0) --- testing: 65 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: 65 << 4294967294 --- -int(4611686018427387904) +int(0) --- testing: 65 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: 65 << 4294967293 --- -int(2305843009213693952) +int(0) --- testing: 65 << 9223372036854775806 --- -int(4611686018427387904) +int(0) --- testing: 65 << 9.2233720368548E+18 --- -int(65) +bool(false) --- testing: 65 << -9223372036854775807 --- -int(130) +bool(false) --- testing: 65 << -9.2233720368548E+18 --- -int(65) +bool(false) --- testing: -44 << 9223372036854775807 --- int(0) --- testing: -44 << -9223372036854775808 --- -int(-44) +bool(false) --- testing: -44 << 2147483647 --- int(0) --- testing: -44 << -2147483648 --- -int(-44) +bool(false) --- testing: -44 << 9223372034707292160 --- -int(-44) +int(0) --- testing: -44 << -9223372034707292160 --- -int(-44) +bool(false) --- testing: -44 << 2147483648 --- -int(-44) ---- testing: -44 << -2147483649 --- int(0) +--- testing: -44 << -2147483649 --- +bool(false) --- testing: -44 << 4294967294 --- int(0) --- testing: -44 << 4294967295 --- int(0) --- testing: -44 << 4294967293 --- -int(-9223372036854775808) +int(0) --- testing: -44 << 9223372036854775806 --- int(0) --- testing: -44 << 9.2233720368548E+18 --- -int(-44) +bool(false) --- testing: -44 << -9223372036854775807 --- -int(-88) +bool(false) --- testing: -44 << -9.2233720368548E+18 --- -int(-44) +bool(false) --- testing: 2147483647 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 2147483647 << -9223372036854775808 --- -int(2147483647) +bool(false) --- testing: 2147483647 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 2147483647 << -2147483648 --- -int(2147483647) +bool(false) --- testing: 2147483647 << 9223372034707292160 --- -int(2147483647) +int(0) --- testing: 2147483647 << -9223372034707292160 --- -int(2147483647) +bool(false) --- testing: 2147483647 << 2147483648 --- -int(2147483647) +int(0) --- testing: 2147483647 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: 2147483647 << 4294967294 --- -int(-4611686018427387904) +int(0) --- testing: 2147483647 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: 2147483647 << 4294967293 --- -int(-2305843009213693952) +int(0) --- testing: 2147483647 << 9223372036854775806 --- -int(-4611686018427387904) +int(0) --- testing: 2147483647 << 9.2233720368548E+18 --- -int(2147483647) +bool(false) --- testing: 2147483647 << -9223372036854775807 --- -int(4294967294) +bool(false) --- testing: 2147483647 << -9.2233720368548E+18 --- -int(2147483647) +bool(false) --- testing: 9223372036854775807 << 9223372036854775807 --- -int(-9223372036854775808) +int(0) --- testing: 9223372036854775807 << -9223372036854775808 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 << 2147483647 --- -int(-9223372036854775808) +int(0) --- testing: 9223372036854775807 << -2147483648 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 << 9223372034707292160 --- -int(9223372036854775807) +int(0) --- testing: 9223372036854775807 << -9223372034707292160 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 << 2147483648 --- -int(9223372036854775807) +int(0) --- testing: 9223372036854775807 << -2147483649 --- -int(-9223372036854775808) +bool(false) --- testing: 9223372036854775807 << 4294967294 --- -int(-4611686018427387904) +int(0) --- testing: 9223372036854775807 << 4294967295 --- -int(-9223372036854775808) +int(0) --- testing: 9223372036854775807 << 4294967293 --- -int(-2305843009213693952) +int(0) --- testing: 9223372036854775807 << 9223372036854775806 --- -int(-4611686018427387904) +int(0) --- testing: 9223372036854775807 << 9.2233720368548E+18 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 << -9223372036854775807 --- -int(-2) +bool(false) --- testing: 9223372036854775807 << -9.2233720368548E+18 --- -int(9223372036854775807) -===DONE=== - \ No newline at end of file +bool(false) +===DONE=== \ No newline at end of file diff --git a/tests/lang/operators/bitwiseShiftLeft_variationStr.phpt b/tests/lang/operators/bitwiseShiftLeft_variationStr.phpt index e13fc3bc1b44e..d507577777035 100644 --- a/tests/lang/operators/bitwiseShiftLeft_variationStr.phpt +++ b/tests/lang/operators/bitwiseShiftLeft_variationStr.phpt @@ -3,7 +3,6 @@ Test << operator : various numbers as strings --SKIPIF-- --FILE-- > 1 --- int(4611686018427387903) --- testing: 9223372036854775807 >> -1 --- -int(0) +bool(false) --- testing: 9223372036854775807 >> 7 --- int(72057594037927935) --- testing: 9223372036854775807 >> 9 --- int(18014398509481983) --- testing: 9223372036854775807 >> 65 --- -int(4611686018427387903) +int(0) --- testing: 9223372036854775807 >> -44 --- -int(8796093022207) +bool(false) --- testing: 9223372036854775807 >> 2147483647 --- int(0) --- testing: 9223372036854775807 >> 9223372036854775807 --- @@ -62,15 +62,15 @@ int(-9223372036854775808) --- testing: -9223372036854775808 >> 1 --- int(-4611686018427387904) --- testing: -9223372036854775808 >> -1 --- -int(-1) +bool(false) --- testing: -9223372036854775808 >> 7 --- int(-72057594037927936) --- testing: -9223372036854775808 >> 9 --- int(-18014398509481984) --- testing: -9223372036854775808 >> 65 --- -int(-4611686018427387904) +int(-1) --- testing: -9223372036854775808 >> -44 --- -int(-8796093022208) +bool(false) --- testing: -9223372036854775808 >> 2147483647 --- int(-1) --- testing: -9223372036854775808 >> 9223372036854775807 --- @@ -80,15 +80,15 @@ int(2147483647) --- testing: 2147483647 >> 1 --- int(1073741823) --- testing: 2147483647 >> -1 --- -int(0) +bool(false) --- testing: 2147483647 >> 7 --- int(16777215) --- testing: 2147483647 >> 9 --- int(4194303) --- testing: 2147483647 >> 65 --- -int(1073741823) +int(0) --- testing: 2147483647 >> -44 --- -int(2047) +bool(false) --- testing: 2147483647 >> 2147483647 --- int(0) --- testing: 2147483647 >> 9223372036854775807 --- @@ -98,15 +98,15 @@ int(-2147483648) --- testing: -2147483648 >> 1 --- int(-1073741824) --- testing: -2147483648 >> -1 --- -int(-1) +bool(false) --- testing: -2147483648 >> 7 --- int(-16777216) --- testing: -2147483648 >> 9 --- int(-4194304) --- testing: -2147483648 >> 65 --- -int(-1073741824) +int(-1) --- testing: -2147483648 >> -44 --- -int(-2048) +bool(false) --- testing: -2147483648 >> 2147483647 --- int(-1) --- testing: -2147483648 >> 9223372036854775807 --- @@ -116,15 +116,15 @@ int(9223372034707292160) --- testing: 9223372034707292160 >> 1 --- int(4611686017353646080) --- testing: 9223372034707292160 >> -1 --- -int(0) +bool(false) --- testing: 9223372034707292160 >> 7 --- int(72057594021150720) --- testing: 9223372034707292160 >> 9 --- int(18014398505287680) --- testing: 9223372034707292160 >> 65 --- -int(4611686017353646080) +int(0) --- testing: 9223372034707292160 >> -44 --- -int(8796093020160) +bool(false) --- testing: 9223372034707292160 >> 2147483647 --- int(0) --- testing: 9223372034707292160 >> 9223372036854775807 --- @@ -134,15 +134,15 @@ int(-9223372034707292160) --- testing: -9223372034707292160 >> 1 --- int(-4611686017353646080) --- testing: -9223372034707292160 >> -1 --- -int(-1) +bool(false) --- testing: -9223372034707292160 >> 7 --- int(-72057594021150720) --- testing: -9223372034707292160 >> 9 --- int(-18014398505287680) --- testing: -9223372034707292160 >> 65 --- -int(-4611686017353646080) +int(-1) --- testing: -9223372034707292160 >> -44 --- -int(-8796093020160) +bool(false) --- testing: -9223372034707292160 >> 2147483647 --- int(-1) --- testing: -9223372034707292160 >> 9223372036854775807 --- @@ -152,15 +152,15 @@ int(2147483648) --- testing: 2147483648 >> 1 --- int(1073741824) --- testing: 2147483648 >> -1 --- -int(0) +bool(false) --- testing: 2147483648 >> 7 --- int(16777216) --- testing: 2147483648 >> 9 --- int(4194304) --- testing: 2147483648 >> 65 --- -int(1073741824) +int(0) --- testing: 2147483648 >> -44 --- -int(2048) +bool(false) --- testing: 2147483648 >> 2147483647 --- int(0) --- testing: 2147483648 >> 9223372036854775807 --- @@ -170,15 +170,15 @@ int(-2147483649) --- testing: -2147483649 >> 1 --- int(-1073741825) --- testing: -2147483649 >> -1 --- -int(-1) +bool(false) --- testing: -2147483649 >> 7 --- int(-16777217) --- testing: -2147483649 >> 9 --- int(-4194305) --- testing: -2147483649 >> 65 --- -int(-1073741825) +int(-1) --- testing: -2147483649 >> -44 --- -int(-2049) +bool(false) --- testing: -2147483649 >> 2147483647 --- int(-1) --- testing: -2147483649 >> 9223372036854775807 --- @@ -188,15 +188,15 @@ int(4294967294) --- testing: 4294967294 >> 1 --- int(2147483647) --- testing: 4294967294 >> -1 --- -int(0) +bool(false) --- testing: 4294967294 >> 7 --- int(33554431) --- testing: 4294967294 >> 9 --- int(8388607) --- testing: 4294967294 >> 65 --- -int(2147483647) +int(0) --- testing: 4294967294 >> -44 --- -int(4095) +bool(false) --- testing: 4294967294 >> 2147483647 --- int(0) --- testing: 4294967294 >> 9223372036854775807 --- @@ -206,15 +206,15 @@ int(4294967295) --- testing: 4294967295 >> 1 --- int(2147483647) --- testing: 4294967295 >> -1 --- -int(0) +bool(false) --- testing: 4294967295 >> 7 --- int(33554431) --- testing: 4294967295 >> 9 --- int(8388607) --- testing: 4294967295 >> 65 --- -int(2147483647) +int(0) --- testing: 4294967295 >> -44 --- -int(4095) +bool(false) --- testing: 4294967295 >> 2147483647 --- int(0) --- testing: 4294967295 >> 9223372036854775807 --- @@ -224,15 +224,15 @@ int(4294967293) --- testing: 4294967293 >> 1 --- int(2147483646) --- testing: 4294967293 >> -1 --- -int(0) +bool(false) --- testing: 4294967293 >> 7 --- int(33554431) --- testing: 4294967293 >> 9 --- int(8388607) --- testing: 4294967293 >> 65 --- -int(2147483646) +int(0) --- testing: 4294967293 >> -44 --- -int(4095) +bool(false) --- testing: 4294967293 >> 2147483647 --- int(0) --- testing: 4294967293 >> 9223372036854775807 --- @@ -242,15 +242,15 @@ int(9223372036854775806) --- testing: 9223372036854775806 >> 1 --- int(4611686018427387903) --- testing: 9223372036854775806 >> -1 --- -int(0) +bool(false) --- testing: 9223372036854775806 >> 7 --- int(72057594037927935) --- testing: 9223372036854775806 >> 9 --- int(18014398509481983) --- testing: 9223372036854775806 >> 65 --- -int(4611686018427387903) +int(0) --- testing: 9223372036854775806 >> -44 --- -int(8796093022207) +bool(false) --- testing: 9223372036854775806 >> 2147483647 --- int(0) --- testing: 9223372036854775806 >> 9223372036854775807 --- @@ -260,15 +260,15 @@ int(-9223372036854775808) --- testing: 9.2233720368548E+18 >> 1 --- int(-4611686018427387904) --- testing: 9.2233720368548E+18 >> -1 --- -int(-1) +bool(false) --- testing: 9.2233720368548E+18 >> 7 --- int(-72057594037927936) --- testing: 9.2233720368548E+18 >> 9 --- int(-18014398509481984) --- testing: 9.2233720368548E+18 >> 65 --- -int(-4611686018427387904) +int(-1) --- testing: 9.2233720368548E+18 >> -44 --- -int(-8796093022208) +bool(false) --- testing: 9.2233720368548E+18 >> 2147483647 --- int(-1) --- testing: 9.2233720368548E+18 >> 9223372036854775807 --- @@ -278,15 +278,15 @@ int(-9223372036854775807) --- testing: -9223372036854775807 >> 1 --- int(-4611686018427387904) --- testing: -9223372036854775807 >> -1 --- -int(-1) +bool(false) --- testing: -9223372036854775807 >> 7 --- int(-72057594037927936) --- testing: -9223372036854775807 >> 9 --- int(-18014398509481984) --- testing: -9223372036854775807 >> 65 --- -int(-4611686018427387904) +int(-1) --- testing: -9223372036854775807 >> -44 --- -int(-8796093022208) +bool(false) --- testing: -9223372036854775807 >> 2147483647 --- int(-1) --- testing: -9223372036854775807 >> 9223372036854775807 --- @@ -296,15 +296,15 @@ int(-9223372036854775808) --- testing: -9.2233720368548E+18 >> 1 --- int(-4611686018427387904) --- testing: -9.2233720368548E+18 >> -1 --- -int(-1) +bool(false) --- testing: -9.2233720368548E+18 >> 7 --- int(-72057594037927936) --- testing: -9.2233720368548E+18 >> 9 --- int(-18014398509481984) --- testing: -9.2233720368548E+18 >> 65 --- -int(-4611686018427387904) +int(-1) --- testing: -9.2233720368548E+18 >> -44 --- -int(-8796093022208) +bool(false) --- testing: -9.2233720368548E+18 >> 2147483647 --- int(-1) --- testing: -9.2233720368548E+18 >> 9223372036854775807 --- @@ -312,19 +312,19 @@ int(-1) --- testing: 0 >> 9223372036854775807 --- int(0) --- testing: 0 >> -9223372036854775808 --- -int(0) +bool(false) --- testing: 0 >> 2147483647 --- int(0) --- testing: 0 >> -2147483648 --- -int(0) +bool(false) --- testing: 0 >> 9223372034707292160 --- int(0) --- testing: 0 >> -9223372034707292160 --- -int(0) +bool(false) --- testing: 0 >> 2147483648 --- int(0) --- testing: 0 >> -2147483649 --- -int(0) +bool(false) --- testing: 0 >> 4294967294 --- int(0) --- testing: 0 >> 4294967295 --- @@ -334,27 +334,27 @@ int(0) --- testing: 0 >> 9223372036854775806 --- int(0) --- testing: 0 >> 9.2233720368548E+18 --- -int(0) +bool(false) --- testing: 0 >> -9223372036854775807 --- -int(0) +bool(false) --- testing: 0 >> -9.2233720368548E+18 --- -int(0) +bool(false) --- testing: 1 >> 9223372036854775807 --- int(0) --- testing: 1 >> -9223372036854775808 --- -int(1) +bool(false) --- testing: 1 >> 2147483647 --- int(0) --- testing: 1 >> -2147483648 --- -int(1) +bool(false) --- testing: 1 >> 9223372034707292160 --- -int(1) +int(0) --- testing: 1 >> -9223372034707292160 --- -int(1) +bool(false) --- testing: 1 >> 2147483648 --- -int(1) ---- testing: 1 >> -2147483649 --- int(0) +--- testing: 1 >> -2147483649 --- +bool(false) --- testing: 1 >> 4294967294 --- int(0) --- testing: 1 >> 4294967295 --- @@ -364,27 +364,27 @@ int(0) --- testing: 1 >> 9223372036854775806 --- int(0) --- testing: 1 >> 9.2233720368548E+18 --- -int(1) +bool(false) --- testing: 1 >> -9223372036854775807 --- -int(0) +bool(false) --- testing: 1 >> -9.2233720368548E+18 --- -int(1) +bool(false) --- testing: -1 >> 9223372036854775807 --- int(-1) --- testing: -1 >> -9223372036854775808 --- -int(-1) +bool(false) --- testing: -1 >> 2147483647 --- int(-1) --- testing: -1 >> -2147483648 --- -int(-1) +bool(false) --- testing: -1 >> 9223372034707292160 --- int(-1) --- testing: -1 >> -9223372034707292160 --- -int(-1) +bool(false) --- testing: -1 >> 2147483648 --- int(-1) --- testing: -1 >> -2147483649 --- -int(-1) +bool(false) --- testing: -1 >> 4294967294 --- int(-1) --- testing: -1 >> 4294967295 --- @@ -394,27 +394,27 @@ int(-1) --- testing: -1 >> 9223372036854775806 --- int(-1) --- testing: -1 >> 9.2233720368548E+18 --- -int(-1) +bool(false) --- testing: -1 >> -9223372036854775807 --- -int(-1) +bool(false) --- testing: -1 >> -9.2233720368548E+18 --- -int(-1) +bool(false) --- testing: 7 >> 9223372036854775807 --- int(0) --- testing: 7 >> -9223372036854775808 --- -int(7) +bool(false) --- testing: 7 >> 2147483647 --- int(0) --- testing: 7 >> -2147483648 --- -int(7) +bool(false) --- testing: 7 >> 9223372034707292160 --- -int(7) +int(0) --- testing: 7 >> -9223372034707292160 --- -int(7) +bool(false) --- testing: 7 >> 2147483648 --- -int(7) ---- testing: 7 >> -2147483649 --- int(0) +--- testing: 7 >> -2147483649 --- +bool(false) --- testing: 7 >> 4294967294 --- int(0) --- testing: 7 >> 4294967295 --- @@ -424,27 +424,27 @@ int(0) --- testing: 7 >> 9223372036854775806 --- int(0) --- testing: 7 >> 9.2233720368548E+18 --- -int(7) +bool(false) --- testing: 7 >> -9223372036854775807 --- -int(3) +bool(false) --- testing: 7 >> -9.2233720368548E+18 --- -int(7) +bool(false) --- testing: 9 >> 9223372036854775807 --- int(0) --- testing: 9 >> -9223372036854775808 --- -int(9) +bool(false) --- testing: 9 >> 2147483647 --- int(0) --- testing: 9 >> -2147483648 --- -int(9) +bool(false) --- testing: 9 >> 9223372034707292160 --- -int(9) +int(0) --- testing: 9 >> -9223372034707292160 --- -int(9) +bool(false) --- testing: 9 >> 2147483648 --- -int(9) ---- testing: 9 >> -2147483649 --- int(0) +--- testing: 9 >> -2147483649 --- +bool(false) --- testing: 9 >> 4294967294 --- int(0) --- testing: 9 >> 4294967295 --- @@ -454,27 +454,27 @@ int(0) --- testing: 9 >> 9223372036854775806 --- int(0) --- testing: 9 >> 9.2233720368548E+18 --- -int(9) +bool(false) --- testing: 9 >> -9223372036854775807 --- -int(4) +bool(false) --- testing: 9 >> -9.2233720368548E+18 --- -int(9) +bool(false) --- testing: 65 >> 9223372036854775807 --- int(0) --- testing: 65 >> -9223372036854775808 --- -int(65) +bool(false) --- testing: 65 >> 2147483647 --- int(0) --- testing: 65 >> -2147483648 --- -int(65) +bool(false) --- testing: 65 >> 9223372034707292160 --- -int(65) +int(0) --- testing: 65 >> -9223372034707292160 --- -int(65) +bool(false) --- testing: 65 >> 2147483648 --- -int(65) ---- testing: 65 >> -2147483649 --- int(0) +--- testing: 65 >> -2147483649 --- +bool(false) --- testing: 65 >> 4294967294 --- int(0) --- testing: 65 >> 4294967295 --- @@ -484,27 +484,27 @@ int(0) --- testing: 65 >> 9223372036854775806 --- int(0) --- testing: 65 >> 9.2233720368548E+18 --- -int(65) +bool(false) --- testing: 65 >> -9223372036854775807 --- -int(32) +bool(false) --- testing: 65 >> -9.2233720368548E+18 --- -int(65) +bool(false) --- testing: -44 >> 9223372036854775807 --- int(-1) --- testing: -44 >> -9223372036854775808 --- -int(-44) +bool(false) --- testing: -44 >> 2147483647 --- int(-1) --- testing: -44 >> -2147483648 --- -int(-44) +bool(false) --- testing: -44 >> 9223372034707292160 --- -int(-44) +int(-1) --- testing: -44 >> -9223372034707292160 --- -int(-44) +bool(false) --- testing: -44 >> 2147483648 --- -int(-44) ---- testing: -44 >> -2147483649 --- int(-1) +--- testing: -44 >> -2147483649 --- +bool(false) --- testing: -44 >> 4294967294 --- int(-1) --- testing: -44 >> 4294967295 --- @@ -514,27 +514,27 @@ int(-1) --- testing: -44 >> 9223372036854775806 --- int(-1) --- testing: -44 >> 9.2233720368548E+18 --- -int(-44) +bool(false) --- testing: -44 >> -9223372036854775807 --- -int(-22) +bool(false) --- testing: -44 >> -9.2233720368548E+18 --- -int(-44) +bool(false) --- testing: 2147483647 >> 9223372036854775807 --- int(0) --- testing: 2147483647 >> -9223372036854775808 --- -int(2147483647) +bool(false) --- testing: 2147483647 >> 2147483647 --- int(0) --- testing: 2147483647 >> -2147483648 --- -int(2147483647) +bool(false) --- testing: 2147483647 >> 9223372034707292160 --- -int(2147483647) +int(0) --- testing: 2147483647 >> -9223372034707292160 --- -int(2147483647) +bool(false) --- testing: 2147483647 >> 2147483648 --- -int(2147483647) ---- testing: 2147483647 >> -2147483649 --- int(0) +--- testing: 2147483647 >> -2147483649 --- +bool(false) --- testing: 2147483647 >> 4294967294 --- int(0) --- testing: 2147483647 >> 4294967295 --- @@ -544,40 +544,39 @@ int(0) --- testing: 2147483647 >> 9223372036854775806 --- int(0) --- testing: 2147483647 >> 9.2233720368548E+18 --- -int(2147483647) +bool(false) --- testing: 2147483647 >> -9223372036854775807 --- -int(1073741823) +bool(false) --- testing: 2147483647 >> -9.2233720368548E+18 --- -int(2147483647) +bool(false) --- testing: 9223372036854775807 >> 9223372036854775807 --- int(0) --- testing: 9223372036854775807 >> -9223372036854775808 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 >> 2147483647 --- int(0) --- testing: 9223372036854775807 >> -2147483648 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 >> 9223372034707292160 --- -int(9223372036854775807) +int(0) --- testing: 9223372036854775807 >> -9223372034707292160 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 >> 2147483648 --- -int(9223372036854775807) ---- testing: 9223372036854775807 >> -2147483649 --- int(0) +--- testing: 9223372036854775807 >> -2147483649 --- +bool(false) --- testing: 9223372036854775807 >> 4294967294 --- -int(1) +int(0) --- testing: 9223372036854775807 >> 4294967295 --- int(0) --- testing: 9223372036854775807 >> 4294967293 --- -int(3) +int(0) --- testing: 9223372036854775807 >> 9223372036854775806 --- -int(1) +int(0) --- testing: 9223372036854775807 >> 9.2233720368548E+18 --- -int(9223372036854775807) +bool(false) --- testing: 9223372036854775807 >> -9223372036854775807 --- -int(4611686018427387903) +bool(false) --- testing: 9223372036854775807 >> -9.2233720368548E+18 --- -int(9223372036854775807) -===DONE=== - \ No newline at end of file +bool(false) +===DONE=== \ No newline at end of file diff --git a/tests/lang/operators/bitwiseShiftRight_variationStr.phpt b/tests/lang/operators/bitwiseShiftRight_variationStr.phpt index ad53fea9d160f..35ca0a618df92 100644 --- a/tests/lang/operators/bitwiseShiftRight_variationStr.phpt +++ b/tests/lang/operators/bitwiseShiftRight_variationStr.phpt @@ -1,9 +1,5 @@ --TEST-- Test >> operator : various numbers as strings ---SKIPIF-- - --FILE-- > '$otherVal' ---\n"; - var_dump(bin2hex($strVal>>$otherVal)); + var_dump($strVal>>$otherVal); } } @@ -26,395 +22,395 @@ foreach ($strVals as $strVal) { ===DONE=== --EXPECT-- --- testing: '0' >> '0' --- -string(2) "30" +int(0) --- testing: '0' >> '65' --- -string(2) "30" +int(0) --- testing: '0' >> '-44' --- -string(2) "30" +bool(false) --- testing: '0' >> '1.2' --- -string(2) "30" +int(0) --- testing: '0' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '0' >> 'abc' --- -string(2) "30" +int(0) --- testing: '0' >> '123abc' --- -string(2) "30" +int(0) --- testing: '0' >> '123e5' --- -string(2) "30" +int(0) --- testing: '0' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '0' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '0' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '0' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '0' >> '3.4a' --- -string(2) "30" +int(0) --- testing: '0' >> 'a5.9' --- -string(2) "30" +int(0) --- testing: '65' >> '0' --- -string(4) "3635" +int(65) --- testing: '65' >> '65' --- -string(4) "3332" +int(0) --- testing: '65' >> '-44' --- -string(2) "30" +bool(false) --- testing: '65' >> '1.2' --- -string(4) "3332" +int(32) --- testing: '65' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '65' >> 'abc' --- -string(4) "3635" +int(65) --- testing: '65' >> '123abc' --- -string(2) "30" +int(0) --- testing: '65' >> '123e5' --- -string(2) "30" +int(0) --- testing: '65' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '65' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '65' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '65' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '65' >> '3.4a' --- -string(2) "38" +int(8) --- testing: '65' >> 'a5.9' --- -string(4) "3635" +int(65) --- testing: '-44' >> '0' --- -string(6) "2d3434" +int(-44) --- testing: '-44' >> '65' --- -string(6) "2d3232" +int(-1) --- testing: '-44' >> '-44' --- -string(4) "2d31" +bool(false) --- testing: '-44' >> '1.2' --- -string(6) "2d3232" +int(-22) --- testing: '-44' >> '-7.7' --- -string(4) "2d31" +bool(false) --- testing: '-44' >> 'abc' --- -string(6) "2d3434" +int(-44) --- testing: '-44' >> '123abc' --- -string(4) "2d31" +int(-1) --- testing: '-44' >> '123e5' --- -string(4) "2d31" +int(-1) --- testing: '-44' >> '123e5xyz' --- -string(4) "2d31" +int(-1) --- testing: '-44' >> ' 123abc' --- -string(4) "2d31" +int(-1) --- testing: '-44' >> '123 abc' --- -string(4) "2d31" +int(-1) --- testing: '-44' >> '123abc ' --- -string(4) "2d31" +int(-1) --- testing: '-44' >> '3.4a' --- -string(4) "2d36" +int(-6) --- testing: '-44' >> 'a5.9' --- -string(6) "2d3434" +int(-44) --- testing: '1.2' >> '0' --- -string(2) "31" +int(1) --- testing: '1.2' >> '65' --- -string(2) "30" +int(0) --- testing: '1.2' >> '-44' --- -string(2) "30" +bool(false) --- testing: '1.2' >> '1.2' --- -string(2) "30" +int(0) --- testing: '1.2' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '1.2' >> 'abc' --- -string(2) "31" +int(1) --- testing: '1.2' >> '123abc' --- -string(2) "30" +int(0) --- testing: '1.2' >> '123e5' --- -string(2) "30" +int(0) --- testing: '1.2' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '1.2' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '1.2' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '1.2' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '1.2' >> '3.4a' --- -string(2) "30" +int(0) --- testing: '1.2' >> 'a5.9' --- -string(2) "31" +int(1) --- testing: '-7.7' >> '0' --- -string(4) "2d37" +int(-7) --- testing: '-7.7' >> '65' --- -string(4) "2d34" +int(-1) --- testing: '-7.7' >> '-44' --- -string(4) "2d31" +bool(false) --- testing: '-7.7' >> '1.2' --- -string(4) "2d34" +int(-4) --- testing: '-7.7' >> '-7.7' --- -string(4) "2d31" +bool(false) --- testing: '-7.7' >> 'abc' --- -string(4) "2d37" +int(-7) --- testing: '-7.7' >> '123abc' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> '123e5' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> '123e5xyz' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> ' 123abc' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> '123 abc' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> '123abc ' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> '3.4a' --- -string(4) "2d31" +int(-1) --- testing: '-7.7' >> 'a5.9' --- -string(4) "2d37" +int(-7) --- testing: 'abc' >> '0' --- -string(2) "30" +int(0) --- testing: 'abc' >> '65' --- -string(2) "30" +int(0) --- testing: 'abc' >> '-44' --- -string(2) "30" +bool(false) --- testing: 'abc' >> '1.2' --- -string(2) "30" +int(0) --- testing: 'abc' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: 'abc' >> 'abc' --- -string(2) "30" +int(0) --- testing: 'abc' >> '123abc' --- -string(2) "30" +int(0) --- testing: 'abc' >> '123e5' --- -string(2) "30" +int(0) --- testing: 'abc' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: 'abc' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: 'abc' >> '123 abc' --- -string(2) "30" +int(0) --- testing: 'abc' >> '123abc ' --- -string(2) "30" +int(0) --- testing: 'abc' >> '3.4a' --- -string(2) "30" +int(0) --- testing: 'abc' >> 'a5.9' --- -string(2) "30" +int(0) --- testing: '123abc' >> '0' --- -string(6) "313233" +int(123) --- testing: '123abc' >> '65' --- -string(4) "3631" +int(0) --- testing: '123abc' >> '-44' --- -string(2) "30" +bool(false) --- testing: '123abc' >> '1.2' --- -string(4) "3631" +int(61) --- testing: '123abc' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '123abc' >> 'abc' --- -string(6) "313233" +int(123) --- testing: '123abc' >> '123abc' --- -string(2) "30" +int(0) --- testing: '123abc' >> '123e5' --- -string(2) "30" +int(0) --- testing: '123abc' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '123abc' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '123abc' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '123abc' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '123abc' >> '3.4a' --- -string(4) "3135" +int(15) --- testing: '123abc' >> 'a5.9' --- -string(6) "313233" +int(123) --- testing: '123e5' >> '0' --- -string(6) "313233" +int(123) --- testing: '123e5' >> '65' --- -string(4) "3631" +int(0) --- testing: '123e5' >> '-44' --- -string(2) "30" +bool(false) --- testing: '123e5' >> '1.2' --- -string(4) "3631" +int(61) --- testing: '123e5' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '123e5' >> 'abc' --- -string(6) "313233" +int(123) --- testing: '123e5' >> '123abc' --- -string(2) "30" +int(0) --- testing: '123e5' >> '123e5' --- -string(2) "30" +int(0) --- testing: '123e5' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '123e5' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '123e5' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '123e5' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '123e5' >> '3.4a' --- -string(4) "3135" +int(15) --- testing: '123e5' >> 'a5.9' --- -string(6) "313233" +int(123) --- testing: '123e5xyz' >> '0' --- -string(6) "313233" +int(123) --- testing: '123e5xyz' >> '65' --- -string(4) "3631" +int(0) --- testing: '123e5xyz' >> '-44' --- -string(2) "30" +bool(false) --- testing: '123e5xyz' >> '1.2' --- -string(4) "3631" +int(61) --- testing: '123e5xyz' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '123e5xyz' >> 'abc' --- -string(6) "313233" +int(123) --- testing: '123e5xyz' >> '123abc' --- -string(2) "30" +int(0) --- testing: '123e5xyz' >> '123e5' --- -string(2) "30" +int(0) --- testing: '123e5xyz' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '123e5xyz' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '123e5xyz' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '123e5xyz' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '123e5xyz' >> '3.4a' --- -string(4) "3135" +int(15) --- testing: '123e5xyz' >> 'a5.9' --- -string(6) "313233" +int(123) --- testing: ' 123abc' >> '0' --- -string(6) "313233" +int(123) --- testing: ' 123abc' >> '65' --- -string(4) "3631" +int(0) --- testing: ' 123abc' >> '-44' --- -string(2) "30" +bool(false) --- testing: ' 123abc' >> '1.2' --- -string(4) "3631" +int(61) --- testing: ' 123abc' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: ' 123abc' >> 'abc' --- -string(6) "313233" +int(123) --- testing: ' 123abc' >> '123abc' --- -string(2) "30" +int(0) --- testing: ' 123abc' >> '123e5' --- -string(2) "30" +int(0) --- testing: ' 123abc' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: ' 123abc' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: ' 123abc' >> '123 abc' --- -string(2) "30" +int(0) --- testing: ' 123abc' >> '123abc ' --- -string(2) "30" +int(0) --- testing: ' 123abc' >> '3.4a' --- -string(4) "3135" +int(15) --- testing: ' 123abc' >> 'a5.9' --- -string(6) "313233" +int(123) --- testing: '123 abc' >> '0' --- -string(6) "313233" +int(123) --- testing: '123 abc' >> '65' --- -string(4) "3631" +int(0) --- testing: '123 abc' >> '-44' --- -string(2) "30" +bool(false) --- testing: '123 abc' >> '1.2' --- -string(4) "3631" +int(61) --- testing: '123 abc' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '123 abc' >> 'abc' --- -string(6) "313233" +int(123) --- testing: '123 abc' >> '123abc' --- -string(2) "30" +int(0) --- testing: '123 abc' >> '123e5' --- -string(2) "30" +int(0) --- testing: '123 abc' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '123 abc' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '123 abc' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '123 abc' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '123 abc' >> '3.4a' --- -string(4) "3135" +int(15) --- testing: '123 abc' >> 'a5.9' --- -string(6) "313233" +int(123) --- testing: '123abc ' >> '0' --- -string(6) "313233" +int(123) --- testing: '123abc ' >> '65' --- -string(4) "3631" +int(0) --- testing: '123abc ' >> '-44' --- -string(2) "30" +bool(false) --- testing: '123abc ' >> '1.2' --- -string(4) "3631" +int(61) --- testing: '123abc ' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '123abc ' >> 'abc' --- -string(6) "313233" +int(123) --- testing: '123abc ' >> '123abc' --- -string(2) "30" +int(0) --- testing: '123abc ' >> '123e5' --- -string(2) "30" +int(0) --- testing: '123abc ' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '123abc ' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '123abc ' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '123abc ' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '123abc ' >> '3.4a' --- -string(4) "3135" +int(15) --- testing: '123abc ' >> 'a5.9' --- -string(6) "313233" +int(123) --- testing: '3.4a' >> '0' --- -string(2) "33" +int(3) --- testing: '3.4a' >> '65' --- -string(2) "31" +int(0) --- testing: '3.4a' >> '-44' --- -string(2) "30" +bool(false) --- testing: '3.4a' >> '1.2' --- -string(2) "31" +int(1) --- testing: '3.4a' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: '3.4a' >> 'abc' --- -string(2) "33" +int(3) --- testing: '3.4a' >> '123abc' --- -string(2) "30" +int(0) --- testing: '3.4a' >> '123e5' --- -string(2) "30" +int(0) --- testing: '3.4a' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: '3.4a' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: '3.4a' >> '123 abc' --- -string(2) "30" +int(0) --- testing: '3.4a' >> '123abc ' --- -string(2) "30" +int(0) --- testing: '3.4a' >> '3.4a' --- -string(2) "30" +int(0) --- testing: '3.4a' >> 'a5.9' --- -string(2) "33" +int(3) --- testing: 'a5.9' >> '0' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '65' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '-44' --- -string(2) "30" +bool(false) --- testing: 'a5.9' >> '1.2' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '-7.7' --- -string(2) "30" +bool(false) --- testing: 'a5.9' >> 'abc' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '123abc' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '123e5' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '123e5xyz' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> ' 123abc' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '123 abc' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '123abc ' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> '3.4a' --- -string(2) "30" +int(0) --- testing: 'a5.9' >> 'a5.9' --- -string(2) "30" -===DONE=== +int(0) +===DONE=== \ No newline at end of file