use crate::md::StateParameter;
use serde::{Deserialize, Serialize};
use typed_builder::TypedBuilder;
#[cfg(feature = "python")]
use pyo3::prelude::*;
#[derive(Copy, Clone, Debug, TypedBuilder, Serialize, Deserialize)]
#[cfg_attr(feature = "python", pyclass(from_py_object, get_all))]
pub struct StateDispersion {
pub param: StateParameter,
#[builder(default, setter(strip_option))]
pub mean: Option<f64>,
#[builder(default, setter(strip_option))]
pub std_dev: Option<f64>,
}
impl StateDispersion {
pub fn zero_mean(param: StateParameter, std_dev: f64) -> Self {
Self {
param,
std_dev: Some(std_dev),
mean: Some(0.0),
}
}
}