added progress bar

This commit is contained in:
2024-05-02 10:39:48 +02:00
parent 71de7e63f6
commit 25d06948b4

View File

@@ -14,8 +14,8 @@ mod plot;
const THREAD_CNT: usize = 8; const THREAD_CNT: usize = 8;
const SAMPLE_LIMIT: usize = 1_000_000_000; const SAMPLE_LIMIT: usize = 1_000_000_000;
const SUB_SAMPLES: Vec<usize> = vec![1, 2, 5]; const SUB_SAMPLES: [usize; 3] = [1, 2, 5];
const SAMPLES_PER_ITERATION: usize = 1; const SAMPLES_PER_ITERATION: usize = 10;
fn main() { fn main() {
let bounds: Bounds = Bounds::new(LinearBounds::new(0_f64, 20_f64), LinearBounds::new(-100_f64, 150000_f64)); let bounds: Bounds = Bounds::new(LinearBounds::new(0_f64, 20_f64), LinearBounds::new(-100_f64, 150000_f64));
@@ -27,15 +27,18 @@ fn main() {
while sample_cnt < SAMPLE_LIMIT { while sample_cnt < SAMPLE_LIMIT {
for sub_sample in SUB_SAMPLES.clone() { for sub_sample in SUB_SAMPLES.clone() {
let samples: usize = sub_sample * sample_cnt; let samples: usize = sub_sample * sample_cnt;
for _ in 0..SAMPLES_PER_ITERATION { for sample in 0..SAMPLES_PER_ITERATION {
result.add_sample(samples, func.approximate(&bounds, samples, THREAD_CNT)); result.add_sample(samples, func.approximate(&bounds, samples, THREAD_CNT));
let progress: usize = (((sample + 1) as f64 / SAMPLES_PER_ITERATION as f64) * 25.0) as usize;
eprint!("\r{:12} [{}{}]", samples, "|".repeat(progress), " ".repeat(25 - progress));
} }
println!();
} }
sample_cnt *= 10; sample_cnt *= 10;
} }
result.print(); result.print();
let mut file: io::Result<File> = File::create("output.json"); let file: io::Result<File> = File::create("output.json");
if file.is_err() { if file.is_err() {
panic!("Error creating output file") panic!("Error creating output file")
} }