Enum basic_dsp_vector::ErrorReason
[−]
[src]
pub enum ErrorReason {
InputMustHaveTheSameSize,
InputMetaDataMustAgree,
InputMustBeComplex,
InputMustBeReal,
InputMustBeInTimeDomain,
InputMustBeInFrequencyDomain,
InvalidArgumentLength,
InputMustBeConjSymmetric,
InputMustHaveAnOddLength,
ArgumentFunctionMustBeSymmetric,
InvalidNumberOfArgumentsForCombinedOp,
InputMustNotBeEmpty,
InputMustHaveAnEvenLength,
TypeCanNotResize,
}Enumeration of all error reasons
Variants
InputMustHaveTheSameSizeThe operations requires all inputs to have the same size,
in most cases this means that the following must be true:
self.len() == argument.len()
InputMetaDataMustAgreeThe 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.
InputMustBeComplexThe operation requires the input to be complex.
InputMustBeRealThe operation requires the input to be real.
InputMustBeInTimeDomainThe operation requires the input to be in time domain.
InputMustBeInFrequencyDomainThe operation requires the input to be in frequency domain.
InvalidArgumentLengthThe 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.
InputMustBeConjSymmetricThe 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.
InputMustHaveAnOddLengthself.points() must be an odd number.
ArgumentFunctionMustBeSymmetricThe function passed as argument must be symmetric
InvalidNumberOfArgumentsForCombinedOpThe number of arguments passed into a combined operation methods doesn't match
with the number of arguments specified previously via the add_op methods.
InputMustNotBeEmptyThe operation isn't specified for an empty vector.
InputMustHaveAnEvenLengthGiven input must have an even length.
TypeCanNotResizeThe arguments would require that the type allocates larger memory. But the type can't do that.
Trait Implementations
impl Copy for ErrorReason[src]
impl Clone for ErrorReason[src]
fn clone(&self) -> ErrorReason
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl PartialEq for ErrorReason[src]
fn eq(&self, __arg_0: &ErrorReason) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool1.0.0
This method tests for !=.