PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / bacon / bacon-qr-code / src / Common / BitUtils.php
ameliabooking / vendor / bacon / bacon-qr-code / src / Common Last commit date
BitArray.php 8 months ago BitMatrix.php 8 months ago BitUtils.php 8 months ago CharacterSetEci.php 8 months ago EcBlock.php 8 months ago EcBlocks.php 8 months ago ErrorCorrectionLevel.php 8 months ago FormatInformation.php 8 months ago Mode.php 8 months ago ReedSolomonCodec.php 8 months ago Version.php 8 months ago
BitUtils.php
42 lines
1 <?php
2 declare(strict_types = 1);
3
4 namespace BaconQrCode\Common;
5
6 /**
7 * General bit utilities.
8 *
9 * All utility methods are based on 32-bit integers and also work on 64-bit
10 * systems.
11 */
12 final class BitUtils
13 {
14 private function __construct()
15 {
16 }
17
18 /**
19 * Performs an unsigned right shift.
20 *
21 * This is the same as the unsigned right shift operator ">>>" in other
22 * languages.
23 */
24 public static function unsignedRightShift(int $a, int $b) : int
25 {
26 return (
27 $a >= 0
28 ? $a >> $b
29 : (($a & 0x7fffffff) >> $b) | (0x40000000 >> ($b - 1))
30 );
31 }
32
33 /**
34 * Gets the number of trailing zeros.
35 */
36 public static function numberOfTrailingZeros(int $i) : int
37 {
38 $lastPos = strrpos(str_pad(decbin($i), 32, '0', STR_PAD_LEFT), '1');
39 return $lastPos === false ? 32 : 31 - $lastPos;
40 }
41 }
42