base95 0.1.1

Textual representation of base 95 fractional numbers with arbitrary precision
Documentation
use base95::Base95;
use rand::prelude::*;

fn main() {
    let mut v = vec![Base95::mid()];
    let mut rng = thread_rng();

    for _ in 0..1000 {
        let pos: usize = rng.gen_range(0..=v.len());
        if pos == 0 {
            v.insert(pos, Base95::avg_with_zero(&v[pos]));
        } else if pos == v.len() {
            v.insert(pos, Base95::avg_with_one(&v[pos - 1]));
        } else {
            v.insert(pos, Base95::avg(&v[pos - 1], &v[pos]));
        }
    }

    for n in &v {
        println!("{}", n.to_string());
    }
    println!("max len: {:?}", v.iter().map(|n| n.to_string().len()).max())
}