Skip to main content

problemreductions/rules/
ksatisfiability_casts.rs

1//! Variant reductions for KSatisfiability.
2
3use crate::impl_variant_reduction;
4use crate::models::formula::KSatisfiability;
5use crate::variant::{K2, K3, KN};
6
7impl_variant_reduction!(
8    KSatisfiability,
9    <K2> => <KN>,
10    fields: [num_vars, num_clauses, num_literals],
11    aggregate: identity,
12    |src| KSatisfiability::new_allow_less(src.num_vars(), src.clauses().to_vec())
13);
14
15impl_variant_reduction!(
16    KSatisfiability,
17    <K3> => <KN>,
18    fields: [num_vars, num_clauses, num_literals],
19    aggregate: identity,
20    |src| KSatisfiability::new_allow_less(src.num_vars(), src.clauses().to_vec())
21);