Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

bitflags

Small library for working with an arbitrarily large array of booleans

Install

npm

npm install bitflags

API

var bitflags = require('bitflags');
var flags = bitflags(1000000); //Creates a million boolean flags

get

Gets the bool at offset

flags.get(n) //returns true or false

set

Sets a bit at offset to bool

flags.set(n,0) //sets to false
flags.set(n,1) //sets to true
flags.set(n,'truthy') //sets to true

on

Sets the bit at offset to true

flags.on(n)

off

Sets the bit at offset to false

flags.off(n)

flip

Flip and returns the value of a single bit at offset

flags.flip(n)

fill

Reset to all 1's

flags.fill()

clear

Reset to all 0's

flags.clear()

size

Return exact size in bits note: may be larger than size specified in constructor, due to storage in octets

flags.size()

Example

Sets a flag for each prime in the first 2000000 integers, using Sieve of Eratosthenes, returns a function to test for primes:

var getSieveOfEratosthenes = function() {
	var size = 2000000;
	var bits = bitflags(size);
	bits.fill();
	bits.set(0,0);
	var lim = Math.ceil(Math.sqrt(size));
	for(var i=2;i<=lim;i++) {
		if(bits.get(i)){
			for(var j=i*i;j<=size;j+=i) {
				bits.set(j,0);
			}
		}
	};

	return function(n){ return bits.get(n); };
};

About

Small library for working with an arbitrarily large array of booleans

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.