BitField

This C extension wraps boost::dynamic_bitset and makes it available as a native Ruby class. The bitset behaves like an an array allowing only values of 0 and 1. Using this extension is easy:

b = BitField.new 10 # Initializes BitField with size 10
puts b              # Prints '0000000000' where the last bit is b[0]
b[0..3] = Array.new(4) {1}  # Sets bits 0 to 3 to 1

Note that in contrast to the Ruby Array behaviour the BitField does not automatically grow in size.

Licence

Copyright© 2011 Fabian Becker, released under 2-clause BSD licence.