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::Array2; use ndrustfft::{DctHandler, nddct1}; let (nx, ny) = (6, 4); let mut data = Array2::<f64>::zeros((nx, ny)); let mut vhat = Array2::<f64>::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, &mut vhat, &mut handler, 1);
Implementations
Trait 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>
Blanket Implementations
Mutably borrows from an owned value. Read more