#[derive(Debug, Clone, Default, PartialEq)]
pub struct NetworkStats {
pub total_neurons: u16,
pub total_synapses: u32,
pub total_spikes: u64,
pub plasticity_events: u64,
pub stdp_pairs_same_step: u64,
pub stdp_pairs_post_leads: u64,
pub stdp_pairs_pre_leads: u64,
pub avg_membrane_potential_mv: f64,
pub firing_rate_hz: f64,
}
impl NetworkStats {
pub(crate) fn new(neuron_count: u16) -> Self {
Self {
total_neurons: neuron_count,
total_synapses: 0,
total_spikes: 0,
plasticity_events: 0,
stdp_pairs_same_step: 0,
stdp_pairs_post_leads: 0,
stdp_pairs_pre_leads: 0,
avg_membrane_potential_mv: -70.0,
firing_rate_hz: 0.0,
}
}
}