ravenlang 0.5.0

Language core for ravencheck.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
/// This is like cross-product, but missing some values. While
/// cross-product includes (A,A), (A,B), and (B,A), this only includes
/// (A,B) or (B,A).
pub fn unordered_cross<T: Clone>(mut vs: Vec<T>) -> Vec<(T,T)>
{
    let mut pairs = Vec::new();
    while let Some(v1) = vs.pop() {
        for v2 in &vs {
            pairs.push((v1.clone(),v2.clone()));
        }
    }
    pairs
}