smoren/bitmap-tools
最新稳定版本:v0.3.0
Composer 安装命令:
composer require smoren/bitmap-tools
包简介
Bitmap tools
README 文档
README
Tools for working with bitmaps
How to install to your project
composer require smoren/bitmap-tools
Unit testing
composer install
composer test-init
composer test
Usage
Simple usage
use Smoren\BitmapTools\Models\Bitmap; // Create bitmap by int value: $bm = Bitmap::create(6); // bitmap: 110 // Create bitmap by true bit positions: $bm = Bitmap::create([1, 2]); // bitmap: 110 // Basic operations: $bm = Bitmap::create([0, 2]); var_dump($bm->getValue()); // 5 var_dump($bm->toArray()); // [0, 2] var_dump($bm->hasBit(0)); // true var_dump($bm->hasBit(1)); // false var_dump($bm->hasBit(2)); // true $bm = Bitmap::create([0, 1, 2]); var_dump($bm->getValue()); // 7 var_dump($bm->toArray()); // [0, 1, 2] $bm = Bitmap::create([]); var_dump($bm->getValue()); // 0 var_dump($bm->toArray()); // [] // Intersections: $bm = Bitmap::create(7); var_dump($bm->intersectsWith(Bitmap::create(1))); // true var_dump($bm->intersectsWith(Bitmap::create([1, 2]))); // true $bm = Bitmap::create(6); var_dump($bm->intersectsWith(Bitmap::create(2))); // true var_dump($bm->intersectsWith(Bitmap::create(0))); // false // Inclusions: $bm = Bitmap::create(6); var_dump($bm->includes(Bitmap::create(2))); // true (in binary numbers: 110 includes 010) var_dump($bm->includes(Bitmap::create(1))); // false (in binary numbers: 110 not includes 001) var_dump($bm->includes(Bitmap::create(3))); // false (in binary numbers: 110 not includes 011) // Additions: $bm = Bitmap::create(2); // bitmap: 010 $bm = $bm->add(Bitmap::create(1)); // bitmap: 011 $bm = $bm->add(Bitmap::create(6)); // bitmap: 111 // Subtractions: $bm = Bitmap::create(15); // bitmap: 1111 $bm = $bm->sub(Bitmap::create(6)); // bitmap: 1001 $bm = $bm->sub(Bitmap::create(3)); // bitmap: 1000
统计信息
- 总下载量: 426
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-08-17