Skip to main content

FrequencyLimit

Enum FrequencyLimit 

Source
pub enum FrequencyLimit {
    All,
    Min(NonNegF32),
    Max(NonNegF32),
    Range(NonNegF32, NonNegF32),
}
Expand description

Can be used to specify a desired frequency limit.

If you know that you only need frequencies f <= 1000Hz, 1000 <= f <= 6777, or 10000 <= f, then this can help you to accelerate overall computation speed and memory usage.

Please note that due to frequency inaccuracies the FFT result may not contain a value for 1000Hz but for 998.76Hz!

Variants§

§

All

Interested in all frequencies, including the DC component up to the Nyquist frequency. In other words, no limit at all.

§

Min(NonNegF32)

Lower bound: only interested in frequencies >= x. Limit is inclusive. Supported values are 0 <= x <= Nyquist-Frequency.

§

Max(NonNegF32)

Upper bound: only interested in frequencies <= x. Limit is inclusive. Supported values are 0 <= x <= Nyquist-Frequency.

§

Range(NonNegF32, NonNegF32)

Only interested in frequencies 1000 <= f <= 6777 for example. Both values are inclusive. The first value of the tuple is equivalent to FrequencyLimit::Min and the latter equivalent to FrequencyLimit::Max. Furthermore, the first value must not be bigger than the second value.

Implementations§

Source§

impl FrequencyLimit

Source

pub fn min(min: impl Into<NonNegF32>) -> Self

Creates a Self::Min limit.

§Panics

If min is negative or not finite.

Source

pub fn max(max: impl Into<NonNegF32>) -> Self

Creates a Self::Max limit.

§Panics

If max is negative or not finite.

Source

pub fn range(min: impl Into<NonNegF32>, max: impl Into<NonNegF32>) -> Self

Creates a Self::Range limit.

§Panics

If one of the values is negative or not finite or if min > max.

Source

pub const fn maybe_min(&self) -> Option<NonNegF32>

Returns the minimum value, if any.

Source

pub const fn maybe_max(&self) -> Option<NonNegF32>

Returns the maximum value, if any.

Source

pub fn verify( &self, max_detectable_frequency: f32, ) -> Result<(), FrequencyLimitError>

Verifies that the frequency limit has sane values and takes the maximum possible frequency into account.

Trait Implementations§

Source§

impl Clone for FrequencyLimit

Source§

fn clone(&self) -> FrequencyLimit

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for FrequencyLimit

Source§

impl Debug for FrequencyLimit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.