pub struct FilterSite { /* private fields */ }Expand description
A call site, not a channel: one site carries as many lanes as its widest argument has components, so widening a signal never multiplies the call sites an author writes.
Implementations§
Source§impl FilterSite
impl FilterSite
pub fn new( shape: Shape, width: usize, cutoff: &[f64], q: &[f64], gain_db: &[f64], sr: f64, ) -> FilterSite
Sourcepub fn process(
&mut self,
x: &[f64],
cutoff: &[f64],
q: &[f64],
gain_db: &[f64],
out: &mut [f64],
sr: f64,
i: i64,
)
pub fn process( &mut self, x: &[f64], cutoff: &[f64], q: &[f64], gain_db: &[f64], out: &mut [f64], sr: f64, i: i64, )
Coefficients are redesigned only when a parameter actually moved, so a static filter costs five multiplies a sample and a modulated one pays the trig it asked for.
Sourcepub fn lanes(&self) -> impl Iterator<Item = (&Coeffs, [f64; 4])>
pub fn lanes(&self) -> impl Iterator<Item = (&Coeffs, [f64; 4])>
Each lane’s coefficients and its past, (x1, x2, y1, y2).
Sourcepub fn bytes(&self) -> usize
pub fn bytes(&self) -> usize
A stream reads no trace, so each block drops the last one’s and keeps the room. What one copy of this site holds.
pub fn forget_frames(&mut self)
pub fn trace(&self, node: &str, site: usize, sr: f64) -> Vec<FilterTrace>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FilterSite
impl RefUnwindSafe for FilterSite
impl Send for FilterSite
impl Sync for FilterSite
impl Unpin for FilterSite
impl UnsafeUnpin for FilterSite
impl UnwindSafe for FilterSite
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