AUDIO
Source snapshot · 12 October 2026

API reference / ravet_signal::PreparedImpulseResponse

Struct PreparedImpulseResponse 

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

pub fn channels(&self) -> usize

Prepared channel count.

pub fn frames(&self) -> usize

Prepared frames (taps) per channel.

pub fn channel(&self, channel: usize) -> Option<&[f64]>

One prepared channel’s taps.

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>

Build a ConvolutionBank64 from all channels (CONTROL, allocates).

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>

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>

Build one Convolver32 for channel with explicit f32 rounding.

pub fn into_parts(self) -> (Vec<f64>, usize, usize, ImpulseResponseReport)

Consume into (planar samples, channels, frames, report).

Trait Implementations§

§

impl Clone for PreparedImpulseResponse

§

fn clone(&self) -> PreparedImpulseResponse

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · §

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

Performs copy-assignment from source. Read more
§

impl Debug for PreparedImpulseResponse

§

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

Formats the value using the given formatter. Read more
§

impl PartialEq for PreparedImpulseResponse

§

fn eq(&self, other: &PreparedImpulseResponse) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · §

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
§

impl StructuralPartialEq for PreparedImpulseResponse

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

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

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

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.