• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright (C) 2018 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19 */
20 /*!
21 ******************************************************************************
22 * \file common_rom.c
23 *
24 * \brief
25 *    This file contain square root Table
26 *
27 * \date
28 *
29 * \author
30 *    ittiam
31 *
32 ******************************************************************************
33 */
34 /*****************************************************************************/
35 /* File Includes                                                             */
36 /*****************************************************************************/
37 /* System include files */
38 #include <stdio.h>
39 #include <stdlib.h>
40 
41 /* User include files */
42 #include "ia_type_def.h"
43 
44 const WORD32 gi4_sqrt_tab[513] = /*sqrt_tab in Q15*/
45     {
46 
47         1073741824,
48 
49         1074789888,
50 
51         1075836928,
52 
53         1076882944,
54 
55         1077927936,
56 
57         1078971904,
58 
59         1080014976,
60 
61         1081056896,
62 
63         1082097920,
64 
65         1083137920,
66 
67         1084176896,
68 
69         1085214848,
70 
71         1086251904,
72 
73         1087287808,
74 
75         1088322944,
76 
77         1089356928,
78 
79         1090390016,
80 
81         1091422080,
82 
83         1092453120,
84 
85         1093483264,
86 
87         1094512512,
88 
89         1095540608,
90 
91         1096567936,
92 
93         1097594112,
94 
95         1098619392,
96 
97         1099643776,
98 
99         1100667264,
100 
101         1101689600,
102 
103         1102711168,
104 
105         1103731712,
106 
107         1104751360,
108 
109         1105769984,
110 
111         1106787712,
112 
113         1107804544,
114 
115         1108820352,
116 
117         1109835392,
118 
119         1110849408,
120 
121         1111862400,
122 
123         1112874624,
124 
125         1113885824,
126 
127         1114896128,
128 
129         1115905536,
130 
131         1116914048,
132 
133         1117921664,
134 
135         1118928384,
136 
137         1119934208,
138 
139         1120939008,
140 
141         1121943040,
142 
143         1122946048,
144 
145         1123948288,
146 
147         1124949504,
148 
149         1125949952,
150 
151         1126949504,
152 
153         1127948032,
154 
155         1128945792,
156 
157         1129942656,
158 
159         1130938624,
160 
161         1131933824,
162 
163         1132928000,
164 
165         1133921408,
166 
167         1134913920,
168 
169         1135905536,
170 
171         1136896256,
172 
173         1137886208,
174 
175         1138875136,
176 
177         1139863424,
178 
179         1140850688,
180 
181         1141837184,
182 
183         1142822784,
184 
185         1143807488,
186 
187         1144791424,
188 
189         1145774592,
190 
191         1146756736,
192 
193         1147738112,
194 
195         1148718720,
196 
197         1149698432,
198 
199         1150677376,
200 
201         1151655424,
202 
203         1152632576,
204 
205         1153608960,
206 
207         1154584576,
208 
209         1155559296,
210 
211         1156533248,
212 
213         1157506304,
214 
215         1158478592,
216 
217         1159450112,
218 
219         1160420736,
220 
221         1161390592,
222 
223         1162359680,
224 
225         1163327872,
226 
227         1164295296,
228 
229         1165261952,
230 
231         1166227712,
232 
233         1167192704,
234 
235         1168156928,
236 
237         1169120384,
238 
239         1170083072,
240 
241         1171044864,
242 
243         1172005888,
244 
245         1172966144,
246 
247         1173925632,
248 
249         1174884352,
250 
251         1175842304,
252 
253         1176799488,
254 
255         1177755776,
256 
257         1178711424,
258 
259         1179666176,
260 
261         1180620160,
262 
263         1181573504,
264 
265         1182525952,
266 
267         1183477760,
268 
269         1184428672,
270 
271         1185378816,
272 
273         1186328320,
274 
275         1187277056,
276 
277         1188224896,
278 
279         1189172096,
280 
281         1190118528,
282 
283         1191064192,
284 
285         1192009088,
286 
287         1192953216,
288 
289         1193896704,
290 
291         1194839296,
292 
293         1195781248,
294 
295         1196722432,
296 
297         1197662976,
298 
299         1198602624,
300 
301         1199541632,
302 
303         1200479872,
304 
305         1201417344,
306 
307         1202354176,
308 
309         1203290240,
310 
311         1204225536,
312 
313         1205160064,
314 
315         1206093952,
316 
317         1207027072,
318 
319         1207959552,
320 
321         1208891264,
322 
323         1209822208,
324 
325         1210752512,
326 
327         1211682048,
328 
329         1212610944,
330 
331         1213539072,
332 
333         1214466560,
334 
335         1215393280,
336 
337         1216319232,
338 
339         1217244544,
340 
341         1218169088,
342 
343         1219092992,
344 
345         1220016256,
346 
347         1220938752,
348 
349         1221860608,
350 
351         1222781696,
352 
353         1223702144,
354 
355         1224621824,
356 
357         1225540864,
358 
359         1226459264,
360 
361         1227376896,
362 
363         1228293888,
364 
365         1229210240,
366 
367         1230125824,
368 
369         1231040768,
370 
371         1231954944,
372 
373         1232868608,
374 
375         1233781504,
376 
377         1234693632,
378 
379         1235605248,
380 
381         1236516096,
382 
383         1237426304,
384 
385         1238335872,
386 
387         1239244672,
388 
389         1240152960,
390 
391         1241060480,
392 
393         1241967360,
394 
395         1242873600,
396 
397         1243779072,
398 
399         1244684032,
400 
401         1245588224,
402 
403         1246491776,
404 
405         1247394816,
406 
407         1248297088,
408 
409         1249198592,
410 
411         1250099584,
412 
413         1250999936,
414 
415         1251899648,
416 
417         1252798592,
418 
419         1253697024,
420 
421         1254594816,
422 
423         1255491840,
424 
425         1256388352,
426 
427         1257284224,
428 
429         1258179328,
430 
431         1259073920,
432 
433         1259967744,
434 
435         1260861056,
436 
437         1261753728,
438 
439         1262645760,
440 
441         1263537152,
442 
443         1264427904,
444 
445         1265318016,
446 
447         1266207488,
448 
449         1267096448,
450 
451         1267984640,
452 
453         1268872320,
454 
455         1269759232,
456 
457         1270645632,
458 
459         1271531520,
460 
461         1272416640,
462 
463         1273301120,
464 
465         1274185088,
466 
467         1275068416,
468 
469         1275951104,
470 
471         1276833280,
472 
473         1277714688,
474 
475         1278595584,
476 
477         1279475840,
478 
479         1280355584,
480 
481         1281234560,
482 
483         1282113024,
484 
485         1282990848,
486 
487         1283868160,
488 
489         1284744832,
490 
491         1285620864,
492 
493         1286496384,
494 
495         1287371264,
496 
497         1288245504,
498 
499         1289119232,
500 
501         1289992320,
502 
503         1290864768,
504 
505         1291736704,
506 
507         1292608000,
508 
509         1293478784,
510 
511         1294348928,
512 
513         1295218432,
514 
515         1296087424,
516 
517         1296955904,
518 
519         1297823616,
520 
521         1298690944,
522 
523         1299557504,
524 
525         1300423680,
526 
527         1301289216,
528 
529         1302154112,
530 
531         1303018496,
532 
533         1303882240,
534 
535         1304745472,
536 
537         1305608064,
538 
539         1306470144,
540 
541         1307331712,
542 
543         1308192640,
544 
545         1309052928,
546 
547         1309912704,
548 
549         1310771968,
550 
551         1311630720,
552 
553         1312488832,
554 
555         1313346304,
556 
557         1314203392,
558 
559         1315059840,
560 
561         1315915648,
562 
563         1316770944,
564 
565         1317625728,
566 
567         1318480000,
568 
569         1319333632,
570 
571         1320186752,
572 
573         1321039360,
574 
575         1321891328,
576 
577         1322742784,
578 
579         1323593728,
580 
581         1324444032,
582 
583         1325293824,
584 
585         1326143104,
586 
587         1326991872,
588 
589         1327840128,
590 
591         1328687744,
592 
593         1329534848,
594 
595         1330381440,
596 
597         1331227392,
598 
599         1332072960,
600 
601         1332917888,
602 
603         1333762304,
604 
605         1334606208,
606 
607         1335449472,
608 
609         1336292352,
610 
611         1337134592,
612 
613         1337976448,
614 
615         1338817664,
616 
617         1339658368,
618 
619         1340498560,
620 
621         1341338112,
622 
623         1342177280,
624 
625         1343015936,
626 
627         1343853952,
628 
629         1344691456,
630 
631         1345528576,
632 
633         1346365056,
634 
635         1347201024,
636 
637         1348036480,
638 
639         1348871424,
640 
641         1349705856,
642 
643         1350539776,
644 
645         1351373184,
646 
647         1352206080,
648 
649         1353038464,
650 
651         1353870336,
652 
653         1354701696,
654 
655         1355532544,
656 
657         1356363008,
658 
659         1357192832,
660 
661         1358022144,
662 
663         1358850944,
664 
665         1359679232,
666 
667         1360507008,
668 
669         1361334400,
670 
671         1362161152,
672 
673         1362987520,
674 
675         1363813248,
676 
677         1364638592,
678 
679         1365463424,
680 
681         1366287744,
682 
683         1367111552,
684 
685         1367934848,
686 
687         1368757632,
688 
689         1369579904,
690 
691         1370401792,
692 
693         1371223168,
694 
695         1372043904,
696 
697         1372864384,
698 
699         1373684224,
700 
701         1374503552,
702 
703         1375322496,
704 
705         1376140800,
706 
707         1376958720,
708 
709         1377776256,
710 
711         1378593152,
712 
713         1379409536,
714 
715         1380225536,
716 
717         1381041024,
718 
719         1381856128,
720 
721         1382670592,
722 
723         1383484672,
724 
725         1384298240,
726 
727         1385111296,
728 
729         1385923968,
730 
731         1386736128,
732 
733         1387547776,
734 
735         1388358912,
736 
737         1389169664,
738 
739         1389979904,
740 
741         1390789760,
742 
743         1391598976,
744 
745         1392407808,
746 
747         1393216256,
748 
749         1394024064,
750 
751         1394831488,
752 
753         1395638528,
754 
755         1396445056,
756 
757         1397251072,
758 
759         1398056576,
760 
761         1398861696,
762 
763         1399666304,
764 
765         1400470528,
766 
767         1401274240,
768 
769         1402077440,
770 
771         1402880256,
772 
773         1403682560,
774 
775         1404484480,
776 
777         1405285888,
778 
779         1406086912,
780 
781         1406887296,
782 
783         1407687424,
784 
785         1408487040,
786 
787         1409286144,
788 
789         1410084864,
790 
791         1410883072,
792 
793         1411680896,
794 
795         1412478208,
796 
797         1413275136,
798 
799         1414071552,
800 
801         1414867456,
802 
803         1415662976,
804 
805         1416458112,
806 
807         1417252736,
808 
809         1418046976,
810 
811         1418840704,
812 
813         1419634048,
814 
815         1420426880,
816 
817         1421219328,
818 
819         1422011392,
820 
821         1422802816,
822 
823         1423593984,
824 
825         1424384640,
826 
827         1425174912,
828 
829         1425964672,
830 
831         1426754048,
832 
833         1427542912,
834 
835         1428331392,
836 
837         1429119488,
838 
839         1429907072,
840 
841         1430694272,
842 
843         1431480960,
844 
845         1432267264,
846 
847         1433053184,
848 
849         1433838592,
850 
851         1434623616,
852 
853         1435408256,
854 
855         1436192384,
856 
857         1436976128,
858 
859         1437759488,
860 
861         1438542336,
862 
863         1439324800,
864 
865         1440106752,
866 
867         1440888448,
868 
869         1441669632,
870 
871         1442450304,
872 
873         1443230720,
874 
875         1444010624,
876 
877         1444790144,
878 
879         1445569152,
880 
881         1446347776,
882 
883         1447126016,
884 
885         1447903872,
886 
887         1448681216,
888 
889         1449458304,
890 
891         1450234880,
892 
893         1451010944,
894 
895         1451786752,
896 
897         1452562048,
898 
899         1453336960,
900 
901         1454111360,
902 
903         1454885504,
904 
905         1455659136,
906 
907         1456432384,
908 
909         1457205248,
910 
911         1457977728,
912 
913         1458749696,
914 
915         1459521408,
916 
917         1460292608,
918 
919         1461063424,
920 
921         1461833728,
922 
923         1462603776,
924 
925         1463373312,
926 
927         1464142592,
928 
929         1464911360,
930 
931         1465679744,
932 
933         1466447744,
934 
935         1467215232,
936 
937         1467982464,
938 
939         1468749184,
940 
941         1469515520,
942 
943         1470281600,
944 
945         1471047168,
946 
947         1471812352,
948 
949         1472577024,
950 
951         1473341440,
952 
953         1474105472,
954 
955         1474868992,
956 
957         1475632256,
958 
959         1476395008,
960 
961         1477157376,
962 
963         1477919360,
964 
965         1478681088,
966 
967         1479442304,
968 
969         1480203136,
970 
971         1480963584,
972 
973         1481723648,
974 
975         1482483200,
976 
977         1483242496,
978 
979         1484001408,
980 
981         1484759936,
982 
983         1485518080,
984 
985         1486275712,
986 
987         1487033088,
988 
989         1487790080,
990 
991         1488546560,
992 
993         1489302784,
994 
995         1490058624,
996 
997         1490813952,
998 
999         1491569024,
1000 
1001         1492323712,
1002 
1003         1493078016,
1004 
1005         1493831808,
1006 
1007         1494585344,
1008 
1009         1495338496,
1010 
1011         1496091264,
1012 
1013         1496843648,
1014 
1015         1497595648,
1016 
1017         1498347264,
1018 
1019         1499098496,
1020 
1021         1499849344,
1022 
1023         1500599808,
1024 
1025         1501349888,
1026 
1027         1502099712,
1028 
1029         1502849024,
1030 
1031         1503598080,
1032 
1033         1504346624,
1034 
1035         1505094912,
1036 
1037         1505842816,
1038 
1039         1506590208,
1040 
1041         1507337344,
1042 
1043         1508084096,
1044 
1045         1508830592,
1046 
1047         1509576576,
1048 
1049         1510322176,
1050 
1051         1511067520,
1052 
1053         1511812480,
1054 
1055         1512556928,
1056 
1057         1513301120,
1058 
1059         1514044928,
1060 
1061         1514788480,
1062 
1063         1515531520,
1064 
1065         1516274304,
1066 
1067         1517016576,
1068 
1069         1517758592,
1070 
1071         1518500249
1072 
1073     };
1074