use num::{Float, FloatConst};
pub struct Wavelet<T> {
pub length: usize,
pub offset: usize,
pub dec_lo: Vec<T>,
pub dec_hi: Vec<T>,
pub rec_lo: Vec<T>,
pub rec_hi: Vec<T>,
}
pub struct Haar;
impl Haar {
pub fn new<T>() -> Wavelet<T> where T: Float + FloatConst {
let value = T::FRAC_1_SQRT_2();
Wavelet {
length: 2,
offset: 0,
dec_lo: vec![value, value],
dec_hi: vec![value, -value],
rec_lo: vec![value, value],
rec_hi: vec![value, -value],
}
}
}