use maxsim_lut::{supported_kernels, warm_up};
fn main() {
let available: Vec<String> = supported_kernels().iter().map(|k| k.to_string()).collect();
println!("kernels this CPU can execute: {}", available.join(", "));
println!("calibration chose: {}", warm_up());
let required: Vec<String> = std::env::args().skip(1).collect();
let missing: Vec<&String> = required.iter().filter(|r| !available.contains(r)).collect();
if !missing.is_empty() {
eprintln!(
"error: required kernel(s) not available here: {}",
missing.iter().map(|s| s.as_str()).collect::<Vec<_>>().join(", ")
);
std::process::exit(1);
}
}