use rustfft::Length;
mod mdct_naive;
mod mdct_via_dct4;
pub mod window_fn;
pub trait Mdct<T: DctNum>: RequiredScratch + Length + Sync + Send {
fn process_mdct_with_scratch(
&self,
input_a: &[T],
input_b: &[T],
output: &mut [T],
scratch: &mut [T],
);
fn process_imdct_with_scratch(
&self,
input: &[T],
output_a: &mut [T],
output_b: &mut [T],
scratch: &mut [T],
);
}
use crate::{DctNum, RequiredScratch};
pub use self::mdct_naive::MdctNaive;
pub use self::mdct_via_dct4::MdctViaDct4;