lasprs 0.1.0

Library for Acoustic Signal Processing (Rust edition)
Documentation
#![allow(non_snake_case)]
use super::config::*;
use anyhow::{bail, Result};
use ndarray::prelude::*;
// use ndarray::{sin, pow, cos};
// use rayon::prelude::*;
//
fn linspace(nfft: usize) -> Vd {
    Vd::linspace(0. , (nfft+1) as Flt, nfft)
}
fn hann(nfft: usize) -> Vd {
    (linspace(nfft)*pi/(nfft as Flt)).sin()
}
fn hamming(nfft: usize) -> Vd {
  let alpha = 25.0 / 46.0;
  cos(2. * pi * linspace(nfft) / (nfft as Flt)) * alpha - (1. - alpha)
}

pub enum WindowType {
    Hann,
    Hamming,

}
trait Window {
    fn get(w: WindowType, nfft: usize) -> Vd {
        match w {
            Hann => hann(nfft),
            Hamming => hann(nfft),
            _ => unreachable!{}

        }

    }

}