fixture3-ddmin 0.1.1

Sequential DDMin reducer for ordered candidate lists
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use fixture3_ddmin::{DdminInput, DdminOptions, OracleOutcome, ddmin};

fn main() {
    let input = DdminInput::new(vec![1_u8, 2, 3, 4], DdminOptions::default());
    let mut oracle = |remaining: &[u8]| {
        if remaining.contains(&2) && remaining.contains(&4) {
            OracleOutcome::Interesting
        } else {
            OracleOutcome::NotInteresting
        }
    };

    let output = ddmin(input, &mut oracle);
    assert_eq!(output.remaining(), &[2, 4], "DDMin should keep the required values");
    assert_eq!(output.removed(), &[1, 3], "DDMin should remove the irrelevant values");
}