libslide 0.0.1

Library for slide, a static expression optimizer.
Documentation
#[macro_use]
extern crate criterion;
extern crate libslide;

use criterion::{black_box, Criterion};
use libslide::{_binary_gcd, _euclidean_gcd};

const INPUT: [(usize, usize); 3] = [
    (288_481, 22_783),
    (939_841_321, 28_847_717),
    (48_812, 284_829),
];

fn bench_binary_gcd(c: &mut Criterion) {
    c.bench_function("binary_gcd", |b| {
        b.iter(|| {
            for (u, v) in INPUT.iter() {
                _binary_gcd(black_box(*u), black_box(*v));
            }
        })
    });
}

fn bench_euclidean_gcd(c: &mut Criterion) {
    c.bench_function("euclidean_gcd", |b| {
        b.iter(|| {
            for (u, v) in INPUT.iter() {
                _euclidean_gcd(black_box(*u), black_box(*v));
            }
        })
    });
}

criterion_group!(gcd_benches, bench_binary_gcd, bench_euclidean_gcd);
criterion_main!(gcd_benches);