hyperreal 0.9.1

Exact rational and computable real arithmetic in Rust
Documentation
use criterion::{Criterion, black_box, criterion_group, criterion_main};
use hyperreal::Rational;

fn bench_float_convert(c: &mut Criterion) {
    let mut group = c.benchmark_group("float_convert");

    group.bench_function("f32_normal", |b| {
        b.iter(|| black_box(Rational::try_from(black_box(1.23456789_f32)).unwrap()))
    });
    group.bench_function("f64_normal", |b| {
        b.iter(|| black_box(Rational::try_from(black_box(1.23456789_f64)).unwrap()))
    });
    group.bench_function("f64_binary_fraction", |b| {
        b.iter(|| black_box(Rational::try_from(black_box(0.75_f64)).unwrap()))
    });
    group.bench_function("f64_subnormal", |b| {
        b.iter(|| black_box(Rational::try_from(black_box(f64::from_bits(2))).unwrap()))
    });

    group.finish();
}

criterion_group!(benches, bench_float_convert);
criterion_main!(benches);