pub enum BiquadRepr<T, C = T, Y = T>{
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>>,
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>>,
Sourcepub fn build(&self, units: &Units<T>) -> BiquadClamp<C, Y>
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>
impl<T, C, Y> AsRef<str> for BiquadRepr<T, C, Y>
Source§impl<T: Clone, C: Clone, Y: Clone> Clone for BiquadRepr<T, C, Y>
impl<T: Clone, C: Clone, Y: Clone> Clone for BiquadRepr<T, C, Y>
Source§fn clone(&self) -> BiquadRepr<T, C, Y>
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)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T, C, Y> Default for BiquadRepr<T, C, Y>
impl<T, C, Y> Default for BiquadRepr<T, C, Y>
Source§impl<'_derivative_strum, T, C, Y> From<&'_derivative_strum BiquadRepr<T, C, Y>> for &'static str
impl<'_derivative_strum, T, C, Y> From<&'_derivative_strum BiquadRepr<T, C, Y>> for &'static str
Source§fn from(x: &'_derivative_strum BiquadRepr<T, C, Y>) -> &'static str
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
impl<'_enum, T, C, Y> From<&'_enum BiquadRepr<T, C, Y>> for BiquadReprDiscriminants
Source§fn from(val: &'_enum BiquadRepr<T, C, Y>) -> BiquadReprDiscriminants
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
impl<T, C, Y> From<BiquadRepr<T, C, Y>> for &'static str
Source§fn from(x: BiquadRepr<T, C, Y>) -> &'static str
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
impl<T, C, Y> From<BiquadRepr<T, C, Y>> for BiquadReprDiscriminants
Source§fn from(val: BiquadRepr<T, C, Y>) -> BiquadReprDiscriminants
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>
impl<T, C, Y> FromStr for BiquadRepr<T, C, Y>
Source§impl<T, C, Y> IntoDiscriminant for BiquadRepr<T, C, Y>
impl<T, C, Y> IntoDiscriminant for BiquadRepr<T, C, Y>
Source§type Discriminant = BiquadReprDiscriminants
type Discriminant = BiquadReprDiscriminants
Enum listing the same variants as this enum but without any data fields
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,
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>
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>
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,
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,
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,
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>>
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>>
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,
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§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,
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>>
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>
impl<T, C, Y> TryFrom<&str> for BiquadRepr<T, C, Y>
Auto Trait Implementations§
impl<T, C, Y> Freeze for BiquadRepr<T, C, Y>
impl<T, C, Y> RefUnwindSafe for BiquadRepr<T, C, Y>where
FilterRepr<T>: Sized,
BiquadClamp<C, Y>: Sized,
Pid<T>: Sized,
Ba<T>: Sized,
T: RefUnwindSafe,
Y: RefUnwindSafe,
C: RefUnwindSafe,
impl<T, C, Y> Send for BiquadRepr<T, C, Y>
impl<T, C, Y> Sync for BiquadRepr<T, C, Y>
impl<T, C, Y> Unpin for BiquadRepr<T, C, Y>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more