#[allow(clippy::struct_excessive_bools)]
#[derive(Clone, Debug, Eq, PartialEq, Hash)]
pub struct CacheConfig {
pub number_of_atoms: bool,
pub number_of_nodes: bool,
pub formula_depth: bool,
pub variables: bool,
pub literals: bool,
pub sub_nodes: bool,
pub cc_encoding: bool,
pub pbc_encoding: bool,
pub nnf: bool,
pub dnf: bool,
pub sat: bool,
pub factorization_cnf: bool,
pub is_nnf: bool,
pub is_cnf: bool,
pub is_dnf: bool,
pub contains_pbc: bool,
pub backbone_simps: bool,
}
impl CacheConfig {
pub const fn all_disabled() -> Self {
Self {
number_of_atoms: false,
number_of_nodes: false,
formula_depth: false,
variables: false,
literals: false,
sub_nodes: false,
cc_encoding: false,
pbc_encoding: false,
nnf: false,
dnf: false,
sat: false,
is_nnf: false,
is_cnf: false,
is_dnf: false,
contains_pbc: false,
factorization_cnf: false,
backbone_simps: false,
}
}
}
impl Default for CacheConfig {
fn default() -> Self {
Self {
number_of_atoms: true,
number_of_nodes: true,
formula_depth: true,
variables: true,
literals: true,
sub_nodes: true,
cc_encoding: true,
pbc_encoding: true,
nnf: true,
dnf: true,
sat: false,
is_nnf: true,
is_cnf: true,
is_dnf: true,
contains_pbc: true,
factorization_cnf: true,
backbone_simps: true,
}
}
}