use br_maths::spc::Spc;
fn main() {
let list = vec![
20.470,
20.480,
20.470,
20.450,
20.450,
20.470,
20.450,
20.450,
20.440,
20.450,
20.450,
20.450,
20.450,
20.450,
20.450,
20.450,
20.470,
20.450,
20.450,
20.440,
20.470,
20.450,
20.470,
20.450,
20.450,
20.440,
20.470,
20.450,
20.470,
20.450,
20.450,
20.440,
20.470,
20.450,
20.470,
20.450,
20.450,
20.440,
20.470,
20.450,
20.470,
20.450,
20.450,
20.440,
20.470,
20.470,
20.450,
20.450,
20.450,
20.440,
];
let mut spc = Spc::new(20.570, 20.37, 20.47, list, 5, 4);
let data = spc.compute();
println!("data_len: {}", data.data_len);
println!("total: {}", data.total);
println!("upper: {}", data.upper);
println!("value: {}", data.value);
println!("lower: {}", data.lower);
println!("avg: {}", data.avg);
println!("max: {}", data.max);
println!("min: {}", data.min);
println!("stddev : {}", data.stdev);
println!("stdevp : {}", data.stdevp);
println!("均值 -(R): {}", data.avg_r);
println!("样本系数 {}", data.d2);
println!("能力指数上限 (CPU) {}", data.cpu);
println!("能力指数下限(CPL) {}", data.cpl);
println!("能力指数(Cp) {}", data.cp);
println!("cp: {} {:?}", data.cp, data.cp_rating_criteria());
println!("过程能力指数 (Cpk) {}", data.cpk);
println!("cpk: {} {:?}", data.cpk, data.cpk_rating_criteria());
println!("性能指数 (PP) {}", data.pp);
println!("性能比率(PR) {}", data.pr);
println!("性能指数 (Ppk) {}", data.ppk);
println!("变差 (n-1) {}", data.var);
println!("变差 (n) {}", data.varp);
println!("==================================均值图==================================");
println!("均值图(均值) {:?}", data.data);
println!("均值图(平均值) {:?}", data.avg);
println!("均值图(最大值) {}", data.max);
println!("均值图(最小值) {}", data.min);
println!("==================================极差(R图)==================================");
println!("极差(R)图(极差) {:?}", data.group_range);
println!("极差(R)图(平均值) {:?}", data.avg_r);
println!("极差(R)图(最大值) {}", data.group_range_max);
println!("极差(R)图(最小值) {}", data.group_range_min);
println!("==================================SPC推移图==================================");
println!("SPC推移图-最大值 {:?}", data.max);
println!("SPC推移图-上限 {:?}", data.upper);
println!("SPC推移图-数据 {:?}", data.data);
println!("SPC推移图-下限 {:?}", data.lower);
println!("SPC推移图-最小值 {:?}", data.min);
}