Annotation of embedaddon/php/ext/standard/tests/math/decbin_basiclong_64bit.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test decbin function : 64bit long tests
                      3: --SKIPIF--
                      4: <?php
                      5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
                      6: ?>
                      7: --FILE--
                      8: <?php
                      9:  
                     10: define("MAX_64Bit", 9223372036854775807);
                     11: define("MAX_32Bit", 2147483647);
                     12: define("MIN_64Bit", -9223372036854775807 - 1);
                     13: define("MIN_32Bit", -2147483647 - 1);
                     14: 
                     15: $longVals = array(
                     16:     MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
                     17:     MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
                     18:     MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
                     19: );
                     20: 
                     21: 
                     22: foreach ($longVals as $longVal) {
                     23:    echo "--- testing: $longVal ---\n";
                     24:    var_dump(decbin($longVal));
                     25: }
                     26:    
                     27: ?>
                     28: ===DONE===
                     29: --EXPECT--
                     30: --- testing: 9223372036854775807 ---
                     31: string(63) "111111111111111111111111111111111111111111111111111111111111111"
                     32: --- testing: -9223372036854775808 ---
                     33: string(64) "1000000000000000000000000000000000000000000000000000000000000000"
                     34: --- testing: 2147483647 ---
                     35: string(31) "1111111111111111111111111111111"
                     36: --- testing: -2147483648 ---
                     37: string(64) "1111111111111111111111111111111110000000000000000000000000000000"
                     38: --- testing: 9223372034707292160 ---
                     39: string(63) "111111111111111111111111111111110000000000000000000000000000000"
                     40: --- testing: -9223372034707292160 ---
                     41: string(64) "1000000000000000000000000000000010000000000000000000000000000000"
                     42: --- testing: 2147483648 ---
                     43: string(32) "10000000000000000000000000000000"
                     44: --- testing: -2147483649 ---
                     45: string(64) "1111111111111111111111111111111101111111111111111111111111111111"
                     46: --- testing: 4294967294 ---
                     47: string(32) "11111111111111111111111111111110"
                     48: --- testing: 4294967295 ---
                     49: string(32) "11111111111111111111111111111111"
                     50: --- testing: 4294967293 ---
                     51: string(32) "11111111111111111111111111111101"
                     52: --- testing: 9223372036854775806 ---
                     53: string(63) "111111111111111111111111111111111111111111111111111111111111110"
                     54: --- testing: 9.2233720368548E+18 ---
                     55: string(64) "1000000000000000000000000000000000000000000000000000000000000000"
                     56: --- testing: -9223372036854775807 ---
                     57: string(64) "1000000000000000000000000000000000000000000000000000000000000001"
                     58: --- testing: -9.2233720368548E+18 ---
                     59: string(64) "1000000000000000000000000000000000000000000000000000000000000000"
                     60: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>