halton 0.2.1

A module for generating Halton sequences
Documentation
#![feature(test)]

extern crate halton;
extern crate test;

#[bench]
fn bench_number_base_two(b: &mut test::Bencher) {
    let mut i = 0;
    b.iter(|| {
        let res = halton::number(2, i);
        i += 1;
        res
    })
}

#[bench]
fn bench_sequence_base_two(b: &mut test::Bencher) {
    let mut seq = halton::Sequence::new(2);
    b.iter(|| seq.next())
}

#[bench]
fn bench_number_base_seventeen(b: &mut test::Bencher) {
    let mut i = 0;
    b.iter(|| {
        let res = halton::number(17, i);
        i += 1;
        res
    })
}

#[bench]
fn bench_sequence_base_seventeen(b: &mut test::Bencher) {
    let mut seq = halton::Sequence::new(17);
    b.iter(|| seq.next())
}

#[bench]
fn bench_number_one_million_base_two(b: &mut test::Bencher) {
    b.iter(|| {
        let mut res = 0.0;
        for i in 0..1_000_000 {
            res = halton::number(2, i);
        }
        res
    })
}

#[bench]
fn bench_sequence_one_million_base_two(b: &mut test::Bencher) {
    b.iter(|| {
        let mut res = 0.0;
        for i in halton::Sequence::new(2).take(1_000_000) {
            res = i;
        }
        res
    })
}

#[bench]
fn bench_number_one_million_base_seventeen(b: &mut test::Bencher) {
    b.iter(|| {
        let mut res = 0.0;
        for i in 0..1_000_000 {
            res = halton::number(17, i);
        }
        res
    })
}

#[bench]
fn bench_sequence_one_million_base_seventeen(b: &mut test::Bencher) {
    b.iter(|| {
        let mut res = 0.0;
        for i in halton::Sequence::new(17).take(1_000_000) {
            res = i;
        }
        res
    })
}