readme, optimizations

This commit is contained in:
randogoth 2025-01-17 22:08:46 +02:00
parent f21804ffaf
commit b4c2e5ea9b
5 changed files with 215 additions and 22 deletions

View file

@ -9,24 +9,24 @@ impl Onod {
pub fn run(test: &str, samples: &[u8]) -> (f64, f64, f64) {
match test {
"avalanche" => Onod::avalanche(samples),
"chi_bit" => Onod::chi_bit(samples),
"chi_byte" => Onod::chi_byte(samples),
"compression" => Onod::compression(samples),
"gaps" => Onod::gaps(samples),
"ks" => Onod::ks(samples),
"mean_byte" => Onod::mean_byte(samples),
"monobit" => Onod::monobit(samples),
"pi" => Onod::pi(samples),
"prediction" => Onod::prediction(samples),
"runs" => Onod::runs(samples),
"run_ups" => Onod::run_ups(samples),
"shannon" => Onod::shannon(samples),
"shells" => Onod::shells(samples),
"avalanche" => Onod::avalanche(samples),
"chi_bit" => Onod::chi_bit(samples),
"chi_byte" => Onod::chi_byte(samples),
"compression" => Onod::compression(samples),
"gaps" => Onod::gaps(samples),
"ks" => Onod::ks(samples),
"mean_byte" => Onod::mean_byte(samples),
"monobit" => Onod::monobit(samples),
"pi" => Onod::pi(samples),
"prediction" => Onod::prediction(samples),
"runs" => Onod::runs(samples),
"run_ups" => Onod::run_ups(samples),
"shannon" => Onod::shannon(samples),
"shells" => Onod::shells(samples),
"uncorrelation" => Onod::uncorrelation(samples),
_ => {
eprintln!("Error: Unknown test '{}'", test);
(-1.0, 0.0, 0.0) // Default values for unknown test
(-1.0, 0.0, 0.0)
}
}
}

View file

@ -23,12 +23,12 @@ impl Onod {
let samples = convert_to_3d_points(input);
if samples.len() < 25000 {
// eprintln!("---------------------------------------------------------------");
// eprintln!("ERROR: Shells test requires at least 25,000 points for statistical validity. Skipping.");
// eprintln!("---------------------------------------------------------------");
return (-1.0, 0.0, 1.0); // Skip the test for small datasets
}
// if samples.len() < 25000 {
// // eprintln!("---------------------------------------------------------------");
// // eprintln!("ERROR: Shells test requires at least 25,000 points for statistical validity. Skipping.");
// // eprintln!("---------------------------------------------------------------");
// return (-1.0, 0.0, 1.0); // Skip the test for small datasets
// }
let sphere_radius = SHELL_RADII[0];
let no_shells = SHELL_RADII.len();