use cli::ProcessedCli; pub mod argument; pub mod cli; pub mod compare; pub mod compile_c; pub mod constraint; pub mod gen_c; pub mod gen_rust; pub mod indentation; pub mod intrinsic; pub mod intrinsic_helpers; pub mod values; /// Architectures must support this trait /// to be successfully tested. pub trait SupportedArchitectureTest { fn create(cli_options: ProcessedCli) -> Box where Self: Sized; fn build_c_file(&self) -> bool; fn build_rust_file(&self) -> bool; fn compare_outputs(&self) -> bool; } pub fn chunk_info(intrinsic_count: usize) -> (usize, usize) { let available_parallelism = std::thread::available_parallelism().unwrap().get(); let chunk_size = intrinsic_count.div_ceil(Ord::min(available_parallelism, intrinsic_count)); (chunk_size, intrinsic_count.div_ceil(chunk_size)) }