Skip to content

Commit

Permalink
Remove some diplicated lines
Browse files Browse the repository at this point in the history
  • Loading branch information
HEnquist committed Oct 5, 2024
1 parent a35a0f0 commit 9fdd33b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -574,10 +574,10 @@ pub fn buffer_capacity<T: Sample>(buffer: &[Vec<T>]) -> 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.
Expand Down
24 changes: 8 additions & 16 deletions src/synchro.rs
Original file line number Diff line number Diff line change
Expand Up @@ -204,34 +204,26 @@ where
) -> Result<Self, ResamplerConstructionError> {
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::<T>::new(fft_size_in, fft_size_out);

Expand Down

0 comments on commit 9fdd33b

Please sign in to comment.