#[non_exhaustive]
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Options {
pub multithreaded_bit_reversal: bool,
pub smallest_parallel_chunk_size: usize,
}
impl Default for Options {
fn default() -> Self {
Self {
multithreaded_bit_reversal: false,
smallest_parallel_chunk_size: 16384,
}
}
}
impl Options {
pub fn guess_options(input_size: usize) -> Options {
let mut options = Options::default();
let n: usize = input_size.ilog2() as usize;
options.multithreaded_bit_reversal = n >= 16;
options
}
}