bitball v1.0.1
bitball
A simple, efficient, and easy-to-use Node.js module for working with individual bits.
npm i --save bitballDocumentation.
Example.
'use strict'
var bitball
var flagSet
bitball = require('bitball')
flagSet = new bitball.BitSet(18) // Defaults to 8 bits if a size isn't provided.
console.log('flagSet{0}: ' + ((flagSet.get(0) === true) ? '1' : '0'))
console.log('flagSet{17}: ' + ((flagSet.get(17) === true) ? '1' : '0'))
flagSet.set(17, true)
console.log('flagSet{17}: ' + ((flagSet.get(17) === true) ? '1' : '0'))
flagSet.flip(17)
console.log('flagSet{17}: ' + ((flagSet.get(17) === true) ? '1' : '0'))
// Take a look at the tests.API.
new bitball.BitSet(numberOfBits : Number = 8) -> bitball.BitSet
Constructs a new BitSet object to hold your fancy bits. Allocates as few bytes as possible. numberOfBits defaults to 8 bits.
bitball.BitSet.prototype.flip(bitIndex : Number, allowIndexOverflow : Boolean) -> undefined
Flips the bit at bitIndex.
The allowIndexOverflow boolean allows you to control what happens if bitIndex is bigger than the number of bits you specified during construction.
- If
allowIndexOverflowistrue, then.flip(...)will fail silently. - If
allowIndexOverflowisfalse, then an exception will be thrown.
bitball.BitSet.prototype.get(bitIndex : Number, dontThrow : Boolean) -> Boolean|null
Gets the value of the bit at bitIndex.
The dontThrow boolean allows you to control what happens if bitIndex is bigger than the number of bits you specified during construction.
- If
dontThrowistrue, then.get(...)will returnnull. - If
dontThrowisfalse, then an exception will be thrown.
bitball.BitSet.prototype.resize(numberOfBits : Number) -> undefined
Resizes the BitSet as necessary to make sure it can hold numberOfBits bits.
bitball.BitSet.prototype.set(bitIndex : Number, bitValue : Boolean, forceResize : Boolean) -> undefined
Sets the value of the bit at bitIndex to bitValue.
The forceResize boolean allows you to control what happens if bitIndex is bigger than the number of bits you specified during construction.
- If
forceResizeistrue, then.set(...)will call.resize(bitIndex + 1). - If
forceResizeisfalse, then an exception will be thrown.
bitball.BitSet.prototype.length -> Number
Returns the number of bits this BitSet object can hold (i.e., the biggest index + 1).
Tests.
npm testAuthor.
Jonathan Barronville [jonathan@belairlabs.com](mailto:jonathan@belairlabs.com)
License.
Copyright 2015 Jonathan Barronville <jonathan@belairlabs.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.