chdemko/bitarray

BitArray for PHP >= 8.1

1.2.3 2024-02-10 13:20 UTC

This package is auto-updated.

Last update: 2024-03-10 13:32:39 UTC


README

PHP package Coveralls Scrutinizer Code Climate CodeFactor Codacy PHP versions Latest Stable Version Downloads Latest Unstable Version License Last commit Documentation Status Repo Size Code Size

BitArray for PHP.

This project manipulates compact array of bit values stored internally as strings.

The bit arrays may have variable length specified when an object is created using either:

  • a specific size;
  • a traversable collection;
  • a string representation of bits;
  • a json representation of bits;
  • a slice from another bit array;
  • a concatenation from two others bit arrays.

The project provides methods to get and set bits values using PHP natural syntax as well as the iterator facility offered by the PHP foreach language construct. It also provides methods for bitwise logical operations between two bit arrays and, or, xor and the not operation.

This project uses:

Instructions

Using composer: either

$ composer create-project chdemko/bitarray:1.2.x-dev --dev; cd bitarray

or create a composer.json file containing

{
    "require": {
        "chdemko/bitarray": "1.2.x-dev"
    }
}

and run

$ composer install

Create a test.php file containing

<?php

require __DIR__ . '/vendor/autoload.php';

use chdemko\BitArray\BitArray;

$bits = BitArray::fromTraversable([true,false,false,true]);
echo $bits . PHP_EOL;

This should print

1001

See the examples folder for more information.

Documentation

Run

$ sudo apt install doxygen python3-pip python3-virtualenv
$ virtualenv venv
$ venv/bin/activate
(venv) $ pip install -r docs/requirements.txt
(venv) $ sphinx-build -b html docs/ html/
(venv) $ deactivate
$

if you want to create local documentation with Sphinx.

Citation

If you are using this project including publication in research activities, you have to cite it using (BibTeX format). You are also pleased to send me an email to chdemko@gmail.com.