pub enum ErrorReason {
InputMustHaveTheSameSize,
InputMetaDataMustAgree,
InputMustBeComplex,
InputMustBeReal,
InputMustBeInTimeDomain,
InputMustBeInFrequencyDomain,
InvalidArgumentLength,
InputMustBeConjSymmetric,
InputMustHaveAnOddLength,
ArgumentFunctionMustBeSymmetric,
InvalidNumberOfArgumentsForCombinedOp,
InputMustNotBeEmpty,
InputMustHaveAnEvenLength,
TypeCanNotResize,
}
Enumeration of all error reasons
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()
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.
The operation requires the input to be complex.
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.
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.
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.
self.points()
must be an odd number.
The function passed as argument must be symmetric
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.
The operation isn't specified for an empty vector.
Given input must have an even length.
The arguments would require that the type allocates larger memory. But the
type can't do that.
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static