use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
#[serde(deny_unknown_fields)]
#[serde(default)]
#[allow(clippy::struct_excessive_bools)]
pub struct LoopConfig {
pub log_size: usize,
pub log_assoc: usize,
pub tag_bits: usize,
pub iter_bits: usize,
pub confidence_bits: usize,
pub age_bits: usize,
pub use_counter_bits: usize,
pub use_direction_bit: bool,
pub use_hashing: bool,
pub restrict_allocation: bool,
pub initial_iter: u16,
pub initial_age: u8,
pub optional_age_reset: bool,
pub long_loop_confidence: bool,
pub optional_age_increment: bool,
}
impl Default for LoopConfig {
fn default() -> Self {
Self {
log_size: 5,
log_assoc: 2,
tag_bits: 10,
iter_bits: 10,
confidence_bits: 4,
age_bits: 4,
use_counter_bits: 7,
use_direction_bit: true,
use_hashing: true,
restrict_allocation: true,
initial_iter: 0,
initial_age: 7,
optional_age_reset: false,
long_loop_confidence: true,
optional_age_increment: true,
}
}
}