use crate::kernel::Float;
use crate::rdft::solvers::{
dst1 as r2r_dst1, dst2 as r2r_dst2, dst3 as r2r_dst3, dst4 as r2r_dst4,
};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub enum DstType {
I,
II,
III,
IV,
}
pub fn dst_i<T: Float>(input: &[T], output: &mut [T]) {
r2r_dst1(input, output);
}
pub fn dst_ii<T: Float>(input: &[T], output: &mut [T]) {
r2r_dst2(input, output);
}
pub fn dst_iii<T: Float>(input: &[T], output: &mut [T]) {
r2r_dst3(input, output);
}
pub fn dst_iv<T: Float>(input: &[T], output: &mut [T]) {
r2r_dst4(input, output);
}