Skip to main content

basic/
basic.rs

1use conservation_checker::ConservationChecker;
2
3fn main() {
4    let mut checker = ConservationChecker::new();
5    checker.register("energy", 100.0, 5.0);
6
7    println!("Initial: energy = {}", checker.current_value("energy"));
8
9    checker.update("energy", 98.0);
10    checker.snapshot();
11    println!("After use: energy = {} (conserved: {})", 
12             checker.current_value("energy"),
13             checker.is_conserved("energy"));
14
15    checker.update("energy", 90.0);
16    checker.snapshot();
17    println!("After heavy use: energy = {} (conserved: {})",
18             checker.current_value("energy"),
19             checker.is_conserved("energy"));
20    println!("Violations: {:?}", checker.violations());
21    println!("Phase: {}", checker.phase("energy"));
22    println!("Drift rate: {:.2}/snapshot", checker.drift_rate("energy"));
23}