src/Barcode/Imb.php
private function imbTables($n, $size)
	{
		$table = [];
		$lli = 0; // LUT lower index
		$lui = $size - 1; // LUT upper index
		for ($count = 0; $count < 8192; ++$count) {

			$bitCount = 0;
			for ($bit_index = 0; $bit_index < 13; ++$bit_index) {
				$bitCount += (int) (($count & (1 << $bit_index)) != 0);
			}

			// if we don't have the right number of bits on, go on to the next value
			if ($bitCount == $n) {
				$reverse = ($this->imbReverseUs($count) >> 3);
				// if the reverse is less than count, we have already visited this pair before
				if ($reverse >= $count) {
					// If count is symmetric, place it at the first free slot from the end of the list.
					// Otherwise, place it at the first free slot from the beginning of the list AND place $reverse ath the next free slot from the beginning of the list
					if ($reverse == $count) {
						$table[$lui] = $count;
						--$lui;
					} else {
						$table[$lli] = $count;
						++$lli;
						$table[$lli] = $reverse;
						++$lli;
					}
				}
			}
		}

		return $table;
	}
private function imbTables($n, $size)
	{
		$table = [];
		$lli = 0; // LUT lower index
		$lui = $size - 1; // LUT upper index
		for ($count = 0; $count < 8192; ++$count) {

			$bitCount = 0;
			for ($bit_index = 0; $bit_index < 13; ++$bit_index) {
				$bitCount += (int) (($count & (1 << $bit_index)) != 0);
			}

			// if we don't have the right number of bits on, go on to the next value
			if ($bitCount == $n) {
				$reverse = ($this->imbReverseUs($count) >> 3);
				// if the reverse is less than count, we have already visited this pair before
				if ($reverse >= $count) {
					// If count is symmetric, place it at the first free slot from the end of the list.
					// Otherwise, place it at the first free slot from the beginning of the list AND place $reverse ath the next free slot from the beginning of the list
					if ($reverse == $count) {
						$table[$lui] = $count;
						--$lui;
					} else {
						$table[$lli] = $count;
						++$lli;
						$table[$lli] = $reverse;
						++$lli;
					}
				}
			}
		}

		return $table;
	}
private function imbTables ( $ n , $ size ) { $ table = [ ] ; $ lli = 0 ; // LUT lower index $ lui = $ size - 1 ; // LUT upper index for ( $ count = 0 ; $ count < 8192 ; ++ $ count ) { $ bitCount = 0 ; for ( $ bit_index = 0 ; $ bit_index < 13 ; ++ $ bit_index ) { $ bitCount += ( int ) ( ( $ count & ( 1 << $ bit_index ) ) != 0 ) ; } // if we don't have the right number of bits on, go on to the next value if ( $ bitCount == $ n ) { $ reverse = ( $ this -> imbReverseUs ( $ count ) >> 3 ) ; // if the reverse is less than count, we have already visited this pair before if ( $ reverse >= $ count ) { // If count is symmetric, place it at the first free slot from the end of the list. // Otherwise, place it at the first free slot from the beginning of the list AND place $reverse ath the next free slot from the beginning of the list if ( $ reverse == $ count ) { $ table [ $ lui ] = $ count ; -- $ lui ; } else { $ table [ $ lli ] = $ count ; ++ $ lli ; $ table [ $ lli ] = $ reverse ; ++ $ lli ; } } } } return $ table ; }
Generate Nof13 tables used for Intelligent Mail Barcode

@param int $n
@param int $size

@return mixed[]
Generate Nof13 tables used for Intelligent Mail Barcode