Pure JavaScript bit array/bitfield implementation
JavaScript
Switch branches/tags
Nothing to show
Pull request Compare This branch is 8 commits ahead of madrobby:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
.travis.yml
README.md
bitarray.js
component.json
package.json
test.js

README.md

Build Status

BitArray

BitArray is a simple bit array/bit field library in pure JavaScript

BitArray is based on the Ruby library BitArray by Peter Cooper (https://github.com/peterc/bitarray).

Basic, pure JavaScript bit field.

Installation

Server:

$ npm install bitarray

Client:

$ component install microjs/bitarray

Examples

Create a bit array 1000 bits wide:

var ba = new BitArray(1000);

Setting and reading bits:

ba.set(100, 1);
ba.get(100); // => 1

ba.set(100, 0);
ba.get(100); // => 0

Create a BitArray where all the bits default to 1:

var ba = new BitArray(100, 1);
ba.get(50); // => 1

toString:

var ba = new BitArray(20);
[1,3,5,9,11,13,15].forEach(function(i){ ba.set(i, 1) });
ba.toString(); // => "01010100010101010000"

Notes

The total_set method is not ported for now.

There might be bugs, this is just a quick port. Non-sucky tests would be awesome. hinthint (The test file from the original repo https://github.com/peterc/bitarray/blob/master/test/test_bitarray.rb should be ported.)

License

MIT licensed. Copyight 2012 Thomas Fuchs, yada yada. Original library: Copyright 2007-2012 Peter Cooper, yada yada.