pub struct SplitStepF32 { /* private fields */ }Expand description
SplitStep in single precision: the field, the FFTs, the linear operator and the
nonlinear phase are computed in f32 (about twice as fast), with the same Steps
(a back-propagation included); the plans and their work space are cached per thread
as those of fft::plan.
The rounding error grows like ε √K with ε ≈ 6·10⁻⁸ and K the number of
steps: below 10⁻⁴ relative for thousands of steps.
Implementations§
Source§impl SplitStepF32
impl SplitStepF32
Sourcepub fn new(medium: &Medium, steps: Steps, n: usize, fs: f64) -> SplitStepF32
pub fn new(medium: &Medium, steps: Steps, n: usize, fs: f64) -> SplitStepF32
The steps through medium for a block of n samples at fs (no plan for an
empty block).
Sourcepub fn run(&self, e: &mut [C32])
pub fn run(&self, e: &mut [C32])
Propagate e through the steps, in place.
§Panics
If e has another length than the block of SplitStepF32::new.
Trait Implementations§
Source§impl Clone for SplitStepF32
impl Clone for SplitStepF32
Auto Trait Implementations§
impl !RefUnwindSafe for SplitStepF32
impl !UnwindSafe for SplitStepF32
impl Freeze for SplitStepF32
impl Send for SplitStepF32
impl Sync for SplitStepF32
impl Unpin for SplitStepF32
impl UnsafeUnpin for SplitStepF32
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