From 9fdd33bf6c8853b9d6ca8eaae7dc00a203db8218 Mon Sep 17 00:00:00 2001 From: HEnquist Date: Sat, 5 Oct 2024 17:14:55 +0200 Subject: [PATCH] Remove some diplicated lines --- src/lib.rs | 4 ++-- src/synchro.rs | 24 ++++++++---------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 7c4085c..edb3e9f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -574,10 +574,10 @@ pub fn buffer_capacity(buffer: &[Vec]) -> usize { #[cfg(test)] pub mod tests { - use crate::{buffer_capacity, buffer_length, make_buffer, resize_buffer, VecResampler}; - use crate::{Async, Fixed, PolynomialDegree}; #[cfg(feature = "fft_resampler")] use crate::Fft; + use crate::{buffer_capacity, buffer_length, make_buffer, resize_buffer, VecResampler}; + use crate::{Async, Fixed, PolynomialDegree}; use test_log::test; // This tests that a VecResampler can be boxed. diff --git a/src/synchro.rs b/src/synchro.rs index e198d07..f1e348a 100644 --- a/src/synchro.rs +++ b/src/synchro.rs @@ -204,34 +204,26 @@ where ) -> Result { validate_sample_rates(sample_rate_input, sample_rate_output)?; - let (fft_size_in, fft_size_out) = match fixed { + let gcd = integer::gcd(sample_rate_input, sample_rate_output); + + let fft_chunks = match fixed { FftFixed::Input => { - let gcd = integer::gcd(sample_rate_input, sample_rate_output); let min_chunk_in = sample_rate_input / gcd; let wanted_subsize = chunk_size / sub_chunks; - let fft_chunks = (wanted_subsize as f32 / min_chunk_in as f32).ceil() as usize; - let size_out = fft_chunks * sample_rate_output / gcd; - let size_in = fft_chunks * sample_rate_input / gcd; - (size_in, size_out) + (wanted_subsize as f32 / min_chunk_in as f32).ceil() as usize } FftFixed::Output => { - let gcd = integer::gcd(sample_rate_input, sample_rate_output); let min_chunk_out = sample_rate_output / gcd; let wanted_subsize = chunk_size / sub_chunks; - let fft_chunks = (wanted_subsize as f32 / min_chunk_out as f32).ceil() as usize; - let size_out = fft_chunks * sample_rate_output / gcd; - let size_in = fft_chunks * sample_rate_input / gcd; - (size_in, size_out) + (wanted_subsize as f32 / min_chunk_out as f32).ceil() as usize } FftFixed::Both => { - let gcd = integer::gcd(sample_rate_input, sample_rate_output); let min_chunk_in = sample_rate_input / gcd; - let fft_chunks = (chunk_size as f32 / min_chunk_in as f32).ceil() as usize; - let size_out = fft_chunks * sample_rate_output / gcd; - let size_in = fft_chunks * sample_rate_input / gcd; - (size_in, size_out) + (chunk_size as f32 / min_chunk_in as f32).ceil() as usize } }; + let fft_size_out = fft_chunks * sample_rate_output / gcd; + let fft_size_in = fft_chunks * sample_rate_input / gcd; let resampler = FftResampler::::new(fft_size_in, fft_size_out);