6 function liba
.isqrt(...) end
10 function liba
.rsqrt(...) end
13 ---@param val? integer|string
15 function liba
.hash_bkdr(str
, val
) end
18 ---@param val? integer|string
20 function liba
.hash_sdbm(str
, val
) end
26 ---@field theta number
27 ---@operator len: number
28 ---@operator unm: a.complex
29 ---@operator add(a.complex): a.complex
30 ---@operator sub(a.complex): a.complex
31 ---@operator mul(a.complex): a.complex
32 ---@operator div(a.complex): a.complex
33 ---@operator pow(a.complex): a.complex
35 ---@class liba.complex
36 ---@overload fun(real?: a.complex|number|string, imag?: number): a.complex
39 ---@param real? a.complex|number|string
40 ---@param imag? number
42 function liba
.complex
.new(real
, imag
) end
44 ---@param real? a.complex|number|string
45 ---@param imag? number
47 function complex
.new(real
, imag
) end
49 ---@param real? number
50 ---@param imag? number
52 function liba
.complex
.rect(real
, imag
) end
54 ---@param real? number
55 ---@param imag? number
57 function complex
.rect(real
, imag
) end
60 ---@param theta? number
62 function liba
.complex
.polar(rho
, theta
) end
65 ---@param theta? number
67 function complex
.polar(rho
, theta
) end
69 ---@param z a.complex|number|string
71 function liba
.complex
.logabs(z
) end
74 function complex
:logabs() end
76 ---@param z a.complex|number|string
78 function liba
.complex
.abs2(z
) end
81 function complex
:abs2() end
83 ---@param z a.complex|number|string
85 function liba
.complex
.abs(z
) end
88 function complex
:abs() end
90 ---@param z a.complex|number|string
92 function liba
.complex
.arg(z
) end
95 function complex
:arg() end
97 ---@param z a.complex|number|string
99 function liba
.complex
.proj(z
) end
102 function complex
:proj() end
104 ---@param z a.complex|number|string
106 function liba
.complex
.conj(z
) end
109 function complex
:conj() end
111 ---@param z a.complex|number|string
113 function liba
.complex
.unm(z
) end
116 function complex
:unm() end
118 ---@param z a.complex|number|string
120 function liba
.complex
.inv(z
) end
123 function complex
:inv() end
125 ---@param x a.complex|number|string
126 ---@param y a.complex|number|string
128 function liba
.complex
.add(x
, y
) end
130 ---@param z a.complex|number|string
132 function complex
:add(z
) end
134 ---@param x a.complex|number|string
135 ---@param y a.complex|number|string
137 function liba
.complex
.sub(x
, y
) end
139 ---@param z a.complex|number|string
141 function complex
:sub(z
) end
143 ---@param x a.complex|number|string
144 ---@param y a.complex|number|string
146 function liba
.complex
.mul(x
, y
) end
148 ---@param z a.complex|number|string
150 function complex
:mul(z
) end
152 ---@param x a.complex|number|string
153 ---@param y a.complex|number|string
155 function liba
.complex
.div(x
, y
) end
157 ---@param z a.complex|number|string
159 function complex
:div(z
) end
161 ---@param z a.complex|number|string
162 ---@param a a.complex|number|string
164 function liba
.complex
.pow(z
, a
) end
166 ---@param a a.complex|number|string
168 function complex
:pow(a
) end
170 ---@param z a.complex|number|string
171 ---@param b a.complex|number|string
173 function liba
.complex
.logb(z
, b
) end
175 ---@param b a.complex
177 function complex
:logb(b
) end
179 ---@param z a.complex|number|string
181 function liba
.complex
.exp(z
) end
184 function complex
:exp() end
186 ---@param z a.complex|number|string
188 function liba
.complex
.log(z
) end
191 function complex
:log() end
193 ---@param z a.complex|number|string
195 function liba
.complex
.sqrt(z
) end
198 function complex
:sqrt() end
200 ---@param z a.complex|number|string
202 function liba
.complex
.log2(z
) end
205 function complex
:log2() end
207 ---@param z a.complex|number|string
209 function liba
.complex
.log10(z
) end
212 function complex
:log10() end
214 ---@param z a.complex|number|string
216 function liba
.complex
.sin(z
) end
219 function complex
:sin() end
221 ---@param z a.complex|number|string
223 function liba
.complex
.cos(z
) end
226 function complex
:cos() end
228 ---@param z a.complex|number|string
230 function liba
.complex
.tan(z
) end
233 function complex
:tan() end
235 ---@param z a.complex|number|string
237 function liba
.complex
.sec(z
) end
240 function complex
:sec() end
242 ---@param z a.complex|number|string
244 function liba
.complex
.csc(z
) end
247 function complex
:csc() end
249 ---@param z a.complex|number|string
251 function liba
.complex
.cot(z
) end
254 function complex
:cot() end
256 ---@param z a.complex|number|string
258 function liba
.complex
.asin(z
) end
261 function complex
:asin() end
263 ---@param z a.complex|number|string
265 function liba
.complex
.acos(z
) end
268 function complex
:acos() end
270 ---@param z a.complex|number|string
272 function liba
.complex
.atan(z
) end
275 function complex
:atan() end
277 ---@param z a.complex|number|string
279 function liba
.complex
.asec(z
) end
282 function complex
:asec() end
284 ---@param z a.complex|number|string
286 function liba
.complex
.acsc(z
) end
289 function complex
:acsc() end
291 ---@param z a.complex|number|string
293 function liba
.complex
.acot(z
) end
296 function complex
:acot() end
298 ---@param z a.complex|number|string
300 function liba
.complex
.sinh(z
) end
303 function complex
:sinh() end
305 ---@param z a.complex|number|string
307 function liba
.complex
.cosh(z
) end
310 function complex
:cosh() end
312 ---@param z a.complex|number|string
314 function liba
.complex
.tanh(z
) end
317 function complex
:tanh() end
319 ---@param z a.complex|number|string
321 function liba
.complex
.sech(z
) end
324 function complex
:sech() end
326 ---@param z a.complex|number|string
328 function liba
.complex
.csch(z
) end
331 function complex
:csch() end
333 ---@param z a.complex|number|string
335 function liba
.complex
.coth(z
) end
338 function complex
:coth() end
340 ---@param z a.complex|number|string
342 function liba
.complex
.asinh(z
) end
345 function complex
:asinh() end
347 ---@param z a.complex|number|string
349 function liba
.complex
.acosh(z
) end
352 function complex
:acosh() end
354 ---@param z a.complex|number|string
356 function liba
.complex
.atanh(z
) end
359 function complex
:atanh() end
361 ---@param z a.complex|number|string
363 function liba
.complex
.asech(z
) end
366 function complex
:asech() end
368 ---@param z a.complex|number|string
370 function liba
.complex
.acsch(z
) end
373 function complex
:acsch() end
375 ---@param z a.complex|number|string
377 function liba
.complex
.acoth(z
) end
380 function complex
:acoth() end
383 ---@field table table
384 ---@overload fun(block: string, value: integer|string): integer
387 ---@overload fun(poly: integer|string, reversed?: boolean): a.crc8
390 ---@param poly integer|string
391 ---@param reversed? boolean
393 function liba
.crc8
.new(poly
, reversed
) end
395 ---@param poly integer|string
396 ---@param reversed? boolean
398 function crc8
.new(poly
, reversed
) end
401 ---@param poly integer|string
402 ---@param reversed? boolean
404 function liba
.crc8
.gen(ctx
, poly
, reversed
) end
406 ---@param poly integer|string
407 ---@param reversed? boolean
409 function crc8
:gen(poly
, reversed
) end
412 ---@param block string
413 ---@param value? integer|string
415 function liba
.crc8
.eval(ctx
, block
, value
) end
417 ---@param block string
418 ---@param value? integer|string
420 function crc8
:eval(block
, value
) end
423 ---@param block string
424 ---@param value? integer|string
426 function liba
.crc8
.pack(ctx
, block
, value
) end
428 ---@param block string
429 ---@param value? integer|string
431 function crc8
:pack(block
, value
) end
434 ---@field table table
435 ---@overload fun(block: string, value: integer|string): integer
438 ---@overload fun(poly: integer|string, reversed?: boolean): a.crc16
441 ---@param poly integer|string
442 ---@param reversed? boolean
444 function liba
.crc16
.new(poly
, reversed
) end
446 ---@param poly integer|string
447 ---@param reversed? boolean
449 function crc16
.new(poly
, reversed
) end
451 ---@param ctx a.crc16
452 ---@param poly integer|string
453 ---@param reversed? boolean
455 function liba
.crc16
.gen(ctx
, poly
, reversed
) end
457 ---@param poly integer|string
458 ---@param reversed? boolean
460 function crc16
:gen(poly
, reversed
) end
462 ---@param ctx a.crc16
463 ---@param block string
464 ---@param value? integer|string
466 function liba
.crc16
.eval(ctx
, block
, value
) end
468 ---@param block string
469 ---@param value? integer|string
471 function crc16
:eval(block
, value
) end
473 ---@param ctx a.crc16
474 ---@param block string
475 ---@param value? integer|string
477 function liba
.crc16
.pack(ctx
, block
, value
) end
479 ---@param block string
480 ---@param value? integer|string
482 function crc16
:pack(block
, value
) end
485 ---@field table table
486 ---@overload fun(block: string, value: integer|string): string
489 ---@overload fun(poly: integer|string, reversed?: boolean): a.crc32
492 ---@param poly integer|string
493 ---@param reversed? boolean
495 function liba
.crc32
.new(poly
, reversed
) end
497 ---@param poly integer|string
498 ---@param reversed? boolean
500 function crc32
.new(poly
, reversed
) end
502 ---@param ctx a.crc32
503 ---@param poly integer|string
504 ---@param reversed? boolean
506 function liba
.crc32
.gen(ctx
, poly
, reversed
) end
508 ---@param poly integer|string
509 ---@param reversed? boolean
511 function crc32
:gen(poly
, reversed
) end
513 ---@param ctx a.crc32
514 ---@param block string
515 ---@param value? integer|string
517 function liba
.crc32
.eval(ctx
, block
, value
) end
519 ---@param block string
520 ---@param value? integer|string
522 function crc32
:eval(block
, value
) end
524 ---@param ctx a.crc32
525 ---@param block string
526 ---@param value? integer|string
528 function liba
.crc32
.pack(ctx
, block
, value
) end
530 ---@param block string
531 ---@param value? integer|string
533 function crc32
:pack(block
, value
) end
536 ---@field table table
537 ---@overload fun(block: string, value: integer|string): string
540 ---@overload fun(poly: integer|string, reversed?: boolean): a.crc64
543 ---@param poly integer|string
544 ---@param reversed? boolean
546 function liba
.crc64
.new(poly
, reversed
) end
548 ---@param poly integer|string
549 ---@param reversed? boolean
551 function crc64
.new(poly
, reversed
) end
553 ---@param ctx a.crc64
554 ---@param poly integer|string
555 ---@param reversed? boolean
557 function liba
.crc64
.gen(ctx
, poly
, reversed
) end
559 ---@param poly integer|string
560 ---@param reversed? boolean
562 function crc64
:gen(poly
, reversed
) end
564 ---@param ctx a.crc64
565 ---@param block string
566 ---@param value? integer|string
568 function liba
.crc64
.eval(ctx
, block
, value
) end
570 ---@param block string
571 ---@param value? integer|string
573 function crc64
:eval(block
, value
) end
575 ---@param ctx a.crc64
576 ---@param block string
577 ---@param value? integer|string
579 function liba
.crc64
.pack(ctx
, block
, value
) end
581 ---@param block string
582 ---@param value? integer|string
584 function crc64
:pack(block
, value
) end
587 ---@field alpha number
588 ---@field input number
589 ---@field output number
590 ---@overload fun(x: number): number
593 ---@overload fun(alpha: number): a.hpf
594 ---@overload fun(fc: number, ts: number): a.hpf
600 ---@overload fun(alpha: number): a.hpf
601 function liba
.hpf
.new(fc
, ts
) end
606 ---@overload fun(alpha: number): a.hpf
607 function hpf
.new(fc
, ts
) end
613 ---@overload fun(ctx: a.hpf, alpha: number): a.hpf
614 function liba
.hpf
.gen(ctx
, fc
, ts
) end
619 ---@overload fun(ctx: a.hpf, alpha: number): a.hpf
620 function hpf
:gen(fc
, ts
) end
625 function liba
.hpf
.iter(ctx
, x
) end
629 function hpf
:iter(x
) end
633 function liba
.hpf
.zero(ctx
) end
636 function hpf
:zero() end
639 ---@field alpha number
640 ---@field output number
641 ---@overload fun(x: number): number
644 ---@overload fun(alpha: number): a.lpf
645 ---@overload fun(fc: number, ts: number): a.lpf
651 ---@overload fun(alpha: number): a.lpf
652 function liba
.lpf
.new(fc
, ts
) end
657 ---@overload fun(alpha: number): a.lpf
658 function lpf
.new(fc
, ts
) end
664 ---@overload fun(ctx: a.lpf, alpha: number): a.lpf
665 function liba
.lpf
.gen(ctx
, fc
, ts
) end
670 ---@overload fun(ctx: a.lpf, alpha: number): a.lpf
671 function lpf
:gen(fc
, ts
) end
676 function liba
.lpf
.iter(ctx
, x
) end
680 function lpf
:iter(x
) end
684 function liba
.lpf
.zero(ctx
) end
687 function lpf
:zero() end
694 function liba
.mf
.mf(e
, x
, ...) end
698 ---@param sigma number
701 function liba
.mf
.gauss(x
, sigma
, c
) end
705 ---@param sigma1 number
707 ---@param sigma2 number
710 function liba
.mf
.gauss2(x
, sigma1
, c1
, sigma2
, c2
) end
718 function liba
.mf
.gbell(x
, a
, b
, c
) end
725 function liba
.mf
.sig(x
, a
, c
) end
734 function liba
.mf
.dsig(x
, a1
, c1
, a2
, c2
) end
743 function liba
.mf
.psig(x
, a1
, c1
, a2
, c2
) end
752 function liba
.mf
.trap(x
, a
, b
, c
, d
) end
760 function liba
.mf
.tri(x
, a
, b
, c
) end
767 function liba
.mf
.lins(x
, a
, b
) end
774 function liba
.mf
.linz(x
, a
, b
) end
781 function liba
.mf
.s(x
, a
, b
) end
788 function liba
.mf
.z(x
, a
, b
) end
797 function liba
.mf
.pi(x
, a
, b
, c
, d
) end
803 ---@field summax number
804 ---@field summin number
806 ---@field outmax number
807 ---@field outmin number
813 ---@overload fun(): a.pid
817 function liba
.pid
.new() end
820 function pid
.new() end
824 function liba
.pid
.init(ctx
) end
827 function pid
:init() end
831 function liba
.pid
.zero(ctx
) end
834 function pid
:zero() end
841 function liba
.pid
.kpid(ctx
, kp
, ki
, kd
) end
847 function pid
:kpid(kp
, ki
, kd
) end
853 function liba
.pid
.run(ctx
, set
, fdb
) end
858 function pid
:run(set
, fdb
) end
864 function liba
.pid
.pos(ctx
, set
, fdb
) end
869 function pid
:pos(set
, fdb
) end
875 function liba
.pid
.inc(ctx
, set
, fdb
) end
880 function pid
:inc(set
, fdb
) end
882 ---@class a.pid_fuzzy
886 ---@field summax number
887 ---@field summin number
889 ---@field outmax number
890 ---@field outmin number
894 ---@field order integer
895 ---@field block integer
897 ---@class liba.pid_fuzzy
898 ---@overload fun(): a.pid_fuzzy
901 ---@return a.pid_fuzzy
902 function liba
.pid_fuzzy
.new() end
904 ---@return a.pid_fuzzy
905 function pid_fuzzy
.new() end
907 ---@param ctx a.pid_fuzzy
908 ---@return a.pid_fuzzy
909 function liba
.pid_fuzzy
.init(ctx
) end
911 ---@return a.pid_fuzzy
912 function pid_fuzzy
:init() end
914 ---@param ctx a.pid_fuzzy
915 ---@return a.pid_fuzzy
916 function liba
.pid_fuzzy
.zero(ctx
) end
918 ---@return a.pid_fuzzy
919 function pid_fuzzy
:zero() end
921 ---@param ctx a.pid_fuzzy
927 ---@return a.pid_fuzzy
928 function liba
.pid_fuzzy
.rule(ctx
, me
, mec
, mkp
, mki
, mkd
) end
935 ---@return a.pid_fuzzy
936 function pid_fuzzy
:rule(me
, mec
, mkp
, mki
, mkd
) end
938 liba
.pid_fuzzy
.CAP
= 1
939 liba
.pid_fuzzy
.CAP_ALGEBRA
= 2
940 liba
.pid_fuzzy
.CAP_BOUNDED
= 3
941 liba
.pid_fuzzy
.CUP
= 4
942 liba
.pid_fuzzy
.CUP_ALGEBRA
= 5
943 liba
.pid_fuzzy
.CUP_BOUNDED
= 6
944 liba
.pid_fuzzy
.EQU
= 0
945 ---@param ctx a.pid_fuzzy
947 ---@return a.pid_fuzzy
948 function liba
.pid_fuzzy
.op(ctx
, op
) end
951 ---@return a.pid_fuzzy
952 function pid_fuzzy
:op(op
) end
954 ---@param ctx a.pid_fuzzy
955 ---@param block integer
956 ---@return a.pid_fuzzy
957 function liba
.pid_fuzzy
.set_block(ctx
, block
) end
959 ---@param block integer
960 ---@return a.pid_fuzzy
961 function pid_fuzzy
:set_block(block
) end
963 ---@param ctx a.pid_fuzzy
967 ---@return a.pid_fuzzy
968 function liba
.pid_fuzzy
.kpid(ctx
, kp
, ki
, kd
) end
973 ---@return a.pid_fuzzy
974 function pid_fuzzy
:kpid(kp
, ki
, kd
) end
976 ---@param ctx a.pid_fuzzy
980 function liba
.pid_fuzzy
.run(ctx
, set
, fdb
) end
985 function pid_fuzzy
:run(set
, fdb
) end
987 ---@param ctx a.pid_fuzzy
991 function liba
.pid_fuzzy
.pos(ctx
, set
, fdb
) end
996 function pid_fuzzy
:pos(set
, fdb
) end
998 ---@param ctx a.pid_fuzzy
1000 ---@param fdb number
1002 function liba
.pid_fuzzy
.inc(ctx
, set
, fdb
) end
1004 ---@param set number
1005 ---@param fdb number
1007 function pid_fuzzy
:inc(set
, fdb
) end
1009 ---@class a.pid_neuro
1017 ---@field outmax number
1018 ---@field outmin number
1019 ---@field out number
1020 ---@field fdb number
1021 ---@field err number
1023 local pid_neuro
= {}
1024 ---@class liba.pid_neuro
1025 ---@overload fun(): a.pid_neuro
1028 ---@return a.pid_neuro
1029 function liba
.pid_neuro
.new() end
1031 ---@return a.pid_neuro
1032 function pid_neuro
.new() end
1034 ---@param ctx a.pid_neuro
1035 ---@return a.pid_neuro
1036 function liba
.pid_neuro
.init(ctx
) end
1038 ---@return a.pid_neuro
1039 function pid_neuro
:init() end
1041 ---@param ctx a.pid_neuro
1042 ---@return a.pid_neuro
1043 function liba
.pid_neuro
.zero(ctx
) end
1045 ---@return a.pid_neuro
1046 function pid_neuro
:zero() end
1048 ---@param ctx a.pid_neuro
1053 ---@return a.pid_neuro
1054 function liba
.pid_neuro
.kpid(ctx
, k
, kp
, ki
, kd
) end
1060 ---@return a.pid_neuro
1061 function pid_neuro
:kpid(k
, kp
, ki
, kd
) end
1063 ---@param ctx a.pid_neuro
1067 ---@return a.pid_neuro
1068 function liba
.pid_neuro
.wpid(ctx
, wp
, wi
, wd
) end
1073 ---@return a.pid_neuro
1074 function pid_neuro
:wpid(wp
, wi
, wd
) end
1076 ---@param ctx a.pid_neuro
1077 ---@param set number
1078 ---@param fdb number
1080 function liba
.pid_neuro
.run(ctx
, set
, fdb
) end
1082 ---@param set number
1083 ---@param fdb number
1085 function pid_neuro
:run(set
, fdb
) end
1087 ---@param ctx a.pid_neuro
1088 ---@param set number
1089 ---@param fdb number
1091 function liba
.pid_neuro
.inc(ctx
, set
, fdb
) end
1093 ---@param set number
1094 ---@param fdb number
1096 function pid_neuro
:inc(set
, fdb
) end
1101 ---@field input table
1102 ---@field output table
1103 ---@overload fun(x: number): number
1106 ---@overload fun(num: table, den: table): a.tf
1112 function liba
.tf
.new(num
, den
) end
1117 function tf
.new(num
, den
) end
1120 function liba
.tf
.die(ctx
) end
1122 function tf
:die() end
1128 function liba
.tf
.init(ctx
, num
, den
) end
1133 function tf
:init(num
, den
) end
1138 function liba
.tf
.iter(ctx
, x
) end
1142 function tf
:iter(x
) end
1146 function liba
.tf
.zero(ctx
) end
1149 function tf
:zero() end
1151 ---@class a.trajbell
1156 ---@field taj number
1157 ---@field tdj number
1167 ---@class liba.trajbell
1168 ---@overload fun(): a.trajbell
1171 ---@return a.trajbell
1172 function liba
.trajbell
.new() end
1174 ---@return a.trajbell
1175 function trajbell
.new() end
1177 ---@param ctx a.trajbell
1183 ---@param v0? number
1184 ---@param v1? number
1186 function liba
.trajbell
.gen(ctx
, jm
, am
, vm
, p0
, p1
, v0
, v1
) end
1193 ---@param v0? number
1194 ---@param v1? number
1196 function trajbell
:gen(jm
, am
, vm
, p0
, p1
, v0
, v1
) end
1198 ---@param ctx a.trajbell
1201 function liba
.trajbell
.pos(ctx
, dt
) end
1205 function trajbell
:pos(dt
) end
1207 ---@param ctx a.trajbell
1210 function liba
.trajbell
.vel(ctx
, dt
) end
1214 function trajbell
:vel(dt
) end
1216 ---@param ctx a.trajbell
1219 function liba
.trajbell
.acc(ctx
, dt
) end
1223 function trajbell
:acc(dt
) end
1225 ---@param ctx a.trajbell
1228 function liba
.trajbell
.jer(ctx
, dt
) end
1232 function trajbell
:jer(dt
) end
1234 ---@class a.trajpoly3
1238 local trajpoly3
= {}
1239 ---@class liba.trajpoly3
1240 ---@overload fun(ts: number, p0: number, p1: number, v0?: number, v1?: number): a.trajpoly3
1246 ---@param v0? number
1247 ---@param v1? number
1248 ---@return a.trajpoly3
1249 function liba
.trajpoly3
.new(ts
, p0
, p1
, v0
, v1
) end
1254 ---@param v0? number
1255 ---@param v1? number
1256 ---@return a.trajpoly3
1257 function trajpoly3
.new(ts
, p0
, p1
, v0
, v1
) end
1259 ---@param ctx a.trajpoly3
1263 ---@param v0? number
1264 ---@param v1? number
1265 ---@return a.trajpoly3
1266 function liba
.trajpoly3
.gen(ctx
, ts
, p0
, p1
, v0
, v1
) end
1271 ---@param v0? number
1272 ---@param v1? number
1273 ---@return a.trajpoly3
1274 function trajpoly3
:gen(ts
, p0
, p1
, v0
, v1
) end
1276 ---@param ctx a.trajpoly3
1279 function liba
.trajpoly3
.pos(ctx
, dt
) end
1283 function trajpoly3
:pos(dt
) end
1285 ---@param ctx a.trajpoly3
1288 function liba
.trajpoly3
.vel(ctx
, dt
) end
1292 function trajpoly3
:vel(dt
) end
1294 ---@param ctx a.trajpoly3
1297 function liba
.trajpoly3
.acc(ctx
, dt
) end
1301 function trajpoly3
:acc(dt
) end
1303 ---@class a.trajpoly5
1307 local trajpoly5
= {}
1308 ---@class liba.trajpoly5
1309 ---@overload fun(ts: number, p0: number, p1: number, v0?: number, v1?: number, a0?: number, a1?: number): a.trajpoly5
1315 ---@param v0? number
1316 ---@param v1? number
1317 ---@param a0? number
1318 ---@param a1? number
1319 ---@return a.trajpoly5
1320 function liba
.trajpoly5
.new(ts
, p0
, p1
, v0
, v1
, a0
, a1
) end
1325 ---@param v0? number
1326 ---@param v1? number
1327 ---@param a0? number
1328 ---@param a1? number
1329 ---@return a.trajpoly5
1330 function trajpoly5
.new(ts
, p0
, p1
, v0
, v1
, a0
, a1
) end
1332 ---@param ctx a.trajpoly5
1336 ---@param v0? number
1337 ---@param v1? number
1338 ---@param a0? number
1339 ---@param a1? number
1340 ---@return a.trajpoly5
1341 function liba
.trajpoly5
.gen(ctx
, ts
, p0
, p1
, v0
, v1
, a0
, a1
) end
1346 ---@param v0? number
1347 ---@param v1? number
1348 ---@param a0? number
1349 ---@param a1? number
1350 ---@return a.trajpoly5
1351 function trajpoly5
:gen(ts
, p0
, p1
, v0
, v1
, a0
, a1
) end
1353 ---@param ctx a.trajpoly5
1356 function liba
.trajpoly5
.pos(ctx
, dt
) end
1360 function trajpoly5
:pos(dt
) end
1362 ---@param ctx a.trajpoly5
1365 function liba
.trajpoly5
.vel(ctx
, dt
) end
1369 function trajpoly5
:vel(dt
) end
1371 ---@param ctx a.trajpoly5
1374 function liba
.trajpoly5
.acc(ctx
, dt
) end
1378 function trajpoly5
:acc(dt
) end
1380 ---@class a.trajpoly7
1385 local trajpoly7
= {}
1386 ---@class liba.trajpoly7
1387 ---@overload fun(ts: number, p0: number, p1: number, v0?: number, v1?: number, a0?: number, a1?: number, j0?: number, j1?: number): a.trajpoly7
1393 ---@param v0? number
1394 ---@param v1? number
1395 ---@param a0? number
1396 ---@param a1? number
1397 ---@param j0? number
1398 ---@param j1? number
1399 ---@return a.trajpoly7
1400 function liba
.trajpoly7
.new(ts
, p0
, p1
, v0
, v1
, a0
, a1
, j0
, j1
) end
1405 ---@param v0? number
1406 ---@param v1? number
1407 ---@param a0? number
1408 ---@param a1? number
1409 ---@param j0? number
1410 ---@param j1? number
1411 ---@return a.trajpoly7
1412 function trajpoly7
.new(ts
, p0
, p1
, v0
, v1
, a0
, a1
, j0
, j1
) end
1414 ---@param ctx a.trajpoly7
1418 ---@param v0? number
1419 ---@param v1? number
1420 ---@param a0? number
1421 ---@param a1? number
1422 ---@param j0? number
1423 ---@param j1? number
1424 ---@return a.trajpoly7
1425 function liba
.trajpoly7
.gen(ctx
, ts
, p0
, p1
, v0
, v1
, a0
, a1
, j0
, j1
) end
1430 ---@param v0? number
1431 ---@param v1? number
1432 ---@param a0? number
1433 ---@param a1? number
1434 ---@param j0? number
1435 ---@param j1? number
1436 ---@return a.trajpoly7
1437 function trajpoly7
:gen(ts
, p0
, p1
, v0
, v1
, a0
, a1
, j0
, j1
) end
1439 ---@param ctx a.trajpoly7
1442 function liba
.trajpoly7
.pos(ctx
, dt
) end
1446 function trajpoly7
:pos(dt
) end
1448 ---@param ctx a.trajpoly7
1451 function liba
.trajpoly7
.vel(ctx
, dt
) end
1455 function trajpoly7
:vel(dt
) end
1457 ---@param ctx a.trajpoly7
1460 function liba
.trajpoly7
.acc(ctx
, dt
) end
1464 function trajpoly7
:acc(dt
) end
1466 ---@param ctx a.trajpoly7
1469 function liba
.trajpoly7
.jer(ctx
, dt
) end
1473 function trajpoly7
:jer(dt
) end
1475 ---@class a.trajtrap
1489 ---@class liba.trajtrap
1490 ---@overload fun(): a.trajtrap
1493 ---@return a.trajtrap
1494 function liba
.trajtrap
.new() end
1496 ---@return a.trajtrap
1497 function trajtrap
.new() end
1499 ---@param ctx a.trajtrap
1505 ---@param v0? number
1506 ---@param v1? number
1508 function liba
.trajtrap
.gen(ctx
, vm
, ac
, de
, p0
, p1
, v0
, v1
) end
1515 ---@param v0? number
1516 ---@param v1? number
1518 function trajtrap
:gen(vm
, ac
, de
, p0
, p1
, v0
, v1
) end
1520 ---@param ctx a.trajtrap
1523 function liba
.trajtrap
.pos(ctx
, dt
) end
1527 function trajtrap
:pos(dt
) end
1529 ---@param ctx a.trajtrap
1532 function liba
.trajtrap
.vel(ctx
, dt
) end
1536 function trajtrap
:vel(dt
) end
1538 ---@param ctx a.trajtrap
1541 function liba
.trajtrap
.acc(ctx
, dt
) end
1545 function trajtrap
:acc(dt
) end
1548 ---@field major integer
1549 ---@field minor integer
1550 ---@field third integer
1551 ---@field extra integer
1552 ---@field alpha string
1553 ---@overload fun(major?: integer, minor?: integer, third?: integer, extra?: integer): a.version
1554 ---@overload fun(ver: string): a.version
1556 ---@class liba.version
1557 ---@overload fun(major?: integer, minor?: integer, third?: integer, extra?: integer): a.version
1558 ---@overload fun(ver: string): a.version
1560 liba
.version
.MAJOR
= 0
1561 liba
.version
.MINOR
= 0
1562 liba
.version
.PATCH
= 0
1563 liba
.version
.TWEAK
= 0
1565 ---@param major? integer
1566 ---@param minor? integer
1567 ---@param patch? integer
1568 ---@return integer -3,-2,-1,0,1,2,3
1569 function liba
.version
.check(major
, minor
, patch
) end
1571 ---@param major? integer
1572 ---@param minor? integer
1573 ---@param third? integer
1574 ---@param extra? integer
1575 ---@return a.version
1576 ---@overload fun(ver: string): a.version
1577 function liba
.version
.new(major
, minor
, third
, extra
) end
1579 ---@param major? integer
1580 ---@param minor? integer
1581 ---@param third? integer
1582 ---@param extra? integer
1583 ---@return a.version
1584 ---@overload fun(ver: string): a.version
1585 function version
.new(major
, minor
, third
, extra
) end
1587 ---@param ctx a.version
1588 ---@param major? integer
1589 ---@param minor? integer
1590 ---@param third? integer
1591 ---@param extra? integer
1592 ---@return a.version
1593 ---@overload fun(ctx: a.version, ver: string): a.version
1594 function liba
.version
.init(ctx
, major
, minor
, third
, extra
) end
1596 ---@param major? integer
1597 ---@param minor? integer
1598 ---@param third? integer
1599 ---@param extra? integer
1600 ---@return a.version
1601 ---@overload fun(ver: string): a.version
1602 function version
:init(major
, minor
, third
, extra
) end
1604 ---@param ctx a.version
1605 ---@param ver string
1606 ---@return a.version
1607 function liba
.version
.parse(ctx
, ver
) end
1609 ---@param ver string
1610 ---@return a.version
1611 function version
:parse(ver
) end
1613 ---@param lhs a.version
1614 ---@param rhs a.version
1615 ---@return integer -3,-2,-1,0,1,2,3
1616 function liba
.version
.cmp(lhs
, rhs
) end
1618 ---@param rhs a.version
1619 ---@return integer -3,-2,-1,0,1,2,3
1620 function version
:cmp(rhs
) end
1622 ---@param lhs a.version
1623 ---@param rhs a.version
1625 function liba
.version
.lt(lhs
, rhs
) end
1627 ---@param rhs a.version
1629 function version
:lt(rhs
) end
1631 ---@param lhs a.version
1632 ---@param rhs a.version
1634 function liba
.version
.gt(lhs
, rhs
) end
1636 ---@param rhs a.version
1638 function version
:gt(rhs
) end
1640 ---@param lhs a.version
1641 ---@param rhs a.version
1643 function liba
.version
.le(lhs
, rhs
) end
1645 ---@param rhs a.version
1647 function version
:le(rhs
) end
1649 ---@param lhs a.version
1650 ---@param rhs a.version
1652 function liba
.version
.ge(lhs
, rhs
) end
1654 ---@param rhs a.version
1656 function version
:ge(rhs
) end
1658 ---@param lhs a.version
1659 ---@param rhs a.version
1661 function liba
.version
.eq(lhs
, rhs
) end
1663 ---@param rhs a.version
1665 function version
:eq(rhs
) end
1667 ---@param lhs a.version
1668 ---@param rhs a.version
1670 function liba
.version
.ne(lhs
, rhs
) end
1672 ---@param rhs a.version
1674 function version
:ne(rhs
) end
1676 liba
.VERSION
= "0.1.6"