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