bloom.py:
    Demonstrates the implementation of a "Bloom filter", see:
    http://en.wikipedia.org/wiki/Bloom_filter


gene.py:
    shows how gene sequences (ATGC) can be very easily and efficiently
    represented by bitarrays.


growth/
    Things to study the bitarray growth pattern, including tests for the
    current implementation.


huffman/
    Directory containing a library and examples for working with Huffman
    trees and codes.


mandel.py
    Generates a .ppm image file of size 4000 x 3000 of the Mandelbrot set.
    Despite its size, the output image file has only a size of slightly
    over 1.5 Million bytes (uncompressed) because each pixel is stored in
    one bit.
    Requires: numba


ndarray.py
    Demonstrates how to efficiently convert boolean data from a bitarray
    to a numpy.ndarray of dtype bool.
    Requires: numpy


pbm.py
    Defines a simple class called PBM (Portable Bit Map) which allows:
    - addressing pixels by their coordinates
    - storing and loading .ppm (P4), which is the same as .pbm, files


sieve.py
    Demonstrates the "Sieve of Eratosthenes" algorithm for finding all prime
    numbers up to a specified integer.


smallints.py
    A class is defined which allows efficiently storing an array of
    integers represented by a specified number of bits (1 through 8).
    For example, an array with 1000 5 bit integers can be created,
    allowing each element in the array to take values form 0 to 31,
    while the size of the object is 625 (5000/8) bytes.
