1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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);

}