Struct ndrustfft::DctHandler [−][src]
pub struct DctHandler<T> { /* fields omitted */ }Expand description
n-dimensional real-to-real Cosine Transform (DCT-I).
The dct transforms a real ndarray of size n to a real array of size n. The transformation is performed along a single axis, all other array dimensions are unaffected. Performs best on sizes where 2(n-1) is a mutiple of 2 or 3. The crate contains benchmarks, see benches folder, where different sizes can be tested to optmize performance.
The accompanying functions are nddct1 (serial) and
nddct1_par (parallel).
Example
2-Dimensional real-to-real dft along second axis
use ndarray::{Array, Dim, Ix}; use ndrustfft::{DctHandler, nddct1}; let (nx, ny) = (6, 4); let mut data = Array::<f64, Dim<[Ix; 2]>>::zeros((nx, ny)); let mut vhat = Array::<f64, Dim<[Ix; 2]>>::zeros((nx, ny)); for (i, v) in data.iter_mut().enumerate() { *v = i as f64; } let mut handler: DctHandler<f64> = DctHandler::new(ny); nddct1( &mut data.view_mut(), &mut vhat.view_mut(), &mut handler, 1, );
Implementations
Auto Trait Implementations
impl<T> !RefUnwindSafe for DctHandler<T>impl<T> Send for DctHandler<T> where
T: Send, impl<T> Sync for DctHandler<T> where
T: Sync, impl<T> Unpin for DctHandler<T> where
T: Unpin, impl<T> !UnwindSafe for DctHandler<T>