use crate::num_complex::Complex32;
pub struct RealToComplex {}
impl RealToComplex {
pub fn new() -> RealToComplex {
RealToComplex {}
}
pub fn process_buffer(&mut self, input_buffer: &[f32], output_buffer: &mut [Complex32]) {
let n = usize::min(input_buffer.len(), output_buffer.len());
for i in 0..n {
output_buffer[i] = Complex32::new(input_buffer[i], 0.);
}
}
}
pub struct ComplexToReal {}
impl ComplexToReal {
pub fn new() -> ComplexToReal {
ComplexToReal {}
}
pub fn process_buffer(&mut self, input_buffer: &[Complex32], output_buffer: &mut [f32]) {
let n = usize::min(input_buffer.len(), output_buffer.len());
for i in 0..n {
output_buffer[i] = input_buffer[i].norm();
}
}
}