change c++ file suffix .cpp to .cc
[liba.git] / liba.pyi
blob0cc77817845f7bc92f892f9e12f38bd3cc1a8a02
1 from typing import Iterable, overload
2 from array import array
4 def hash_bkdr(str: bytes, val: int = 0) -> int: ...
5 def hash_sdbm(str: bytes, val: int = 0) -> int: ...
6 def isqrt(x: int) -> int: ...
7 @overload
8 def sqrt_u32(x: Iterable[int]) -> array[int]: ...
9 @overload
10 def sqrt_u32(x: int) -> int: ...
11 @overload
12 def sqrt_u64(x: Iterable[int]) -> array[int]: ...
13 @overload
14 def sqrt_u64(x: int) -> int: ...
15 @overload
16 def rsqrt_f32(x: Iterable[float]) -> array[float]: ...
17 @overload
18 def rsqrt_f32(x: float) -> float: ...
19 @overload
20 def rsqrt_f64(x: Iterable[float]) -> array[float]: ...
21 @overload
22 def rsqrt_f64(x: float) -> float: ...
24 class crc8:
25     def __init__(self, poly: int, reversed=False) -> None: ...
26     def gen(self, poly: int, reversed=False) -> crc8: ...
27     def __call__(self, block: bytes, value=0) -> int: ...
28     def pack(self, block: bytes, value=0) -> bytes: ...
29     @property
30     def table(self) -> array[int]: ...
32 class crc16:
33     def __init__(self, poly: int, reversed=False) -> None: ...
34     def gen(self, poly: int, reversed=False) -> crc16: ...
35     def __call__(self, block: bytes, value=0) -> int: ...
36     def pack(self, block: bytes, value=0) -> bytes: ...
37     @property
38     def table(self) -> array[int]: ...
40 class crc32:
41     def __init__(self, poly: int, reversed=False) -> None: ...
42     def gen(self, poly: int, reversed=False) -> crc32: ...
43     def __call__(self, block: bytes, value=0) -> int: ...
44     def pack(self, block: bytes, value=0) -> bytes: ...
45     @property
46     def table(self) -> array[int]: ...
48 class crc64:
49     def __init__(self, poly: int, reversed=False) -> None: ...
50     def gen(self, poly: int, reversed=False) -> crc64: ...
51     def __call__(self, block: bytes, value=0) -> int: ...
52     def pack(self, block: bytes, value=0) -> bytes: ...
53     @property
54     def table(self) -> array[int]: ...
56 class hpf:
57     def __init__(self, fc: float, ts: float) -> None: ...
58     def gen(self, fc: float, ts: float) -> hpf: ...
59     def __call__(self, x: float) -> float: ...
60     def zero(self) -> hpf: ...
61     @property
62     def alpha(self) -> float: ...
63     @alpha.setter
64     def alpha(self, x: float) -> None: ...
65     @property
66     def output(self) -> float: ...
67     @property
68     def input(self) -> float: ...
70 class lpf:
71     def __init__(self, fc: float, ts: float) -> None: ...
72     def gen(self, fc: float, ts: float) -> lpf: ...
73     def __call__(self, x: float) -> float: ...
74     def zero(self) -> lpf: ...
75     @property
76     def alpha(self) -> float: ...
77     @alpha.setter
78     def alpha(self, x: float) -> None: ...
79     @property
80     def output(self) -> float: ...
82 class mf:
83     NUL: int
84     GAUSS: int
85     GAUSS2: int
86     GBELL: int
87     SIG: int
88     DSIG: int
89     PSIG: int
90     TRAP: int
91     TRI: int
92     LINS: int
93     LINZ: int
94     S: int
95     Z: int
96     PI: int
97     @staticmethod
98     @overload
99     def __call__(e: int, x: Iterable[float], a: Iterable[float]) -> array[float]: ...
100     @staticmethod
101     @overload
102     def __call__(e: int, x: float, a: Iterable[float]) -> float: ...
103     @staticmethod
104     @overload
105     def gauss(x: Iterable[float], sigma: float, c: float) -> array[float]: ...
106     @staticmethod
107     @overload
108     def gauss(x: float, sigma: float, c: float) -> float: ...
109     @staticmethod
110     @overload
111     def gauss2(
112         x: Iterable[float], sigma1: float, c1: float, sigma2: float, c2: float
113     ) -> array[float]: ...
114     @staticmethod
115     @overload
116     def gauss2(x: float, sigma1: float, c1: float, sigma2: float, c2: float) -> float: ...
117     @staticmethod
118     @overload
119     def gbell(x: Iterable[float], a: float, b: float, c: float) -> array[float]: ...
120     @staticmethod
121     @overload
122     def gbell(x: float, a: float, b: float, c: float) -> float: ...
123     @staticmethod
124     @overload
125     def sig(x: Iterable[float], a: float, c: float) -> array[float]: ...
126     @staticmethod
127     @overload
128     def sig(x: float, a: float, c: float) -> float: ...
129     @staticmethod
130     @overload
131     def dsig(x: Iterable[float], a1: float, c1: float, a2: float, c2: float) -> array[float]: ...
132     @staticmethod
133     @overload
134     def dsig(x: float, a1: float, c1: float, a2: float, c2: float) -> float: ...
135     @staticmethod
136     @overload
137     def psig(x: Iterable[float], a1: float, c1: float, a2: float, c2: float) -> array[float]: ...
138     @staticmethod
139     @overload
140     def psig(x: float, a1: float, c1: float, a2: float, c2: float) -> float: ...
141     @staticmethod
142     @overload
143     def trap(x: Iterable[float], a: float, b: float, c: float, d: float) -> array[float]: ...
144     @staticmethod
145     @overload
146     def trap(x: float, a: float, b: float, c: float, d: float) -> float: ...
147     @staticmethod
148     @overload
149     def tri(x: Iterable[float], a: float, b: float, c: float) -> array[float]: ...
150     @staticmethod
151     @overload
152     def tri(x: float, a: float, b: float, c: float) -> float: ...
153     @staticmethod
154     @overload
155     def lins(x: Iterable[float], a: float, b: float) -> array[float]: ...
156     @staticmethod
157     @overload
158     def lins(x: float, a: float, b: float) -> float: ...
159     @staticmethod
160     @overload
161     def linz(x: Iterable[float], a: float, b: float) -> array[float]: ...
162     @staticmethod
163     @overload
164     def linz(x: float, a: float, b: float) -> float: ...
165     @staticmethod
166     @overload
167     def s(x: Iterable[float], a: float, b: float) -> array[float]: ...
168     @staticmethod
169     @overload
170     def s(x: float, a: float, b: float) -> float: ...
171     @staticmethod
172     @overload
173     def z(x: Iterable[float], a: float, b: float) -> array[float]: ...
174     @staticmethod
175     @overload
176     def z(x: float, a: float, b: float) -> float: ...
177     @staticmethod
178     @overload
179     def pi(x: Iterable[float], a: float, b: float, c: float, d: float) -> array[float]: ...
180     @staticmethod
181     @overload
182     def pi(x: float, a: float, b: float, c: float, d: float) -> float: ...
184 class pid:
185     def __init__(self) -> None: ...
186     def kpid(self, kp: float, ki: float, kd: float) -> pid: ...
187     def run(self, set: float, fdb: float) -> float: ...
188     def pos(self, set: float, fdb: float) -> float: ...
189     def inc(self, set: float, fdb: float) -> float: ...
190     def zero(self) -> pid: ...
191     @property
192     def kp(self) -> float: ...
193     @kp.setter
194     def kp(self, kp: float) -> None: ...
195     @property
196     def ki(self) -> float: ...
197     @ki.setter
198     def ki(self, ki: float) -> None: ...
199     @property
200     def kd(self) -> float: ...
201     @kd.setter
202     def kd(self, kd: float) -> None: ...
203     @property
204     def summax(self) -> float: ...
205     @summax.setter
206     def summax(self, summax: float) -> None: ...
207     @property
208     def summin(self) -> float: ...
209     @summin.setter
210     def summin(self, summin: float) -> None: ...
211     @property
212     def sum(self) -> float: ...
213     @property
214     def outmax(self) -> float: ...
215     @outmax.setter
216     def outmax(self, outmax: float) -> None: ...
217     @property
218     def outmin(self) -> float: ...
219     @outmin.setter
220     def outmin(self, outmin: float) -> None: ...
221     @property
222     def out(self) -> float: ...
223     @property
224     def fdb(self) -> float: ...
225     @property
226     def err(self) -> float: ...
228 class pid_fuzzy:
229     CAP: int
230     CAP_ALGEBRA: int
231     CAP_BOUNDED: int
232     CUP: int
233     CUP_ALGEBRA: int
234     CUP_BOUNDED: int
235     EQU: int
236     def __init__(self) -> None: ...
237     def op(self, op: int) -> pid_fuzzy: ...
238     def rule(
239         self,
240         me: Iterable[Iterable[float]],
241         mec: Iterable[Iterable[float]],
242         mkp: Iterable[Iterable[float]],
243         mki: Iterable[Iterable[float]],
244         mkd: Iterable[Iterable[float]],
245     ) -> pid_fuzzy: ...
246     def set_block(self, num: int) -> pid_fuzzy: ...
247     def kpid(self, kp: float, ki: float, kd: float) -> pid_fuzzy: ...
248     def run(self, set: float, fdb: float) -> float: ...
249     def pos(self, set: float, fdb: float) -> float: ...
250     def inc(self, set: float, fdb: float) -> float: ...
251     def zero(self) -> pid_fuzzy: ...
252     @property
253     def me(self) -> array[float]: ...
254     @property
255     def mec(self) -> array[float]: ...
256     @property
257     def mkp(self) -> array[float]: ...
258     @property
259     def mki(self) -> array[float]: ...
260     @property
261     def mkd(self) -> array[float]: ...
262     @property
263     def kp(self) -> float: ...
264     @kp.setter
265     def kp(self, kp: float) -> None: ...
266     @property
267     def ki(self) -> float: ...
268     @ki.setter
269     def ki(self, ki: float) -> None: ...
270     @property
271     def kd(self) -> float: ...
272     @kd.setter
273     def kd(self, kd: float) -> None: ...
274     @property
275     def summax(self) -> float: ...
276     @summax.setter
277     def summax(self, summax: float) -> None: ...
278     @property
279     def summin(self) -> float: ...
280     @summin.setter
281     def summin(self, summin: float) -> None: ...
282     @property
283     def sum(self) -> float: ...
284     @property
285     def outmax(self) -> float: ...
286     @outmax.setter
287     def outmax(self, outmax: float) -> None: ...
288     @property
289     def outmin(self) -> float: ...
290     @outmin.setter
291     def outmin(self, outmin: float) -> None: ...
292     @property
293     def out(self) -> float: ...
294     @property
295     def fdb(self) -> float: ...
296     @property
297     def err(self) -> float: ...
298     @property
299     def order(self) -> int: ...
300     @property
301     def block(self) -> int: ...
302     @block.setter
303     def block(self, block: int) -> None: ...
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 outmax(self) -> float: ...
342     @outmax.setter
343     def outmax(self, outmax: float) -> None: ...
344     @property
345     def outmin(self) -> float: ...
346     @outmin.setter
347     def outmin(self, outmin: float) -> None: ...
348     @property
349     def out(self) -> float: ...
350     @property
351     def fdb(self) -> float: ...
352     @property
353     def err(self) -> float: ...
354     @property
355     def ec(self) -> float: ...
357 @overload
358 def poly_eval(x: Iterable[float], *a: float) -> array[float]: ...
359 @overload
360 def poly_eval(x: float, *a: float) -> float: ...
361 @overload
362 def poly_evar(x: Iterable[float], *a: float) -> array[float]: ...
363 @overload
364 def poly_evar(x: float, *a: float) -> float: ...
366 class tf:
367     def __init__(self, num: Iterable[float], den: Iterable[float]) -> None: ...
368     def __call__(self, x: float) -> float: ...
369     @property
370     def input(self) -> array[float]: ...
371     @property
372     def num(self) -> array[float]: ...
373     @num.setter
374     def num(self, num: Iterable[float]) -> None: ...
375     @property
376     def output(self) -> array[float]: ...
377     @property
378     def den(self) -> array[float]: ...
379     @den.setter
380     def den(self, den: Iterable[float]) -> None: ...
381     def zero(self) -> tf: ...
383 class trajbell:
384     def gen(
385         self,
386         jm: float,
387         am: float,
388         vm: float,
389         p0: float,
390         p1: float,
391         v0: float = 0,
392         v1: float = 0,
393     ) -> float: ...
394     @overload
395     def pos(self, dt: Iterable[float]) -> array[float]: ...
396     @overload
397     def pos(self, dt: float) -> float: ...
398     @overload
399     def vel(self, dt: Iterable[float]) -> array[float]: ...
400     @overload
401     def vel(self, dt: float) -> float: ...
402     @overload
403     def acc(self, dt: Iterable[float]) -> array[float]: ...
404     @overload
405     def acc(self, dt: float) -> float: ...
406     @overload
407     def jer(self, dt: Iterable[float]) -> array[float]: ...
408     @overload
409     def jer(self, dt: float) -> float: ...
410     @property
411     def t(self) -> float: ...
412     @property
413     def tv(self) -> float: ...
414     @property
415     def ta(self) -> float: ...
416     @property
417     def td(self) -> float: ...
418     @property
419     def taj(self) -> float: ...
420     @property
421     def tdj(self) -> float: ...
422     @property
423     def p0(self) -> float: ...
424     @property
425     def p1(self) -> float: ...
426     @property
427     def v0(self) -> float: ...
428     @property
429     def v1(self) -> float: ...
430     @property
431     def vm(self) -> float: ...
432     @property
433     def jm(self) -> float: ...
434     @property
435     def am(self) -> float: ...
436     @property
437     def dm(self) -> float: ...
439 class trajpoly3:
440     def __init__(
441         self,
442         ts: float,
443         p0: float,
444         p1: float,
445         v0: float = 0,
446         v1: float = 0,
447     ) -> None: ...
448     def gen(
449         self,
450         ts: float,
451         p0: float,
452         p1: float,
453         v0: float = 0,
454         v1: float = 0,
455     ) -> trajpoly3: ...
456     @overload
457     def pos(self, dt: Iterable[float]) -> array[float]: ...
458     @overload
459     def pos(self, dt: float) -> float: ...
460     @overload
461     def vel(self, dt: Iterable[float]) -> array[float]: ...
462     @overload
463     def vel(self, dt: float) -> float: ...
464     @overload
465     def acc(self, dt: Iterable[float]) -> array[float]: ...
466     @overload
467     def acc(self, dt: float) -> float: ...
468     @property
469     def p(self) -> array[float]: ...
470     @property
471     def v(self) -> array[float]: ...
472     @property
473     def a(self) -> array[float]: ...
475 class trajpoly5:
476     def __init__(
477         self,
478         ts: float,
479         p0: float,
480         p1: float,
481         v0: float = 0,
482         v1: float = 0,
483         a0: float = 0,
484         a1: float = 0,
485     ) -> None: ...
486     def gen(
487         self,
488         ts: float,
489         p0: float,
490         p1: float,
491         v0: float = 0,
492         v1: float = 0,
493         a0: float = 0,
494         a1: float = 0,
495     ) -> trajpoly5: ...
496     @overload
497     def pos(self, dt: Iterable[float]) -> array[float]: ...
498     @overload
499     def pos(self, dt: float) -> float: ...
500     @overload
501     def vel(self, dt: Iterable[float]) -> array[float]: ...
502     @overload
503     def vel(self, dt: float) -> float: ...
504     @overload
505     def acc(self, dt: Iterable[float]) -> array[float]: ...
506     @overload
507     def acc(self, dt: float) -> float: ...
508     @property
509     def p(self) -> array[float]: ...
510     @property
511     def v(self) -> array[float]: ...
512     @property
513     def a(self) -> array[float]: ...
515 class trajpoly7:
516     def __init__(
517         self,
518         ts: float,
519         p0: float,
520         p1: float,
521         v0: float = 0,
522         v1: float = 0,
523         a0: float = 0,
524         a1: float = 0,
525         j0: float = 0,
526         j1: float = 0,
527     ) -> None: ...
528     def gen(
529         self,
530         ts: float,
531         p0: float,
532         p1: float,
533         v0: float = 0,
534         v1: float = 0,
535         a0: float = 0,
536         a1: float = 0,
537         j0: float = 0,
538         j1: float = 0,
539     ) -> trajpoly7: ...
540     @overload
541     def pos(self, dt: Iterable[float]) -> array[float]: ...
542     @overload
543     def pos(self, dt: float) -> float: ...
544     @overload
545     def vel(self, dt: Iterable[float]) -> array[float]: ...
546     @overload
547     def vel(self, dt: float) -> float: ...
548     @overload
549     def acc(self, dt: Iterable[float]) -> array[float]: ...
550     @overload
551     def acc(self, dt: float) -> float: ...
552     @overload
553     def jer(self, dt: Iterable[float]) -> array[float]: ...
554     @overload
555     def jer(self, dt: float) -> float: ...
556     @property
557     def p(self) -> array[float]: ...
558     @property
559     def v(self) -> array[float]: ...
560     @property
561     def a(self) -> array[float]: ...
562     @property
563     def j(self) -> array[float]: ...
565 class trajtrap:
566     def gen(
567         self,
568         vm: float,
569         ac: float,
570         de: float,
571         p0: float,
572         p1: float,
573         v0: float = 0,
574         v1: float = 0,
575     ) -> float: ...
576     @overload
577     def pos(self, dt: Iterable[float]) -> array[float]: ...
578     @overload
579     def pos(self, dt: float) -> float: ...
580     @overload
581     def vel(self, dt: Iterable[float]) -> array[float]: ...
582     @overload
583     def vel(self, dt: float) -> float: ...
584     @overload
585     def acc(self, dt: Iterable[float]) -> array[float]: ...
586     @overload
587     def acc(self, dt: float) -> float: ...
588     @property
589     def t(self) -> float: ...
590     @property
591     def p0(self) -> float: ...
592     @property
593     def p1(self) -> float: ...
594     @property
595     def v0(self) -> float: ...
596     @property
597     def v1(self) -> float: ...
598     @property
599     def vc(self) -> float: ...
600     @property
601     def ta(self) -> float: ...
602     @property
603     def td(self) -> float: ...
604     @property
605     def pa(self) -> float: ...
606     @property
607     def pd(self) -> float: ...
608     @property
609     def ac(self) -> float: ...
610     @property
611     def de(self) -> float: ...
613 class version:
614     @staticmethod
615     def check(major: int = 0, minor: int = 0, patch: int = 0) -> int: ...
616     def __init__(self, major: int = 0, minor: int = 0, third: int = 0, extra: int = 0) -> None: ...
617     def __lt__(self, that: version) -> bool: ...
618     def __gt__(self, that: version) -> bool: ...
619     def __le__(self, that: version) -> bool: ...
620     def __ge__(self, that: version) -> bool: ...
621     def __eq__(self, that: version) -> bool: ...
622     def __ne__(self, that: version) -> bool: ...
623     def parse(self, ver: bytes) -> version: ...
624     def cmp(self, that: version) -> int: ...
625     @property
626     def major(self) -> int: ...
627     @major.setter
628     def major(self, major: int) -> None: ...
629     @property
630     def minor(self) -> int: ...
631     @minor.setter
632     def minor(self, minor: int) -> None: ...
633     @property
634     def third(self) -> int: ...
635     @third.setter
636     def third(self, third: int) -> None: ...
637     @property
638     def extra(self) -> int: ...
639     @extra.setter
640     def extra(self, extra: int) -> None: ...
641     @property
642     def alpha(self) -> bytes: ...
643     @alpha.setter
644     def alpha(self, alpha: bytes) -> None: ...
645     MAJOR: int
646     MINOR: int
647     PATCH: int
648     TWEAK: int
650 VERSION: str