|
|
@ -41,6 +41,23 @@ fn parse_dimac(dimac: &str) {
|
|
41
|
41
|
println!("Error: Wrong number of clauses: Expected {}, but got {}", num_clauses, clause_lines.len());
|
|
42
|
42
|
return
|
|
43
|
43
|
}
|
|
|
44
|
|
|
|
45
|
let mut clauses: Vec<Vec<i32>> = Vec::with_capacity(num_clauses as usize);
|
|
|
46
|
for clause_line in clause_lines {
|
|
|
47
|
let mut vars: Vec<i32> = clause_line.split(" ").map(|x| x.parse::<i32>().unwrap()).collect();
|
|
|
48
|
if vars.is_empty() {
|
|
|
49
|
println!("Error: empty clause");
|
|
|
50
|
return
|
|
|
51
|
}
|
|
|
52
|
if vars[vars.len()-1] != 0 {
|
|
|
53
|
println!("Clause must be terminated with 0");
|
|
|
54
|
return
|
|
|
55
|
}
|
|
|
56
|
let l = vars.len();
|
|
|
57
|
vars.truncate(l - 1);
|
|
|
58
|
println!("{:?}", vars);
|
|
|
59
|
clauses.push(vars)
|
|
|
60
|
}
|
|
44
|
61
|
}
|
|
45
|
62
|
|
|
46
|
63
|
fn main() {
|