pub fn ifft(data: &[Complex64]) -> Option<Vec<Complex64>> {
    let order = power_of_2_geq_n(data.len());
    if order != data.len() {
        None
    } else {
        let scale_factor = 1.0 / (order as f64);
        Some(
            eval_polynomial(order, false, data, 0, 1)
                .iter()
                .map(|v: &Complex64| v.scale(scale_factor))
                .collect(),
        )
    }
}
/// Compute the inverse fourier transform of data
/// The order is data.len(), which must be a power of 2
/// If the order is not a power of 2, returns None
Compute the inverse fourier transform of data
The order is data.len(), which must be a power of 2
If the order is not a power of 2, returns None
Compute the inverse fourier transform of data The order is data . len () which must be a power of 2 If the order is not a power of 2 returns None
pub fn ifft(data: &[Complex64]) -> Option<Vec<Complex64>> {
    let order = power_of_2_geq_n(data.len());
    if order != data.len() {
        None
    } else {
        let scale_factor = 1.0 / (order as f64);
        Some(
            eval_polynomial(order, false, data, 0, 1)
                .iter()
                .map(|v: &Complex64| v.scale(scale_factor))
                .collect(),
        )
    }
}
pub fn ifft ( data : & [ Complex64 ] ) -> Option < Vec < Complex64 > > { let order = power_of_2_geq_n ( data . len ( ) ) ; if order != data . len ( ) { None } else { let scale_factor = 1.0 / ( order as f64 ) ; Some ( eval_polynomial ( order , false , data , 0 , 1 ) . iter ( ) . map ( | v : & Complex64 | v . scale ( scale_factor ) ) . collect ( ) , ) } }
Compute the inverse fourier transform of data
The order is data.len(), which must be a power of 2
If the order is not a power of 2, returns None
Compute the inverse fourier transform of data The order is data . len () which must be a power of 2 If the order is not a power of 2 returns None
data
&[Complex64]