bitalloc 0.0.1-proto

Allocation managing library based on bitmap. This library does not include bitmap library.
Documentation
extern crate bitalloc;
use bitalloc::Bitalloc;
fn main() {
    let mut array1 = [0u8; 1024];
    let mut array2 = [0u16; 512];
    let mut array3 = [0u32; 256];
    let mut array4 = [0u64; 128];
    let slice1 =&mut  array1;
    let slice2 =&mut  array2;
    let slice3 =&mut  array3;
    let slice4 =&mut  array4;
    for _ in 0..32 {
        let ret1 = slice1.alloc(64*2 + 13);
        let ret2 = slice2.alloc(64*2 + 13);
        let ret3 = slice3.alloc(64*2 + 13);
        let ret4 = slice4.alloc(64*2 + 13);
        assert!(ret1 == ret2 && ret2 == ret3 && ret3 == ret4);
    }
    for x in 4..12 {
        slice1.free((64*2 + 17) * x, 64 + 37);
        slice2.free((64*2 + 17) * x, 64 + 37);
        slice3.free((64*2 + 17) * x, 64 + 37);
        slice4.free((64*2 + 17) * x, 64 + 37);
    }
    for _ in 0..32 {
        let ret1 = slice1.alloc(64*2 + 13);
        let ret2 = slice2.alloc(64*2 + 13);
        let ret3 = slice3.alloc(64*2 + 13);
        let ret4 = slice4.alloc(64*2 + 13);
        assert!(ret1 == ret2 && ret2 == ret3 && ret3 == ret4);
    }
    println!("Finished");
}