예제 #1
0
<?php

/*
function __autoload($class) {
	$fileName = '';
	for($character = 0; $character < strlen($class); $character++) {
		if((strtoupper(substr($class, $character, 1)) == substr($class, $character, 1)) && $character > 0) {
			$fileName .= '_';
		}
		
		$fileName .= strtolower(substr($class, $character, 1));
	}
	
	include_once($fileName . '.php');
}*/
require_once 'src/WriteStream.php';
require_once 'src/ReadStream.php';
require_once 'src/RangeEncoder.php';
require_once 'src/RangeDecoder.php';
require_once 'src/CompressionStream.php';
require_once 'src/Order0Model.php';
require_once 'src/DecompressionStream.php';
require_once 'src/UInt128.php';
$i = new UInt128('12345');
echo $i->add('54321');
예제 #2
0
 public function multiply(UInt128 $multiplicand)
 {
     $product = new UInt128();
     $multiplicand = clone $multiplicand;
     $multiplier = clone $this;
     do {
         if (($multiplicand->digits[0] & 1) != 0) {
             $product->add($multiplier);
         }
         $multiplicand->shiftRight(1);
         $multiplier->shiftLeft(1);
     } while ($multiplicand->compareTo(new UInt128(0)) != 0);
     for ($currentByte = 0; $currentByte < 16; $currentByte++) {
         $this->digits[$currentByte] = $product->digits[$currentByte];
     }
     return $this;
 }