@ 2014-08-13T22:37:36Z <?php
function pack_encode($format, $val) {
$b64 = base64_encode(pack($format, $val));
return str_replace(array('/', '='), array('_', ''), $b64); // "/" json-encodes poorly and "=" is padding
}
function pack_decode($format, $width, $bin) {
$b64 = str_replace('_', '/', $bin); // un-padded
$data = array();//unpack($format, base64_decode($b64, false));
$val = 0;
foreach ($data as $v) {
$val = ($val<<$width) | $v;
}
return $val;
}
function pack_encode_uint16($val) {
return pack_encode('n', $val);
}
function pack_encode_uint32($val) {
return pack_encode('N', $val);
}
function pack_decode_uint16($val) {
return pack_decode('n', 16, $val);
}
function pack_decode_uint32($val) {
return pack_decode('N', 32, $val);
}
$max = 32767;
$n = 20;
$step = intval($max/$n);
for ($i=0; $i<=$n; $i++) {
$val = $i*$step;
$enc16 = pack_encode_uint16($val);
$enc32 = pack_encode_uint32($val);
$str = base64_encode(strval($val)); // STUPID
echo "$enc16 $enc32 $str $val";
$dec16 = pack_decode_uint16($enc16);
$dec32 = pack_decode_uint32($enc32);
if ($dec16 != $val) {
echo " $dec16 != $val";
} else if ($dec32 != $val) {
echo " $dec32 != $val";
}
echo "\n";
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.20 , 7.1.0 - 7.1.20 , 7.2.0 - 7.2.33 , 7.3.16 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.27 , 8.2.0 - 8.2.17 , 8.3.0 - 8.3.4 AAA AAAAAA MA== 0
Fatal error: Uncaught Error: Call to undefined function array() in /in/XVPA8:10
Stack trace:
#0 /in/XVPA8(27): pack_decode('n', 16, 'AAA')
#1 /in/XVPA8(45): pack_decode_uint16('AAA')
#2 {main}
thrown in /in/XVPA8 on line 10
Process exited with code 255 . Output for 5.0.0 - 5.0.5 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 , 5.4.0 - 5.4.45 , 5.5.24 - 5.5.35 , 5.6.8 - 5.6.21 AAA AAAAAA MA== 0
Fatal error: Call to undefined function array() in /in/XVPA8 on line 10
Process exited with code 255 . Output for 4.4.5 - 4.4.9 AAA AAAAAA MA== 0
Fatal error: Call to undefined function: array() in /in/XVPA8 on line 10
Process exited with code 255 . Output for 4.3.2 - 4.3.11 , 4.4.0 - 4.4.4 AAA AAAAAA MA== 0
Fatal error: Call to undefined function: array() in /in/XVPA8 on line 10
Process exited with code 255 . Output for 4.3.0 - 4.3.1 AAA AAAAAA MA== 0
Fatal error: Call to undefined function: array() in /in/XVPA8 on line 10
preferences:dark mode live preview
211.67 ms | 401 KiB | 307 Q