2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
14 * $Source: /cvs/cvsroot/d2x/maths/tables.c,v $
17 * $Date: 2001-01-31 15:18:04 $
19 * C version of fixed point library
21 * $Log: not supported by cvs2svn $
22 * Revision 1.1.1.1 2001/01/19 03:29:58 bradleyb
25 * Revision 1.1.1.1 1999/06/14 22:13:38 donut
26 * Import of d1x 1.37 source.
28 * Revision 1.2 1995/08/31 15:44:36 allender
31 * Revision 1.1 1995/04/17 11:38:04 allender
42 ubyte guess_table[] = {
48 5,5,5,5,5,5,5,5,5,5,5,
49 6,6,6,6,6,6,6,6,6,6,6,6,6,
50 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
51 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
52 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
53 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
54 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
55 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
56 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
57 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
58 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15
61 short sincos_table[] = {
386 ushort asin_table[] = {
644 16384 //extra for when exacty 1
647 ushort acos_table[] = {
905 0 //extra for when exacty 1
908 fix isqrt_guess_table[] = {
911 16777216,11863283,9686330,8388608,7502999,6849269,6341191,
912 5931641,5592405,5305421,5058520,4843165,4653162,4483899,4331858,
913 4194304,4069072,3954427,3848957,3751499,3661088,3576914,3498291,
914 3424634,3355443,3290282,3228776,3170595,3115450,3063086,3013276,
915 2965820,2920538,2877268,2835867,2796202,2758157,2721623,2686504,
916 2652710,2620160,2588780,2558501,2529260,2500999,2473665,2447208,
917 2421582,2396745,2372656,2349280,2326581,2304527,2283089,2262239,
918 2241949,2222196,2202956,2184207,2165929,2148102,2130708,2113730,
919 2097152,2080957,2065132,2049663,2034536,2019739,2005260,1991089,
920 1977213,1963624,1950311,1937266,1924478,1911941,1899645,1887584,
921 1875749,1864135,1852733,1841538,1830544,1819744,1809133,1798706,
922 1788457,1778381,1768473,1758730,1749145,1739716,1730437,1721306,
923 1712317,1703468,1694754,1686173,1677721,1669395,1661191,1653108,
924 1645141,1637288,1629547,1621914,1614388,1606965,1599644,1592422,
925 1585297,1578267,1571330,1564483,1557725,1551054,1544467,1537964,
926 1531543,1525201,1518937,1512750,1506638,1500599,1494633,1488737,
927 1482910,1477151,1471459,1465832,1460269,1454769,1449330,1443952,
928 1438634,1433374,1428171,1423024,1417933,1412896,1407912,1402981,
929 1398101,1393271,1388492,1383761,1379078,1374443,1369853,1365310,
930 1360811,1356357,1351946,1347578,1343252,1338967,1334723,1330519,
931 1326355,1322229,1318142,1314092,1310080,1306104,1302164,1298259,
932 1294390,1290555,1286753,1282985,1279250,1275548,1271877,1268238,
933 1264630,1261052,1257505,1253987,1250499,1247040,1243609,1240207,
934 1236832,1233485,1230165,1226871,1223604,1220362,1217147,1213956,
935 1210791,1207650,1204533,1201441,1198372,1195327,1192304,1189305,
936 1186328,1183373,1180440,1177529,1174640,1171771,1168924,1166097,
937 1163290,1160504,1157737,1154991,1152263,1149555,1146866,1144196,
938 1141544,1138911,1136296,1133699,1131119,1128557,1126013,1123485,
939 1120974,1118481,1116003,1113542,1111098,1108669,1106256,1103859,
940 1101478,1099111,1096760,1094424,1092103,1089797,1087505,1085227,
941 1082964,1080715,1078480,1076258,1074051,1071857,1069676,1067508,
942 1065354,1063212,1061084,1058968,1056865,1054774,1052696,1050630,
943 1048576,1046533,1044503,1042485,1040478,1038483,1036499,1034527,
944 1032566,1030616,1028677,1026748,1024831,1022924,1021028,1019143,
945 1017268,1015403,1013548,1011704,1009869,1008045,1006230,1004425,
946 1002630,1000844,999068,997301,995544,993796,992057,990327,
947 988606,986895,985192,983497,981812,980135,978467,976807,
948 975155,973512,971878,970251,968633,967022,965420,963825,
949 962239,960660,959089,957526,955970,954422,952881,951348,
950 949822,948304,946793,945289,943792,942302,940819,939343,
951 937874,936412,934957,933509,932067,930632,929204,927782,
952 926366,924957,923555,922159,920769,919385,918008,916637,
953 915272,913913,912560,911213,909872,908537,907207,905884,
954 904566,903254,901948,900648,899353,898063,896779,895501,
955 894228,892961,891698,890442,889190,887944,886703,885467,
956 884236,883011,881790,880575,879365,878159,876959,875763,
957 874572,873386,872205,871029,869858,868691,867529,866371,
958 865218,864070,862926,861787,860653,859522,858397,857275,
959 856158,855046,853937,852833,851734,850638,849547,848460,
960 847377,846298,845223,844153,843086,842024,840965,839911,
961 838860,837814,836771,835732,834697,833666,832639,831615,
962 830595,829579,828567,827559,826554,825552,824555,823561,
963 822570,821583,820600,819620,818644,817671,816702,815736,
964 814773,813814,812858,811906,810957,810011,809069,808130,
965 807194,806261,805332,804405,803482,802563,801646,800732,
966 799822,798915,798010,797109,796211,795316,794424,793535,
967 792648,791765,790885,790008,789133,788262,787393,786528,
968 785665,784805,783947,783093,782241,781392,780546,779703,
969 778862,778024,777189,776356,775527,774699,773875,773053,
970 772233,771417,770603,769791,768982,768175,767371,766570,
971 765771,764975,764181,763389,762600,761814,761029,760248,
972 759468,758691,757917,757145,756375,755607,754842,754079,
973 753319,752560,751805,751051,750299,749550,748803,748059,
974 747316,746576,745838,745102,744368,743637,742907,742180,
975 741455,740732,740011,739292,738575,737861,737148,736438,
976 735729,735023,734318,733616,732916,732217,731521,730827,
977 730134,729444,728755,728069,727384,726701,726021,725342,
978 724665,723990,723317,722645,721976,721308,720643,719979,
979 719317,718656,717998,717341,716687,716034,715382,714733,
980 714085,713439,712795,712153,711512,710873,710236,709600,
981 708966,708334,707704,707075,706448,705822,705198,704576,
982 703956,703337,702720,702104,701490,700878,700267,699658,
983 699050,698444,697840,697237,696635,696036,695437,694841,
984 694246,693652,693060,692469,691880,691293,690707,690122,
985 689539,688957,688377,687798,687221,686645,686071,685498,
986 684926,684356,683788,683221,682655,682090,681527,680966,
987 680405,679847,679289,678733,678178,677625,677073,676522,
988 675973,675425,674878,674333,673789,673246,672705,672164,
989 671626,671088,670552,670017,669483,668951,668420,667890,
990 667361,666834,666308,665783,665259,664737,664216,663696,
991 663177,662660,662143,661628,661114,660602,660090,659580,
992 659071,658563,658056,657550,657046,656543,656041,655540,
993 655040,654541,654043,653547,653052,652558,652065,651573,
994 651082,650592,650103,649616,649129,648644,648160,647677,
995 647195,646714,646234,645755,645277,644800,644325,643850,
996 643376,642904,642432,641962,641492,641024,640557,640090,
997 639625,639161,638697,638235,637774,637313,636854,636396,
998 635938,635482,635026,634572,634119,633666,633215,632764,
999 632315,631866,631418,630972,630526,630081,629637,629194,
1000 628752,628311,627871,627432,626993,626556,626120,625684,
1001 625249,624816,624383,623951,623520,623090,622660,622232,
1002 621804,621378,620952,620527,620103,619680,619258,618836,
1003 618416,617996,617577,617159,616742,616326,615910,615496,
1004 615082,614669,614257,613846,613435,613026,612617,612209,
1005 611802,611395,610990,610585,610181,609778,609375,608974,
1006 608573,608173,607774,607375,606978,606581,606185,605790,
1007 605395,605001,604608,604216,603825,603434,603044,602655,
1008 602266,601879,601492,601106,600720,600335,599952,599568,
1009 599186,598804,598423,598043,597663,597284,596906,596529,
1010 596152,595776,595401,595026,594652,594279,593907,593535,
1011 593164,592793,592424,592055,591686,591319,590952,590585,
1012 590220,589855,589491,589127,588764,588402,588041,587680,
1013 587320,586960,586601,586243,585885,585528,585172,584816,
1014 584462,584107,583754,583400,583048,582696,582345,581995,
1015 581645,581296,580947,580599,580252,579905,579559,579213,
1016 578868,578524,578181,577838,577495,577153,576812,576471,
1017 576131,575792,575453,575115,574777,574440,574104,573768,
1018 573433,573098,572764,572431,572098,571765,571434,571103,
1019 570772,570442,570113,569784,569455,569128,568800,568474,
1020 568148,567822,567497,567173,566849,566526,566203,565881,
1021 565559,565238,564918,564598,564278,563959,563641,563323,
1022 563006,562689,562373,562057,561742,561428,561114,560800,
1023 560487,560174,559862,559551,559240,558930,558620,558310,
1024 558001,557693,557385,557078,556771,556465,556159,555853,
1025 555549,555244,554940,554637,554334,554032,553730,553429,
1026 553128,552828,552528,552228,551929,551631,551333,551036,
1027 550739,550442,550146,549851,549555,549261,548967,548673,
1028 548380,548087,547795,547503,547212,546921,546631,546341,
1029 546051,545762,545474,545186,544898,544611,544324,544038,
1030 543752,543467,543182,542897,542613,542330,542047,541764,
1031 541482,541200,540919,540638,540357,540077,539798,539518,
1032 539240,538961,538683,538406,538129,537852,537576,537300,
1033 537025,536750,536476,536202,535928,535655,535382,535110,
1034 534838,534566,534295,534024,533754,533484,533214,532945,
1035 532677,532408,532140,531873,531606,531339,531073,530807,
1036 530542,530277,530012,529748,529484,529220,528957,528694,
1037 528432,528170,527909,527648,527387,527126,526866,526607,
1038 526348,526089,525830,525572,525315,525057,524800,524544