discrete 0.6.0

Combinatorial phantom types for discrete mathematics
Documentation
extern crate discrete;

use discrete::*;

fn main() {
    let s: Pair<Of<PowerSet<Of<Permutation>>>> = Construct::new();
    let dim: BigUint = 2usize.into();

    let dim = dim.pow(1);
    let count = s.count(&dim);

    let mut i: BigUint = count.clone() - 1usize;
    let mut pos = s.zero(&dim);
    let mut j = 0;
    let z: BigUint = 0usize.into();
    while i >= z {
        if j > 3 {break};

        s.to_pos(&dim, i.clone(), &mut pos);
        println!("{}: {:?}", i, pos);
        
        i -= 1usize;
        j += 1;
    }

    println!("{}", count);
}