Struct Prepared Impulse Response
pub struct PreparedImpulseResponse { /* private fields */ }Expand description
Owned prepared planar f64 response at the target engine rate plus its report.
Building engines or banks from it copies the samples into the engine’s own
storage on CONTROL; this value can then be dropped. Builder scratch (slice
tables and the f32 narrow copy) is reserved fallibly and reported as
ConvolutionPreparationError::Allocation; it is not counted in the engine
numeric budget.
Implementations§
§impl PreparedImpulseResponse
impl PreparedImpulseResponse
pub fn report(&self) -> &ImpulseResponseReport
pub fn report(&self) -> &ImpulseResponseReport
Recorded offsets, gains and levels.
pub fn bank64(
&self,
partitioning: ConvolutionPartitioning,
maximum_frames: usize,
maximum_numeric_bytes: usize,
) -> Result<ConvolutionBank64, ConvolutionPreparationError>
pub fn bank64( &self, partitioning: ConvolutionPartitioning, maximum_frames: usize, maximum_numeric_bytes: usize, ) -> Result<ConvolutionBank64, ConvolutionPreparationError>
Build a ConvolutionBank64 from all channels (CONTROL, allocates).
pub fn bank32(
&self,
partitioning: ConvolutionPartitioning,
maximum_frames: usize,
maximum_numeric_bytes: usize,
) -> Result<ConvolutionBank32, ConvolutionPreparationError>
pub fn bank32( &self, partitioning: ConvolutionPartitioning, maximum_frames: usize, maximum_numeric_bytes: usize, ) -> Result<ConvolutionBank32, ConvolutionPreparationError>
Build a ConvolutionBank32 after explicit round-to-nearest f64-to-f32
conversion of every tap. Values outside the f32 range become infinite and
the bank refuses them as an invalid response.
pub fn engine64(
&self,
channel: usize,
partitioning: ConvolutionPartitioning,
maximum_frames: usize,
maximum_numeric_bytes: usize,
) -> Result<Convolver64, ConvolutionPreparationError>
pub fn engine64( &self, channel: usize, partitioning: ConvolutionPartitioning, maximum_frames: usize, maximum_numeric_bytes: usize, ) -> Result<Convolver64, ConvolutionPreparationError>
Build one Convolver64 for channel. A missing channel is refused as
ConvolutionPreparationError::InvalidChannels.
pub fn engine32(
&self,
channel: usize,
partitioning: ConvolutionPartitioning,
maximum_frames: usize,
maximum_numeric_bytes: usize,
) -> Result<Convolver32, ConvolutionPreparationError>
pub fn engine32( &self, channel: usize, partitioning: ConvolutionPartitioning, maximum_frames: usize, maximum_numeric_bytes: usize, ) -> Result<Convolver32, ConvolutionPreparationError>
Build one Convolver32 for channel with explicit f32 rounding.
pub fn into_parts(self) -> (Vec<f64>, usize, usize, ImpulseResponseReport)
pub fn into_parts(self) -> (Vec<f64>, usize, usize, ImpulseResponseReport)
Consume into (planar samples, channels, frames, report).
Trait Implementations§
§impl Clone for PreparedImpulseResponse
impl Clone for PreparedImpulseResponse
§fn clone(&self) -> PreparedImpulseResponse
fn clone(&self) -> PreparedImpulseResponse
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more