intspan 0.1.0

`IntSpan` handles of sets containing integer spans
Documentation
use intspan;
use intspan::IntSpan;
use std::env;
use std::time::Instant;

fn run_benchmark() {
    for step in 2..7 {
        println!("step {}", step);
        let start = Instant::now();

        test_add_range(step);

        let elapsed = start.elapsed();
        println!(
            "duration: {} s",
            (elapsed.as_nanos() as f64) / 1000.0 / 1000.0 / 1000.0
        );
    }

    fn test_add_range(step: i32) {
        let vec1 = vec![
            1, 30, 32, 149, 153, 155, 159, 247, 250, 250, 253, 464, 516, 518, 520, 523, 582, 585,
            595, 600, 622, 1679,
        ];
        let vec2 = vec![100, 1_000_000];

        for _i in 1..50001 {
            let mut set = IntSpan::new();

            if step >= 2 {
                set.add_range(&vec1);
            }
            if step >= 3 {
                set.add_range(&vec2);
            }
            if step >= 4 {
                set.to_string();
            }
            if step >= 5 {
                for j in 1..201 {
                    set.add_pair(j, j);
                }
            }
            if step >= 6 {
                for j in 1..201 {
                    set.add_pair(j * 5, j * 10);
                }
            }
        }
    }
}

fn main() {
    let args: Vec<String> = env::args().collect();
    println!("{:?}", args);

    run_benchmark();
}