rename A_VERSION_{C,EX} to A_VERSION_{0,1,2,3,4}
[liba.git] / javascript / test / pid_neuro.js
blob77312c88cdad944dac885726ed5c876626a65ca3
1 #!/usr/bin/env node
2 var liba = require("../liba");
3 function assert(expr) {
4     if (!eval(expr)) {
5         throw Error(expr);
6     }
8 function do_leak_check() {
9     for (const arg of arguments) {
10         arg.delete();
11     }
12     if (liba.do_leak_check) {
13         liba.do_leak_check();
14     }
16 var ctx = new liba.pid_neuro();
17 ctx.wpid(1, 0, 0).kpid(10, 1, 0.1, 1);
18 console.log(ctx.zero().run(10, 0));
19 console.log(ctx.zero().inc(10, 0));
20 assert("ctx.k != undefined");
21 assert("ctx.kp != undefined");
22 assert("ctx.ki != undefined");
23 assert("ctx.kd != undefined");
24 assert("ctx.wp != undefined");
25 assert("ctx.wi != undefined");
26 assert("ctx.wd != undefined");
27 assert("ctx.outmax != undefined");
28 assert("ctx.outmin != undefined");
29 assert("ctx.out != undefined");
30 assert("ctx.fdb != undefined");
31 assert("ctx.err != undefined");
32 assert("ctx.ec != undefined");
33 ctx.k = 0;
34 ctx.kp = 0;
35 ctx.ki = 0;
36 ctx.kd = 0;
37 ctx.wp = 0;
38 ctx.wi = 0;
39 ctx.wd = 0;
40 ctx.outmax = 0;
41 ctx.outmin = 0;
42 do_leak_check(ctx);