<?php
 
 
require './vlc.class.php';
 
 
/* Example usage */
 
 
// create a sorted array with 1,000 random values
 
$values = array();
 
for( $i=0; $i<1000; $i++ ) {
 
    $values[] = rand(1,999999);
 
}
 
sort($values);
 
 
print_r( $values );
 
 
$vlcw = new VLCWriter();
 
 
// store the first value as is
 
$base = array_shift( $values );
 
$vlcw->zipInt( $base );
 
 
// for all other values, store the delta
 
while( $value = array_shift( $values ) ) {
 
    $delta = $value - $base;
 
    $vlcw->zipInt( $delta );
 
    $base = $value;
 
}
 
 
// get the binary output
 
$data = $vlcw->toString();
 
 
// normal length is 1000*4 bytes (1000 32-bit integers)
 
$encoded_length = strlen( $data );
 
$gain = ( 1000 * 4 ) - $encoded_length;
 
 
print "Original length: 4000 bytes\n";
 
print "Encoded length: " . $encoded_length . " bytes\n";
 
 
// Decode the binary data
 
 
$vlcr = new VLCReader( $data );
 
 
$values = array();
 
$base = 0;
 
 
while( $delta = $vlcr->unzipInt() ) {
 
    $value = $base + $delta;
 
    $values[] = $value;
 
    $base = $value;
 
}
 
 
print_r( $values );
 
 
?>
 
 |