Recommended to be only used with the CPU feature flags sse
or avx
.
A buffer which can be used by other types. Types will call buffers to create new arrays.
A buffer may can implement any buffering strategy.
A “slice-like” type which also allows to
Like
std::ops::Index
but with a different method name so that it can be used to implement an additional range
accessor for complex data.
Like
std::ops::IndexMut
but with a different method name so that it can be used to implement a additional range
accessor for complex data.
Trait for types containing complex data.
Operations on complex types.
Defines getters to get real data from complex types.
Defines setters to create complex data from real data.
Defines transformations from complex to real number space.
Defines transformations from complex to real number space.
Provides a convolution operations.
Provides a convolution operation for types which at some point are slice based.
This trait allows to transform an argument so that it can be used for cross correlation. Refer to the description of
CrossCorrelationOps
for more details.
A trait to calculate the diff (1st derivative in a discrete number space) or cumulative sum
(integral in a discrete number space).
Domain (time or frequency) information.
An operation which multiplies each vector element with a constant
Elementary algebra on types: addition, subtraction, multiplication and division
Elementary algebra on types where the argument might contain less data points than self
.
Like
std::ops::Index
but with a different method name so that it can be used to implement an additional range
accessor for float data.
Like
std::ops::IndexMut
but with a different method name so that it can be used to implement a additional range
accessor for float data.
Trait for types containing frequency domain data.
Defines all operations which are valid on DataVecs
containing frequency domain data.
Provides a frequency response multiplication operations.
Defines all operations which are valid on DataVecs
containing frequency domain data.
Retrieves the underlying storage from a vector.
Retrieves the underlying storage from a vector. Returned value will always hold floating point numbers.
Gets the meta data of a type. This can be used to create a new type with the same
meta data.
A trait to insert zeros into the data at some specified positions.
A trait to insert zeros into the data at some specified positions. A buffer is used
for types which can’t be resized and/or to speed up the calculation.
Conversion from two instances of a generic data type into a dsp vector with complex data.
Provides interpolation operations for real and complex data vectors.
Operations which allow to iterate over the vector and to derive results.
Operations which allow to iterate over the vector and to derive results
or to change the vector.
Merges several pieces of equal size into one data chunk.
A trait which provides information about number space and domain.
Operations on real types.
Number space (real or complex) information.
An operation which adds a constant to each vector element
Expresses at compile time that two classes could potentially represent the same number space or domain.
Roots, powers, exponentials and logarithms.
An operation which multiplies each vector element with a constant
Offers the same functionality as the StatisticsOps
trait but
the statistics are calculated in a more precise (and slower) way.
Offers the same functionality as the StatisticsOps
trait but
the statistics are calculated in a more precise (and slower) way.
A trait for statistics which allows to add new values in a way so that the numerical
uncertainty has less impact on the final results.
Offers the same functionality as the SumOps
trait but
the sums are calculated in a more precise (and slower) way.
Provides interpolation operations which are only applicable for real data vectors.
Trait for types containing real data.
Operations on real types.
Defines transformations from real to complex number space.
Defines transformations from real to complex number space.
This trait allows to change a data type and performs the Conversion
without any checks. RededicateOps
provides the same functionality
but performs runtime checks to avoid that data is interpreted the wrong
way.
This trait allows to change a data type. The operations will
convert a type to a different one and set self.len()
to zero.
However self.allocated_len()
will remain unchanged. The use case for this
is to allow to reuse the memory of a vector for different operations.
This trait allows to change a data type. The operations will
convert a type to a different one and set self.len()
to zero.
However self.allocated_len()
will remain unchanged. The use case for this
is to allow to reuse the memory of a vector for different operations.
This trait allows to reorganize the data by changing positions of the individual elements.
A trait for storage types which are known to have the capability to increase their capacity.
Operations to resize a data type.
Operations to resize a data type.
An operation which multiplies each vector element with a constant
Splits the data into several smaller pieces of equal size.
This trait offers operations to calculate statistics about the data in a type.
This trait offers operations to calculate statistics about the data in a type.
Operations on statistics.
Offers operations to calculate the sum or the sum of squares.
Defines all operations which are valid on DataVecs
containing frequency domain data and
the data is assumed to half of complex conjugate symmetric spectrum round 0 Hz where
the 0 Hz element itself is real.
Defines all operations which are valid on DataVecs
containing real time domain data.
Trait for types containing time domain data.
Defines all operations which are valid on DataVecs
containing time domain data.
Defines all operations which are valid on DataVecs
containing time domain data.
Specifies what the the result is if a type is transformed to complex numbers.
Conversion from a generic data type into a dsp vector with complex data.
Conversion from a generic data type into a dsp vector with complex data.
Conversion from a generic data type into a dsp vector which tracks
its meta information (domain and number space)
only at runtime. See ToRealVector
and
ToComplexVector
for alternatives which track most of the meta data
with the type system and therefore avoid runtime errors.
Conversion from a generic data type into a dsp vector which tracks
its meta information (domain and number space)
only at runtime. See ToRealVector
and
ToComplexVector
for alternatives which track most of the meta data
with the type system and therefore avoid runtime errors.
Specifies what the the result is if a type is transformed to frequency domain.
Specifies what the the result is if a type is transformed to real numbers.
Specifies what the the result is if a type is transformed to real numbers in time domain.
Conversion from a generic data type into a dsp vector with real data.
Conversion from a generic data type into a dsp vector with real data.
A trait to convert a type into a slice.
A trait to convert a type into a mutable slice.
Specifies what the the result is if a type is transformed to time domain.
Trigonometry methods.
A trait for vector types.
A vector with complex numbers in frequency domain.
A vector with complex numbers in frequency domain.
A vector with complex numbers in frequency domain.
A vector with complex numbers in frequency domain.
A vector with complex numbers in frequency domain.
A vector with complex numbers in time domain.
A vector with complex numbers in time domain.
A vector with complex numbers in time domain.
A vector with complex numbers in time domain.
A vector with complex numbers in time domain.
A vector with no information about number space or domain at compile time.
A vector with no information about number space or domain at compile time.
A vector with no information about number space or domain at compile time.
A vector with no information about number space or domain at compile time.
A vector with no information about number space or domain at compile time.
A vector with real numbers in frequency domain.
A vector with real numbers in frequency domain.
A vector with real numbers in frequency domain.
A vector with real numbers in frequency domain.
A vector with real numbers in frequency domain.
A vector with real numbers in time domain.
A vector with real numbers in time domain.
A vector with real numbers in time domain.
A vector with real numbers in time domain.
A vector with real numbers in time domain.
Scalar result or a reason in case of an error.
Alias for a vector of any statistical information.
Result for operations which transform a type (most commonly the type is a vector).
On success the transformed type is returned.
On failure it contains an error reason and the original type with with invalid data
which still can be used in order to avoid memory allocation.
Void/nothing in case of success or a reason in case of an error.