2 var liba
= require("../liba")
3 function do_leak_check() {
4 for (const arg
of arguments
) {
7 if (liba
.do_leak_check
) {
19 [liba
.mf
.TRI
, NL
, NL
, NM
],
20 [liba
.mf
.TRI
, NL
, NM
, NS
],
21 [liba
.mf
.TRI
, NM
, NS
, ZO
],
22 [liba
.mf
.TRI
, NS
, ZO
, PS
],
23 [liba
.mf
.TRI
, ZO
, PS
, PM
],
24 [liba
.mf
.TRI
, PS
, PM
, PL
],
25 [liba
.mf
.TRI
, PM
, PL
, PL
],
35 [liba
.mf
.TRI
, NL
, NL
, NM
],
36 [liba
.mf
.TRI
, NL
, NM
, NS
],
37 [liba
.mf
.TRI
, NM
, NS
, ZO
],
38 [liba
.mf
.TRI
, NS
, ZO
, PS
],
39 [liba
.mf
.TRI
, ZO
, PS
, PM
],
40 [liba
.mf
.TRI
, PS
, PM
, PL
],
41 [liba
.mf
.TRI
, PM
, PL
, PL
],
51 [NL
, NL
, NM
, NM
, NS
, ZO
, ZO
],
52 [NL
, NL
, NM
, NS
, NS
, ZO
, PS
],
53 [NM
, NM
, NM
, NS
, ZO
, PS
, PS
],
54 [NM
, NM
, NS
, ZO
, PS
, PM
, PM
],
55 [NS
, NS
, ZO
, PS
, PS
, PM
, PM
],
56 [NS
, ZO
, PS
, PM
, PM
, PM
, PL
],
57 [ZO
, ZO
, PM
, PM
, PM
, PL
, PL
],
67 [PL
, PL
, PM
, PM
, PS
, ZO
, ZO
],
68 [PL
, PL
, PM
, PS
, PS
, ZO
, ZO
],
69 [PL
, PM
, PS
, PS
, ZO
, NS
, NS
],
70 [PM
, PM
, PS
, ZO
, NS
, NM
, NM
],
71 [PM
, PS
, ZO
, NS
, NS
, NM
, NL
],
72 [ZO
, ZO
, NS
, NS
, NM
, NL
, NL
],
73 [ZO
, ZO
, NS
, NM
, NM
, NL
, NL
],
76 [NS
, PS
, PL
, PL
, PL
, PM
, NS
],
77 [NS
, PS
, PL
, PM
, PM
, PS
, ZO
],
78 [ZO
, PS
, PM
, PM
, PS
, PS
, ZO
],
79 [ZO
, PS
, PS
, PS
, PS
, PS
, ZO
],
80 [ZO
, ZO
, ZO
, ZO
, ZO
, ZO
, ZO
],
81 [NL
, NS
, NS
, NS
, NS
, NS
, NL
],
82 [NL
, NM
, NM
, NM
, NS
, NS
, NL
],
84 var ctx
= new liba
.pid_fuzzy()
85 ctx
.rule(me
, mec
, mkp
, mki
, mkd
).set_block(2)
86 ctx
.kpid(10, 0.1, 1).op(liba
.pid_fuzzy
.EQU
)
87 console
.log(ctx
.zero().run(10, 0))
88 console
.log(ctx
.zero().pos(10, 0))
89 console
.log(ctx
.zero().inc(10, 0))
93 ctx
.summax
= ctx
.summax
94 ctx
.summin
= ctx
.summin
95 ctx
.outmax
= ctx
.outmax
96 ctx
.outmin
= ctx
.outmin
102 ctx
.block
= ctx
.block