BiquadRepr

Enum BiquadRepr 

Source
pub enum BiquadRepr<T, C = T, Y = T>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,
{ Ba(Ba<T>), Raw(BiquadClamp<C, Y>), Pid(Pid<T>), Filter(FilterRepr<T>), }
Expand description

Representation of Biquad

miniconf::Tree can be used like this:

use miniconf::{Tree, str_leaf};
#[derive(Tree)]
struct Foo {
    #[tree(typ="&str", with=str_leaf, defer=self.repr)]
    typ: (),
    repr: idsp::iir::repr::BiquadRepr<f32>,
}

Variants§

§

Ba(Ba<T>)

Normalized SI unit coefficients

§

Raw(BiquadClamp<C, Y>)

Raw, unscaled, possibly fixed point machine unit coefficients

§

Pid(Pid<T>)

A PID

§

Filter(FilterRepr<T>)

Standard biquad filters: Notch, Lowpass, Highpass, Shelf etc

Implementations§

Source§

impl<T, C, Y> BiquadRepr<T, C, Y>
where BiquadClamp<C, Y>: Default + Clone, Y: 'static + Copy, T: 'static + Float + FloatConst + Default + AsPrimitive<Y>, f32: AsPrimitive<T>, Pid<T>: Build<BiquadClamp<C, Y>, Context = Units<T>>, [[T; 3]; 2]: Into<BiquadClamp<C, Y>>,

Source

pub fn build(&self, units: &Units<T>) -> BiquadClamp<C, Y>

Build a biquad

Trait Implementations§

Source§

impl<T, C, Y> AsRef<str> for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Clone, C: Clone, Y: Clone> Clone for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn clone(&self) -> BiquadRepr<T, C, Y>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T: Debug, C: Debug, Y: Debug> Debug for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<T, C, Y> Default for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'_derivative_strum, T, C, Y> From<&'_derivative_strum BiquadRepr<T, C, Y>> for &'static str
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn from(x: &'_derivative_strum BiquadRepr<T, C, Y>) -> &'static str

Converts to this type from the input type.
Source§

impl<'_enum, T, C, Y> From<&'_enum BiquadRepr<T, C, Y>> for BiquadReprDiscriminants
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn from(val: &'_enum BiquadRepr<T, C, Y>) -> BiquadReprDiscriminants

Converts to this type from the input type.
Source§

impl<T, C, Y> From<BiquadRepr<T, C, Y>> for &'static str
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn from(x: BiquadRepr<T, C, Y>) -> &'static str

Converts to this type from the input type.
Source§

impl<T, C, Y> From<BiquadRepr<T, C, Y>> for BiquadReprDiscriminants
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

fn from(val: BiquadRepr<T, C, Y>) -> BiquadReprDiscriminants

Converts to this type from the input type.
Source§

impl<T, C, Y> FromStr for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<BiquadRepr<T, C, Y>, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl<T, C, Y> IntoDiscriminant for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

type Discriminant = BiquadReprDiscriminants

Enum listing the same variants as this enum but without any data fields
Source§

fn discriminant(&self) -> Self::Discriminant

Source§

impl<T, C, Y> TreeAny for BiquadRepr<T, C, Y>
where Ba<T>: Default + TreeAny, Pid<T>: Default + TreeAny, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default + TreeAny, C: Any, Y: Any,

Source§

fn ref_any_by_key(&self, keys: impl Keys) -> Result<&dyn Any, ValueError>

Obtain a reference to a dyn Any trait object for a leaf node.
Source§

fn mut_any_by_key( &mut self, keys: impl Keys, ) -> Result<&mut dyn Any, ValueError>

Obtain a mutable reference to a dyn Any trait object for a leaf node.
§

fn ref_by_key<T>(&self, keys: impl IntoKeys) -> Result<&T, ValueError>
where T: Any,

Obtain a reference to a leaf of known type by key.
§

fn mut_by_key<T>(&mut self, keys: impl IntoKeys) -> Result<&mut T, ValueError>
where T: Any,

Obtain a mutable reference to a leaf of known type by key.
Source§

impl<'de, T, C, Y> TreeDeserialize<'de> for BiquadRepr<T, C, Y>
where Ba<T>: Default + TreeDeserialize<'de>, Pid<T>: Default + TreeDeserialize<'de>, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default + TreeDeserialize<'de>, C: DeserializeOwned, Y: DeserializeOwned,

Source§

fn deserialize_by_key<D: Deserializer<'de>>( &mut self, keys: impl Keys, de: D, ) -> Result<(), SerdeError<D::Error>>

Deserialize a leaf node by its keys. Read more
Source§

fn probe_by_key<D: Deserializer<'de>>( keys: impl Keys, de: D, ) -> Result<(), SerdeError<D::Error>>

Blind deserialize a leaf node by its keys. Read more
Source§

impl<T, C, Y> TreeSchema for BiquadRepr<T, C, Y>
where Ba<T>: Default + TreeSchema, Pid<T>: Default + TreeSchema, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default + TreeSchema,

Source§

const SCHEMA: &'static Schema

Schema for this tree level
§

fn nodes<N, const D: usize>() -> ExactSize<NodeIter<N, D>>

Return an exact size iterator of all leaf nodes Read more
Source§

impl<T, C, Y> TreeSerialize for BiquadRepr<T, C, Y>
where Ba<T>: Default + TreeSerialize, Pid<T>: Default + TreeSerialize, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default + TreeSerialize, C: Serialize, Y: Serialize,

Source§

fn serialize_by_key<S: Serializer>( &self, keys: impl Keys, ser: S, ) -> Result<S::Ok, SerdeError<S::Error>>

Serialize a node by keys. Read more
Source§

impl<T, C, Y> TryFrom<&str> for BiquadRepr<T, C, Y>
where Ba<T>: Default, Pid<T>: Default, BiquadClamp<C, Y>: Default, FilterRepr<T>: Default,

Source§

type Error = ParseError

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

fn try_from( s: &str, ) -> Result<BiquadRepr<T, C, Y>, <Self as TryFrom<&str>>::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl<T, C, Y> Freeze for BiquadRepr<T, C, Y>
where FilterRepr<T>: Sized, BiquadClamp<C, Y>: Sized, Pid<T>: Sized, Ba<T>: Sized, T: Freeze, Y: Freeze, C: Freeze,

§

impl<T, C, Y> RefUnwindSafe for BiquadRepr<T, C, Y>

§

impl<T, C, Y> Send for BiquadRepr<T, C, Y>
where FilterRepr<T>: Sized, BiquadClamp<C, Y>: Sized, Pid<T>: Sized, Ba<T>: Sized, T: Send, Y: Send, C: Send,

§

impl<T, C, Y> Sync for BiquadRepr<T, C, Y>
where FilterRepr<T>: Sized, BiquadClamp<C, Y>: Sized, Pid<T>: Sized, Ba<T>: Sized, T: Sync, Y: Sync, C: Sync,

§

impl<T, C, Y> Unpin for BiquadRepr<T, C, Y>
where FilterRepr<T>: Sized, BiquadClamp<C, Y>: Sized, Pid<T>: Sized, Ba<T>: Sized, T: Unpin, Y: Unpin, C: Unpin,

§

impl<T, C, Y> UnwindSafe for BiquadRepr<T, C, Y>
where FilterRepr<T>: Sized, BiquadClamp<C, Y>: Sized, Pid<T>: Sized, Ba<T>: Sized, T: UnwindSafe, Y: UnwindSafe, C: UnwindSafe,

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
§

impl<T> TreeDeserializeOwned for T
where T: for<'de> TreeDeserialize<'de>,