pub enum Error {
BandsEmpty,
BandLimitsWrongOrder,
BandLimitsOutOfBounds,
BandsOverlap,
ProxyDerivativeZero,
EigenvaluesError(String),
InvalidResponse(InvalidResponse),
NotEnoughExtrema,
}Expand description
pm_remez error.
This enum represents all the errors that can be produced by pm_remez.
Variants§
BandsEmpty
The list of bands is empty.
BandLimitsWrongOrder
The begin of the band is greater than the end of the band.
BandLimitsOutOfBounds
The band limits are out of bounds.
BandsOverlap
The bands overlap.
ProxyDerivativeZero
The derivative of the Chebyshev proxy polynomial is zero.
This error can happen due to numerical errors, and it prevents the Remez exchange algorithm from continuing.
EigenvaluesError(String)
An error happened during the computation of eigenvalues.
Eigenvalues are computed to find the roots of the derivative of the Chebyshev proxy. This error is typically produced by LAPACK, and it can happen due to numerical errors. It prevents the Remez exchange algorithm from continuing.
InvalidResponse(InvalidResponse)
The desired response that was specified is invalid for this type of FIR filter.
NotEnoughExtrema
Not enough alternating extrema were found for Remez exchange.
This error is typically caused by numerical errors.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<InvalidResponse> for Error
impl From<InvalidResponse> for Error
Source§fn from(value: InvalidResponse) -> Error
fn from(value: InvalidResponse) -> Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.