Skip to content

Add equilibrium-padded interpolator constructors#201

Open
orange-dot wants to merge 1 commit intoRustAudio:masterfrom
orange-dot:oss/dasp-121-equilibrium-padded-interpolators
Open

Add equilibrium-padded interpolator constructors#201
orange-dot wants to merge 1 commit intoRustAudio:masterfrom
orange-dot:oss/dasp-121-equilibrium-padded-interpolators

Conversation

@orange-dot
Copy link
Copy Markdown

Closes #121.

Summary

Adds equilibrium_padded constructors for Floor, Linear, and Sinc interpolators.

Floor and Linear initialize their interpolation history with Frame::EQUILIBRIUM. Sinc clears the supplied ring buffer to Frame::EQUILIBRIUM before use, preserving the existing Sinc::new behavior for callers that intentionally provide custom padding.

Validation

Ran formatting and workspace tests locally, including dasp_interpolate, dasp_signal, and cargo test --locked --workspace --all-targets.

Sonic smoke

A local startup-transient A/B render confirmed the behavior: dirty Sinc::new had peak 1.10 in the first 128 samples, while Sinc::equilibrium_padded had peak 0.0 and matched the zero-buffer baseline with max abs diff 0.0.

@orange-dot orange-dot marked this pull request as draft May 6, 2026 19:00
@orange-dot orange-dot marked this pull request as ready for review May 6, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a equilibrium_padded() constructor to each of the interpolators.

1 participant