release 0.1.3
[liba.git] / liba.pyi
blob4171221c3a6bf66c5c8e29029bf38481c592949b
1 from typing import Iterable, overload
2 from array import array
4 def array_i8(o: object) -> array[int]: ...
5 def array_u8(o: object) -> array[int]: ...
6 def array_i16(o: object) -> array[int]: ...
7 def array_u16(o: object) -> array[int]: ...
8 def array_i32(o: object) -> array[int]: ...
9 def array_u32(o: object) -> array[int]: ...
10 def array_i64(o: object) -> array[int]: ...
11 def array_u64(o: object) -> array[int]: ...
12 def array_f32(o: object) -> array[float]: ...
13 def array_f64(o: object) -> array[float]: ...
14 def array_num(o: object) -> array[float]: ...
15 def hash_bkdr(str: bytes, val: int = 0) -> int: ...
16 def hash_sdbm(str: bytes, val: int = 0) -> int: ...
17 def isqrt(x: int) -> int: ...
18 @overload
19 def sqrt_u32(x: Iterable[int]) -> array[int]: ...
20 @overload
21 def sqrt_u32(x: int) -> int: ...
22 @overload
23 def sqrt_u64(x: Iterable[int]) -> array[int]: ...
24 @overload
25 def sqrt_u64(x: int) -> int: ...
26 @overload
27 def rsqrt_f32(x: Iterable[float]) -> array[float]: ...
28 @overload
29 def rsqrt_f32(x: float) -> float: ...
30 @overload
31 def rsqrt_f64(x: Iterable[float]) -> array[float]: ...
32 @overload
33 def rsqrt_f64(x: float) -> float: ...
35 class crc8:
36     def __init__(self, poly: int, reversed=False) -> None: ...
37     def gen(self, poly: int, reversed=False) -> crc8: ...
38     def __call__(self, block: bytes, value=0) -> int: ...
39     def pack(self, block: bytes, value=0) -> bytes: ...
40     @property
41     def table(self) -> array[int]: ...
43 class crc16:
44     def __init__(self, poly: int, reversed=False) -> None: ...
45     def gen(self, poly: int, reversed=False) -> crc16: ...
46     def __call__(self, block: bytes, value=0) -> int: ...
47     def pack(self, block: bytes, value=0) -> bytes: ...
48     @property
49     def table(self) -> array[int]: ...
51 class crc32:
52     def __init__(self, poly: int, reversed=False) -> None: ...
53     def gen(self, poly: int, reversed=False) -> crc32: ...
54     def __call__(self, block: bytes, value=0) -> int: ...
55     def pack(self, block: bytes, value=0) -> bytes: ...
56     @property
57     def table(self) -> array[int]: ...
59 class crc64:
60     def __init__(self, poly: int, reversed=False) -> None: ...
61     def gen(self, poly: int, reversed=False) -> crc64: ...
62     def __call__(self, block: bytes, value=0) -> int: ...
63     def pack(self, block: bytes, value=0) -> bytes: ...
64     @property
65     def table(self) -> array[int]: ...
67 class hpf:
68     def __init__(self, fc: float, ts: float) -> None: ...
69     def gen(self, fc: float, ts: float) -> hpf: ...
70     def __call__(self, x: float) -> float: ...
71     def zero(self) -> hpf: ...
72     @property
73     def alpha(self) -> float: ...
74     @alpha.setter
75     def alpha(self, x: float) -> None: ...
76     @property
77     def output(self) -> float: ...
78     @property
79     def input(self) -> float: ...
81 class lpf:
82     def __init__(self, fc: float, ts: float) -> None: ...
83     def gen(self, fc: float, ts: float) -> lpf: ...
84     def __call__(self, x: float) -> float: ...
85     def zero(self) -> lpf: ...
86     @property
87     def alpha(self) -> float: ...
88     @alpha.setter
89     def alpha(self, x: float) -> None: ...
90     @property
91     def output(self) -> float: ...
93 class mf:
94     NUL: int
95     GAUSS: int
96     GAUSS2: int
97     GBELL: int
98     SIG: int
99     DSIG: int
100     PSIG: int
101     TRAP: int
102     TRI: int
103     LINS: int
104     LINZ: int
105     S: int
106     Z: int
107     PI: int
108     @staticmethod
109     @overload
110     def __call__(e: int, x: Iterable[float], a: Iterable[float]) -> array[float]: ...
111     @staticmethod
112     @overload
113     def __call__(e: int, x: float, a: Iterable[float]) -> float: ...
114     @staticmethod
115     @overload
116     def gauss(x: Iterable[float], sigma: float, c: float) -> array[float]: ...
117     @staticmethod
118     @overload
119     def gauss(x: float, sigma: float, c: float) -> float: ...
120     @staticmethod
121     @overload
122     def gauss2(
123         x: Iterable[float], sigma1: float, c1: float, sigma2: float, c2: float
124     ) -> array[float]: ...
125     @staticmethod
126     @overload
127     def gauss2(x: float, sigma1: float, c1: float, sigma2: float, c2: float) -> float: ...
128     @staticmethod
129     @overload
130     def gbell(x: Iterable[float], a: float, b: float, c: float) -> array[float]: ...
131     @staticmethod
132     @overload
133     def gbell(x: float, a: float, b: float, c: float) -> float: ...
134     @staticmethod
135     @overload
136     def sig(x: Iterable[float], a: float, c: float) -> array[float]: ...
137     @staticmethod
138     @overload
139     def sig(x: float, a: float, c: float) -> float: ...
140     @staticmethod
141     @overload
142     def dsig(x: Iterable[float], a1: float, c1: float, a2: float, c2: float) -> array[float]: ...
143     @staticmethod
144     @overload
145     def dsig(x: float, a1: float, c1: float, a2: float, c2: float) -> float: ...
146     @staticmethod
147     @overload
148     def psig(x: Iterable[float], a1: float, c1: float, a2: float, c2: float) -> array[float]: ...
149     @staticmethod
150     @overload
151     def psig(x: float, a1: float, c1: float, a2: float, c2: float) -> float: ...
152     @staticmethod
153     @overload
154     def trap(x: Iterable[float], a: float, b: float, c: float, d: float) -> array[float]: ...
155     @staticmethod
156     @overload
157     def trap(x: float, a: float, b: float, c: float, d: float) -> float: ...
158     @staticmethod
159     @overload
160     def tri(x: Iterable[float], a: float, b: float, c: float) -> array[float]: ...
161     @staticmethod
162     @overload
163     def tri(x: float, a: float, b: float, c: float) -> float: ...
164     @staticmethod
165     @overload
166     def lins(x: Iterable[float], a: float, b: float) -> array[float]: ...
167     @staticmethod
168     @overload
169     def lins(x: float, a: float, b: float) -> float: ...
170     @staticmethod
171     @overload
172     def linz(x: Iterable[float], a: float, b: float) -> array[float]: ...
173     @staticmethod
174     @overload
175     def linz(x: float, a: float, b: float) -> float: ...
176     @staticmethod
177     @overload
178     def s(x: Iterable[float], a: float, b: float) -> array[float]: ...
179     @staticmethod
180     @overload
181     def s(x: float, a: float, b: float) -> float: ...
182     @staticmethod
183     @overload
184     def z(x: Iterable[float], a: float, b: float) -> array[float]: ...
185     @staticmethod
186     @overload
187     def z(x: float, a: float, b: float) -> float: ...
188     @staticmethod
189     @overload
190     def pi(x: Iterable[float], a: float, b: float, c: float, d: float) -> array[float]: ...
191     @staticmethod
192     @overload
193     def pi(x: float, a: float, b: float, c: float, d: float) -> float: ...
195 class pid:
196     RUN: int
197     POS: int
198     INC: int
199     def __init__(self) -> None: ...
200     def kpid(self, kp: float, ki: float, kd: float) -> pid: ...
201     def run(self, set: float, fdb: float) -> float: ...
202     def pos(self, set: float, fdb: float) -> float: ...
203     def inc(self, set: float, fdb: float) -> float: ...
204     def zero(self) -> pid: ...
205     @property
206     def kp(self) -> float: ...
207     @kp.setter
208     def kp(self, kp: float) -> None: ...
209     @property
210     def ki(self) -> float: ...
211     @ki.setter
212     def ki(self, ki: float) -> None: ...
213     @property
214     def kd(self) -> float: ...
215     @kd.setter
216     def kd(self, kd: float) -> None: ...
217     @property
218     def summax(self) -> float: ...
219     @summax.setter
220     def summax(self, summax: float) -> None: ...
221     @property
222     def summin(self) -> float: ...
223     @summin.setter
224     def summin(self, summin: float) -> None: ...
225     @property
226     def outmax(self) -> float: ...
227     @outmax.setter
228     def outmax(self, outmax: float) -> None: ...
229     @property
230     def outmin(self) -> float: ...
231     @outmin.setter
232     def outmin(self, outmin: float) -> None: ...
233     @property
234     def out(self) -> float: ...
235     @property
236     def fdb(self) -> float: ...
237     @property
238     def err(self) -> float: ...
240 class pid_fuzzy:
241     CAP: int
242     CAP_ALGEBRA: int
243     CAP_BOUNDED: int
244     CUP: int
245     CUP_ALGEBRA: int
246     CUP_BOUNDED: int
247     EQU: int
248     def __init__(self) -> None: ...
249     def op(self, op: int) -> pid_fuzzy: ...
250     def rule(
251         self,
252         me: Iterable[Iterable[float]],
253         mec: Iterable[Iterable[float]],
254         mkp: Iterable[Iterable[float]],
255         mki: Iterable[Iterable[float]],
256         mkd: Iterable[Iterable[float]],
257     ) -> pid_fuzzy: ...
258     def set_joint(self, num: int) -> pid_fuzzy: ...
259     def kpid(self, kp: float, ki: float, kd: float) -> pid_fuzzy: ...
260     def run(self, set: float, fdb: float) -> float: ...
261     def pos(self, set: float, fdb: float) -> float: ...
262     def inc(self, set: float, fdb: float) -> float: ...
263     def zero(self) -> pid_fuzzy: ...
264     @property
265     def joint(self) -> int: ...
266     @joint.setter
267     def joint(self, joint: int) -> None: ...
268     @property
269     def kp(self) -> float: ...
270     @kp.setter
271     def kp(self, kp: float) -> None: ...
272     @property
273     def ki(self) -> float: ...
274     @ki.setter
275     def ki(self, ki: float) -> None: ...
276     @property
277     def kd(self) -> float: ...
278     @kd.setter
279     def kd(self, kd: float) -> None: ...
280     @property
281     def summax(self) -> float: ...
282     @summax.setter
283     def summax(self, summax: float) -> None: ...
284     @property
285     def summin(self) -> float: ...
286     @summin.setter
287     def summin(self, summin: float) -> None: ...
288     @property
289     def outmax(self) -> float: ...
290     @outmax.setter
291     def outmax(self, outmax: float) -> None: ...
292     @property
293     def outmin(self) -> float: ...
294     @outmin.setter
295     def outmin(self, outmin: float) -> None: ...
296     @property
297     def out(self) -> float: ...
298     @property
299     def fdb(self) -> float: ...
300     @property
301     def err(self) -> float: ...
302     @property
303     def order(self) -> int: ...
305 class pid_neuro:
306     def __init__(self) -> None: ...
307     def kpid(self, k: float, kp: float, ki: float, kd: float) -> pid_neuro: ...
308     def wpid(self, wp: float, wi: float, wd: float) -> pid_neuro: ...
309     def run(self, set: float, fdb: float) -> float: ...
310     def inc(self, set: float, fdb: float) -> float: ...
311     def zero(self) -> pid_neuro: ...
312     @property
313     def k(self) -> float: ...
314     @k.setter
315     def k(self, k: float) -> None: ...
316     @property
317     def kp(self) -> float: ...
318     @kp.setter
319     def kp(self, kp: float) -> None: ...
320     @property
321     def ki(self) -> float: ...
322     @ki.setter
323     def ki(self, ki: float) -> None: ...
324     @property
325     def kd(self) -> float: ...
326     @kd.setter
327     def kd(self, kd: float) -> None: ...
328     @property
329     def wp(self) -> float: ...
330     @wp.setter
331     def wp(self, wp: float) -> None: ...
332     @property
333     def wi(self) -> float: ...
334     @wi.setter
335     def wi(self, wi: float) -> None: ...
336     @property
337     def wd(self) -> float: ...
338     @wd.setter
339     def wd(self, wd: float) -> None: ...
340     @property
341     def summax(self) -> float: ...
342     @summax.setter
343     def summax(self, summax: float) -> None: ...
344     @property
345     def summin(self) -> float: ...
346     @summin.setter
347     def summin(self, summin: float) -> None: ...
348     @property
349     def outmax(self) -> float: ...
350     @outmax.setter
351     def outmax(self, outmax: float) -> None: ...
352     @property
353     def outmin(self) -> float: ...
354     @outmin.setter
355     def outmin(self, outmin: float) -> None: ...
356     @property
357     def out(self) -> float: ...
358     @property
359     def fdb(self) -> float: ...
360     @property
361     def err(self) -> float: ...
362     @property
363     def ec(self) -> float: ...
365 @overload
366 def poly_eval(x: Iterable[float], *a: float) -> array[float]: ...
367 @overload
368 def poly_eval(x: float, *a: float) -> float: ...
369 @overload
370 def poly_evar(x: Iterable[float], *a: float) -> array[float]: ...
371 @overload
372 def poly_evar(x: float, *a: float) -> float: ...
374 class polytraj3:
375     def __init__(
376         self,
377         ts: float,
378         q0: float,
379         q1: float,
380         v0: float = 0,
381         v1: float = 0,
382     ) -> None: ...
383     def gen(
384         self,
385         ts: float,
386         q0: float,
387         q1: float,
388         v0: float = 0,
389         v1: float = 0,
390     ) -> polytraj3: ...
391     @overload
392     def pos(self, dt: Iterable[float]) -> array[float]: ...
393     @overload
394     def pos(self, dt: float) -> float: ...
395     @overload
396     def vel(self, dt: Iterable[float]) -> array[float]: ...
397     @overload
398     def vel(self, dt: float) -> float: ...
399     @overload
400     def acc(self, dt: Iterable[float]) -> array[float]: ...
401     @overload
402     def acc(self, dt: float) -> float: ...
403     @property
404     def q(self) -> array[float]: ...
405     @property
406     def v(self) -> array[float]: ...
407     @property
408     def a(self) -> array[float]: ...
410 class polytraj5:
411     def __init__(
412         self,
413         ts: float,
414         q0: float,
415         q1: float,
416         v0: float = 0,
417         v1: float = 0,
418         a0: float = 0,
419         a1: float = 0,
420     ) -> None: ...
421     def gen(
422         self,
423         ts: float,
424         q0: float,
425         q1: float,
426         v0: float = 0,
427         v1: float = 0,
428         a0: float = 0,
429         a1: float = 0,
430     ) -> polytraj5: ...
431     @overload
432     def pos(self, dt: Iterable[float]) -> array[float]: ...
433     @overload
434     def pos(self, dt: float) -> float: ...
435     @overload
436     def vel(self, dt: Iterable[float]) -> array[float]: ...
437     @overload
438     def vel(self, dt: float) -> float: ...
439     @overload
440     def acc(self, dt: Iterable[float]) -> array[float]: ...
441     @overload
442     def acc(self, dt: float) -> float: ...
443     @property
444     def q(self) -> array[float]: ...
445     @property
446     def v(self) -> array[float]: ...
447     @property
448     def a(self) -> array[float]: ...
450 class polytraj7:
451     def __init__(
452         self,
453         ts: float,
454         q0: float,
455         q1: float,
456         v0: float = 0,
457         v1: float = 0,
458         a0: float = 0,
459         a1: float = 0,
460         j0: float = 0,
461         j1: float = 0,
462     ) -> None: ...
463     def gen(
464         self,
465         ts: float,
466         q0: float,
467         q1: float,
468         v0: float = 0,
469         v1: float = 0,
470         a0: float = 0,
471         a1: float = 0,
472         j0: float = 0,
473         j1: float = 0,
474     ) -> polytraj7: ...
475     @overload
476     def pos(self, dt: Iterable[float]) -> array[float]: ...
477     @overload
478     def pos(self, dt: float) -> float: ...
479     @overload
480     def vel(self, dt: Iterable[float]) -> array[float]: ...
481     @overload
482     def vel(self, dt: float) -> float: ...
483     @overload
484     def acc(self, dt: Iterable[float]) -> array[float]: ...
485     @overload
486     def acc(self, dt: float) -> float: ...
487     @overload
488     def jer(self, dt: Iterable[float]) -> array[float]: ...
489     @overload
490     def jer(self, dt: float) -> float: ...
491     @property
492     def q(self) -> array[float]: ...
493     @property
494     def v(self) -> array[float]: ...
495     @property
496     def a(self) -> array[float]: ...
497     @property
498     def j(self) -> array[float]: ...
500 class tf:
501     def __init__(self, num: Iterable[float], den: Iterable[float]) -> None: ...
502     @property
503     def input(self) -> array[float]: ...
504     @property
505     def num(self) -> array[float]: ...
506     @num.setter
507     def num(self, num: Iterable[float]) -> None: ...
508     @property
509     def output(self) -> array[float]: ...
510     @property
511     def den(self) -> array[float]: ...
512     @den.setter
513     def den(self, den: Iterable[float]) -> None: ...
514     def __call__(self, x: float) -> float: ...
515     def zero(self) -> tf: ...
517 class traptraj:
518     def __init__(
519         self,
520         qm: float,
521         vm: float,
522         ac: float,
523         de: float,
524         vs: float = 0,
525         ve: float = 0,
526     ) -> None: ...
527     def gen(
528         self,
529         qm: float,
530         vm: float,
531         ac: float,
532         de: float,
533         vs: float = 0,
534         ve: float = 0,
535     ) -> float: ...
536     @overload
537     def pos(self, dt: Iterable[float]) -> array[float]: ...
538     @overload
539     def pos(self, dt: float) -> float: ...
540     @overload
541     def vel(self, dt: Iterable[float]) -> array[float]: ...
542     @overload
543     def vel(self, dt: float) -> float: ...
544     @overload
545     def acc(self, dt: Iterable[float]) -> array[float]: ...
546     @overload
547     def acc(self, dt: float) -> float: ...
548     @property
549     def ac(self) -> float: ...
550     @property
551     def de(self) -> float: ...
552     @property
553     def ta(self) -> float: ...
554     @property
555     def qa(self) -> float: ...
556     @property
557     def tc(self) -> float: ...
558     @property
559     def qc(self) -> float: ...
560     @property
561     def td(self) -> float: ...
562     @property
563     def qd(self) -> float: ...
564     @property
565     def vs(self) -> float: ...
566     @property
567     def vc(self) -> float: ...
568     @property
569     def ve(self) -> float: ...
571 class version:
572     @staticmethod
573     def check(major: int = 0, minor: int = 0, patch: int = 0) -> int: ...
574     def __init__(self, major: int = 0, minor: int = 0, third: int = 0, extra: int = 0) -> None: ...
575     def compare(self, other: version) -> int: ...
576     def __lt__(self, other: version) -> bool: ...
577     def __gt__(self, other: version) -> bool: ...
578     def __le__(self, other: version) -> bool: ...
579     def __ge__(self, other: version) -> bool: ...
580     def __eq__(self, other: version) -> bool: ...
581     def __ne__(self, other: version) -> bool: ...
582     def parse(self, ver: bytes) -> version: ...
583     @property
584     def major(self) -> int: ...
585     @major.setter
586     def major(self, major: int) -> None: ...
587     @property
588     def minor(self) -> int: ...
589     @minor.setter
590     def minor(self, minor: int) -> None: ...
591     @property
592     def third(self) -> int: ...
593     @third.setter
594     def third(self, third: int) -> None: ...
595     @property
596     def extra(self) -> int: ...
597     @extra.setter
598     def extra(self, extra: int) -> None: ...
599     MAJOR: int
600     MINOR: int
601     PATCH: int
602     TWEAK: int
604 VERSION: str