pub mod d_type_ilc;
pub mod norm_optimal_ilc;
pub mod p_type_ilc;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum IlcError {
TrialLengthMismatch,
InvalidGain,
NotConverged,
}
impl core::fmt::Display for IlcError {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
IlcError::TrialLengthMismatch => {
write!(f, "IlcError: trial length mismatch")
}
IlcError::InvalidGain => {
write!(
f,
"IlcError: invalid gain or parameter (zero/negative/non-finite)"
)
}
IlcError::NotConverged => {
write!(f, "IlcError: feedforward diverged (non-finite value)")
}
}
}
}
pub use d_type_ilc::DTypeIlc;
pub use norm_optimal_ilc::NormOptimalIlc;
pub use p_type_ilc::PTypeIlc;