Enum basic_dsp_vector::ErrorReason
source · pub enum ErrorReason {
Show 14 variants
InputMustHaveTheSameSize,
InputMetaDataMustAgree,
InputMustBeComplex,
InputMustBeReal,
InputMustBeInTimeDomain,
InputMustBeInFrequencyDomain,
InvalidArgumentLength,
InputMustBeConjSymmetric,
InputMustHaveAnOddLength,
ArgumentFunctionMustBeSymmetric,
InvalidNumberOfArgumentsForCombinedOp,
InputMustNotBeEmpty,
InputMustHaveAnEvenLength,
TypeCanNotResize,
}
Expand description
Enumeration of all error reasons
Variants§
InputMustHaveTheSameSize
The operations requires all inputs to have the same size,
in most cases this means that the following must be true:
self.len()
== argument.len()
InputMetaDataMustAgree
The operations requires all inputs to have the same meta data.
For a vector this means that the following must be true:
self.is_complex()
== argument.is_complex()
&&
self.domain()
== argument.domain()
&&
self.delta()
== argument.domain()
;
Consider to convert one of the inputs so that this condition is true.
The necessary operations may include FFT/IFFT, complex/real conversion and resampling.
InputMustBeComplex
The operation requires the input to be complex.
InputMustBeReal
The operation requires the input to be real.
InputMustBeInTimeDomain
The operation requires the input to be in time domain.
InputMustBeInFrequencyDomain
The operation requires the input to be in frequency domain.
InvalidArgumentLength
The arguments have an invalid length to perform the operation. The operations documentation should have more information about the requirements. Please open a defect if this isn’t the case.
InputMustBeConjSymmetric
The operations is only valid if the data input contains half of a symmetric spectrum.
The symmetry definition follows soon however more important is that the element at 0 Hz
which happens to be the first vector element must be real. The error message is raised
if this
is violated, the rest of the definition is only listed here for completeness snce it can’t
be checked.
The required symmetry for a vector is that for every point
vector[x].conj() == vector[-x]
(pseudocode)
where x
is the x-axis position relative to 0 Hz and conj
is the complex conjugate.
InputMustHaveAnOddLength
self.points()
must be an odd number.
ArgumentFunctionMustBeSymmetric
The function passed as argument must be symmetric
InvalidNumberOfArgumentsForCombinedOp
The number of arguments passed into a combined operation methods doesn’t match
with the number of arguments specified previously via the add_op
methods.
InputMustNotBeEmpty
The operation isn’t specified for an empty vector.
InputMustHaveAnEvenLength
Given input must have an even length.
TypeCanNotResize
The arguments would require that the type allocates larger memory. But the type can’t do that.
Trait Implementations§
source§impl Clone for ErrorReason
impl Clone for ErrorReason
source§fn clone(&self) -> ErrorReason
fn clone(&self) -> ErrorReason
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ErrorReason
impl Debug for ErrorReason
source§impl PartialEq for ErrorReason
impl PartialEq for ErrorReason
source§fn eq(&self, other: &ErrorReason) -> bool
fn eq(&self, other: &ErrorReason) -> bool
self
and other
values to be equal, and is used
by ==
.