spandsp 0.0.6
math_fixed_tables.h
1static const uint16_t fixed_reciprocal_table[129] =
2{
3 32768,
4 32514,
5 32264,
6 32018,
7 31775,
8 31536,
9 31301,
10 31069,
11 30840,
12 30615,
13 30394,
14 30175,
15 29959,
16 29747,
17 29537,
18 29331,
19 29127,
20 28926,
21 28728,
22 28533,
23 28340,
24 28150,
25 27962,
26 27777,
27 27594,
28 27414,
29 27236,
30 27060,
31 26887,
32 26715,
33 26546,
34 26379,
35 26214,
36 26052,
37 25891,
38 25732,
39 25575,
40 25420,
41 25267,
42 25116,
43 24966,
44 24818,
45 24672,
46 24528,
47 24385,
48 24245,
49 24105,
50 23967,
51 23831,
52 23697,
53 23564,
54 23432,
55 23302,
56 23173,
57 23046,
58 22920,
59 22795,
60 22672,
61 22550,
62 22429,
63 22310,
64 22192,
65 22075,
66 21960,
67 21845,
68 21732,
69 21620,
70 21509,
71 21400,
72 21291,
73 21183,
74 21077,
75 20972,
76 20867,
77 20764,
78 20662,
79 20560,
80 20460,
81 20361,
82 20262,
83 20165,
84 20068,
85 19973,
86 19878,
87 19784,
88 19692,
89 19600,
90 19508,
91 19418,
92 19329,
93 19240,
94 19152,
95 19065,
96 18979,
97 18893,
98 18809,
99 18725,
100 18641,
101 18559,
102 18477,
103 18396,
104 18316,
105 18236,
106 18157,
107 18079,
108 18001,
109 17924,
110 17848,
111 17772,
112 17697,
113 17623,
114 17549,
115 17476,
116 17404,
117 17332,
118 17261,
119 17190,
120 17120,
121 17050,
122 16981,
123 16913,
124 16845,
125 16777,
126 16710,
127 16644,
128 16578,
129 16513,
130 16448,
131 16384
132};
133
134static const uint16_t fixed_sqrt_table[193] =
135{
136 32768,
137 33023,
138 33276,
139 33527,
140 33776,
141 34024,
142 34270,
143 34514,
144 34756,
145 34996,
146 35235,
147 35472,
148 35708,
149 35942,
150 36175,
151 36406,
152 36636,
153 36864,
154 37091,
155 37316,
156 37540,
157 37763,
158 37985,
159 38205,
160 38424,
161 38642,
162 38858,
163 39073,
164 39287,
165 39500,
166 39712,
167 39923,
168 40132,
169 40341,
170 40548,
171 40755,
172 40960,
173 41164,
174 41368,
175 41570,
176 41771,
177 41972,
178 42171,
179 42369,
180 42567,
181 42763,
182 42959,
183 43154,
184 43348,
185 43541,
186 43733,
187 43925,
188 44115,
189 44305,
190 44494,
191 44682,
192 44869,
193 45056,
194 45242,
195 45427,
196 45611,
197 45795,
198 45977,
199 46160,
200 46341,
201 46522,
202 46702,
203 46881,
204 47059,
205 47237,
206 47415,
207 47591,
208 47767,
209 47942,
210 48117,
211 48291,
212 48465,
213 48637,
214 48809,
215 48981,
216 49152,
217 49322,
218 49492,
219 49661,
220 49830,
221 49998,
222 50166,
223 50332,
224 50499,
225 50665,
226 50830,
227 50995,
228 51159,
229 51323,
230 51486,
231 51649,
232 51811,
233 51972,
234 52134,
235 52294,
236 52454,
237 52614,
238 52773,
239 52932,
240 53090,
241 53248,
242 53405,
243 53562,
244 53719,
245 53874,
246 54030,
247 54185,
248 54340,
249 54494,
250 54647,
251 54801,
252 54954,
253 55106,
254 55258,
255 55410,
256 55561,
257 55712,
258 55862,
259 56012,
260 56162,
261 56311,
262 56459,
263 56608,
264 56756,
265 56903,
266 57051,
267 57198,
268 57344,
269 57490,
270 57636,
271 57781,
272 57926,
273 58071,
274 58215,
275 58359,
276 58503,
277 58646,
278 58789,
279 58931,
280 59073,
281 59215,
282 59357,
283 59498,
284 59639,
285 59779,
286 59919,
287 60059,
288 60199,
289 60338,
290 60477,
291 60615,
292 60753,
293 60891,
294 61029,
295 61166,
296 61303,
297 61440,
298 61576,
299 61712,
300 61848,
301 61984,
302 62119,
303 62254,
304 62388,
305 62523,
306 62657,
307 62790,
308 62924,
309 63057,
310 63190,
311 63323,
312 63455,
313 63587,
314 63719,
315 63850,
316 63982,
317 64113,
318 64243,
319 64374,
320 64504,
321 64634,
322 64763,
323 64893,
324 65022,
325 65151,
326 65279,
327 65408,
328 65535
329};
330
331static const int16_t fixed_log10_table[129] =
332{
333 -9864,
334 -9753,
335 -9644,
336 -9534,
337 -9426,
338 -9319,
339 -9212,
340 -9106,
341 -9001,
342 -8897,
343 -8794,
344 -8691,
345 -8589,
346 -8488,
347 -8387,
348 -8287,
349 -8188,
350 -8090,
351 -7992,
352 -7895,
353 -7798,
354 -7702,
355 -7607,
356 -7512,
357 -7419,
358 -7325,
359 -7233,
360 -7140,
361 -7049,
362 -6958,
363 -6868,
364 -6778,
365 -6689,
366 -6600,
367 -6512,
368 -6424,
369 -6337,
370 -6251,
371 -6165,
372 -6079,
373 -5994,
374 -5910,
375 -5826,
376 -5742,
377 -5659,
378 -5577,
379 -5495,
380 -5413,
381 -5332,
382 -5252,
383 -5171,
384 -5092,
385 -5012,
386 -4934,
387 -4855,
388 -4777,
389 -4700,
390 -4623,
391 -4546,
392 -4470,
393 -4394,
394 -4318,
395 -4243,
396 -4168,
397 -4094,
398 -4020,
399 -3947,
400 -3873,
401 -3801,
402 -3728,
403 -3656,
404 -3584,
405 -3513,
406 -3442,
407 -3371,
408 -3301,
409 -3231,
410 -3162,
411 -3092,
412 -3023,
413 -2955,
414 -2887,
415 -2819,
416 -2751,
417 -2684,
418 -2617,
419 -2550,
420 -2484,
421 -2418,
422 -2352,
423 -2287,
424 -2222,
425 -2157,
426 -2092,
427 -2028,
428 -1964,
429 -1900,
430 -1837,
431 -1774,
432 -1711,
433 -1648,
434 -1586,
435 -1524,
436 -1462,
437 -1401,
438 -1340,
439 -1279,
440 -1218,
441 -1158,
442 -1097,
443 -1038,
444 -978,
445 -918,
446 -859,
447 -800,
448 -742,
449 -683,
450 -625,
451 -567,
452 -509,
453 -452,
454 -395,
455 -338,
456 -281,
457 -224,
458 -168,
459 -112,
460 -56,
461 0
462};
463
464static const int16_t fixed_sine_table[257] =
465{
466 0,
467 201,
468 402,
469 603,
470 804,
471 1005,
472 1206,
473 1407,
474 1608,
475 1809,
476 2009,
477 2210,
478 2411,
479 2611,
480 2811,
481 3012,
482 3212,
483 3412,
484 3612,
485 3812,
486 4011,
487 4211,
488 4410,
489 4609,
490 4808,
491 5007,
492 5205,
493 5404,
494 5602,
495 5800,
496 5998,
497 6195,
498 6393,
499 6590,
500 6787,
501 6983,
502 7180,
503 7376,
504 7571,
505 7767,
506 7962,
507 8157,
508 8351,
509 8546,
510 8740,
511 8933,
512 9127,
513 9319,
514 9512,
515 9704,
516 9896,
517 10088,
518 10279,
519 10469,
520 10660,
521 10850,
522 11039,
523 11228,
524 11417,
525 11605,
526 11793,
527 11980,
528 12167,
529 12354,
530 12540,
531 12725,
532 12910,
533 13095,
534 13279,
535 13463,
536 13646,
537 13828,
538 14010,
539 14192,
540 14373,
541 14553,
542 14733,
543 14912,
544 15091,
545 15269,
546 15447,
547 15624,
548 15800,
549 15976,
550 16151,
551 16326,
552 16500,
553 16673,
554 16846,
555 17018,
556 17190,
557 17361,
558 17531,
559 17700,
560 17869,
561 18037,
562 18205,
563 18372,
564 18538,
565 18703,
566 18868,
567 19032,
568 19195,
569 19358,
570 19520,
571 19681,
572 19841,
573 20001,
574 20160,
575 20318,
576 20475,
577 20632,
578 20788,
579 20943,
580 21097,
581 21251,
582 21403,
583 21555,
584 21706,
585 21856,
586 22006,
587 22154,
588 22302,
589 22449,
590 22595,
591 22740,
592 22884,
593 23028,
594 23170,
595 23312,
596 23453,
597 23593,
598 23732,
599 23870,
600 24008,
601 24144,
602 24279,
603 24414,
604 24548,
605 24680,
606 24812,
607 24943,
608 25073,
609 25202,
610 25330,
611 25457,
612 25583,
613 25708,
614 25833,
615 25956,
616 26078,
617 26199,
618 26320,
619 26439,
620 26557,
621 26674,
622 26791,
623 26906,
624 27020,
625 27133,
626 27246,
627 27357,
628 27467,
629 27576,
630 27684,
631 27791,
632 27897,
633 28002,
634 28106,
635 28209,
636 28311,
637 28411,
638 28511,
639 28610,
640 28707,
641 28803,
642 28899,
643 28993,
644 29086,
645 29178,
646 29269,
647 29359,
648 29448,
649 29535,
650 29622,
651 29707,
652 29792,
653 29875,
654 29957,
655 30038,
656 30118,
657 30196,
658 30274,
659 30350,
660 30425,
661 30499,
662 30572,
663 30644,
664 30715,
665 30784,
666 30853,
667 30920,
668 30986,
669 31050,
670 31114,
671 31177,
672 31238,
673 31298,
674 31357,
675 31415,
676 31471,
677 31527,
678 31581,
679 31634,
680 31686,
681 31737,
682 31786,
683 31834,
684 31881,
685 31927,
686 31972,
687 32015,
688 32058,
689 32099,
690 32138,
691 32177,
692 32214,
693 32251,
694 32286,
695 32319,
696 32352,
697 32383,
698 32413,
699 32442,
700 32470,
701 32496,
702 32522,
703 32546,
704 32568,
705 32590,
706 32610,
707 32629,
708 32647,
709 32664,
710 32679,
711 32693,
712 32706,
713 32718,
714 32729,
715 32738,
716 32746,
717 32753,
718 32758,
719 32762,
720 32766,
721 32767,
722 32767
723};
724
725static const uint16_t fixed_arctan_table[257] =
726{
727 1,
728 41,
729 81,
730 122,
731 163,
732 204,
733 244,
734 285,
735 326,
736 367,
737 407,
738 448,
739 489,
740 529,
741 570,
742 610,
743 651,
744 692,
745 732,
746 773,
747 813,
748 854,
749 894,
750 935,
751 975,
752 1015,
753 1056,
754 1096,
755 1136,
756 1177,
757 1217,
758 1257,
759 1297,
760 1337,
761 1377,
762 1417,
763 1457,
764 1497,
765 1537,
766 1577,
767 1617,
768 1656,
769 1696,
770 1736,
771 1775,
772 1815,
773 1854,
774 1894,
775 1933,
776 1973,
777 2012,
778 2051,
779 2090,
780 2129,
781 2168,
782 2207,
783 2246,
784 2285,
785 2324,
786 2363,
787 2401,
788 2440,
789 2478,
790 2517,
791 2555,
792 2594,
793 2632,
794 2670,
795 2708,
796 2746,
797 2784,
798 2822,
799 2860,
800 2897,
801 2935,
802 2973,
803 3010,
804 3047,
805 3085,
806 3122,
807 3159,
808 3196,
809 3233,
810 3270,
811 3307,
812 3344,
813 3380,
814 3417,
815 3453,
816 3490,
817 3526,
818 3562,
819 3599,
820 3635,
821 3670,
822 3706,
823 3742,
824 3778,
825 3813,
826 3849,
827 3884,
828 3920,
829 3955,
830 3990,
831 4025,
832 4060,
833 4095,
834 4129,
835 4164,
836 4199,
837 4233,
838 4267,
839 4302,
840 4336,
841 4370,
842 4404,
843 4438,
844 4471,
845 4505,
846 4539,
847 4572,
848 4605,
849 4639,
850 4672,
851 4705,
852 4738,
853 4771,
854 4803,
855 4836,
856 4869,
857 4901,
858 4933,
859 4966,
860 4998,
861 5030,
862 5062,
863 5094,
864 5125,
865 5157,
866 5188,
867 5220,
868 5251,
869 5282,
870 5313,
871 5344,
872 5375,
873 5406,
874 5437,
875 5467,
876 5498,
877 5528,
878 5559,
879 5589,
880 5619,
881 5649,
882 5679,
883 5708,
884 5738,
885 5768,
886 5797,
887 5826,
888 5856,
889 5885,
890 5914,
891 5943,
892 5972,
893 6000,
894 6029,
895 6058,
896 6086,
897 6114,
898 6142,
899 6171,
900 6199,
901 6227,
902 6254,
903 6282,
904 6310,
905 6337,
906 6365,
907 6392,
908 6419,
909 6446,
910 6473,
911 6500,
912 6527,
913 6554,
914 6580,
915 6607,
916 6633,
917 6660,
918 6686,
919 6712,
920 6738,
921 6764,
922 6790,
923 6815,
924 6841,
925 6867,
926 6892,
927 6917,
928 6943,
929 6968,
930 6993,
931 7018,
932 7043,
933 7068,
934 7092,
935 7117,
936 7141,
937 7166,
938 7190,
939 7214,
940 7238,
941 7262,
942 7286,
943 7310,
944 7334,
945 7358,
946 7381,
947 7405,
948 7428,
949 7451,
950 7475,
951 7498,
952 7521,
953 7544,
954 7566,
955 7589,
956 7612,
957 7635,
958 7657,
959 7679,
960 7702,
961 7724,
962 7746,
963 7768,
964 7790,
965 7812,
966 7834,
967 7856,
968 7877,
969 7899,
970 7920,
971 7942,
972 7963,
973 7984,
974 8005,
975 8026,
976 8047,
977 8068,
978 8089,
979 8110,
980 8131,
981 8151,
982 8172,
983 8192
984};
985