big_num_math 7.0.1

Unostentatious and internally banal library for computations on large numbers.
Documentation
#![feature(test)]

extern crate test;

mod pg {

    use big_num_math::{pg, PrimeGenErr, PrimeGenRes, PrimeGenStrain};
    use std::time::{Duration, Instant};
    use test::Bencher;

    #[bench]
    fn u64(b: &mut Bencher) {
        let num = || pg!(20_000, PrimeGenStrain::Nth, false, u64, None);
        b.iter(|| {
            assert_eq!(Ok(PrimeGenRes::Max(224_737)), num());
        });
    }

    #[bench]
    fn u32(b: &mut Bencher) {
        let num = || pg!(20_000, PrimeGenStrain::Nth, false, u32, None);
        b.iter(|| {
            assert_eq!(Ok(PrimeGenRes::Max(224_737)), num());
        });
    }
}

mod pg_sw {

    use big_num_math::{pg_sw, PrimeGenErr, PrimeGenRes, PrimeGenStrain};
    use std::time::{Duration, Instant};
    use test::Bencher;

    #[bench]
    fn u32(b: &mut Bencher) {
        let num = || pg_sw!(20_000, PrimeGenStrain::Nth, false, u32, None);
        b.iter(|| {
            assert_eq!(Ok(PrimeGenRes::Max(224_737)), num());
        });
    }

    #[bench]
    fn usize(b: &mut Bencher) {
        let num = || pg_sw!(20_000, PrimeGenStrain::Nth, false, usize, None);
        b.iter(|| {
            assert_eq!(Ok(PrimeGenRes::Max(224_737)), num());
        });
    }
}