1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
extern crate num_traits as num;
use num::Float;
mod transform;
pub mod wavelet;
use wavelet::Wavelet;
pub use transform::Transform;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Operation {
Forward,
Inverse,
}
#[inline(always)]
pub fn transform<T>(data: &mut [T], operation: Operation, wavelet: &Wavelet<T>, level: usize)
where T: Float
{
Transform::transform(data, operation, wavelet, level);
}