rustdct 0.7.1

Compute Discrete Cosine Transforms (DCT) of any size in O(nlogn) time, in pure Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use rustfft::num_complex::Complex;

#[allow(unused)]
pub fn into_complex<T>(buffer: &[T]) -> &[Complex<T>] {
    let complex_len = buffer.len() / 2;
    let ptr = buffer.as_ptr() as *const Complex<T>;
    unsafe { std::slice::from_raw_parts(ptr, complex_len) }
}

pub fn into_complex_mut<T>(buffer: &mut [T]) -> &mut [Complex<T>] {
    let complex_len = buffer.len() / 2;
    let ptr = buffer.as_mut_ptr() as *mut Complex<T>;
    unsafe { std::slice::from_raw_parts_mut(ptr, complex_len) }
}