insert javascript.format.semicolons
[liba.git] / javascript / test / pid_neuro.js
blobb335d8c904002e595d5d3a56778da72352d3330d
1 #!/usr/bin/env node
2 var liba = require("../liba");
3 function assert(expr, info) {
4     if (!expr) {
5         throw Error("assertion failed: " + info);
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);