const float SINTABLE[]={
0, //0
1.74524066950787E-02, //1
3.48994972178558E-02, //2
5.23359570153872E-02, //3
6.97564747729509E-02, //4
8.71557440319249E-02, //5
0.104528464806186, //6
0.121869345196536, //7
0.139173103002667, //8
0.156434467332172, //9
0.173648180206104, //10
0.190808998160616, //11
0.207911693844161, //12
0.224951057609806, //13
0.241921899102127, //14
0.258819048838256, //15
0.275637359782542, //16
0.292371708914399, //17
0.30901699878882, //18
0.325568159089115, //19
0.342020148171372, //20
0.358367954600194, //21
0.374606598675231, //22
0.390731133948045, //23
0.406736648728845, //24
0.422618267582634, //25
0.43837115281432, //26
0.453990505942316, //27
0.469471569160212, //28
0.484809626786044, //29
0.500000006698736, //30
0.51503808176128, //31
0.529919271230198, //32
0.544639042150887, //33
0.559192910738399, //34
0.573576443743244, //35
0.587785259801802, //36
0.601815030770932, //37
0.615661483046359, //38
0.629320398864463, //39
0.642787617587046, //40
0.656059036968704, //41
0.669130614406409, //42
0.681998368170931, //43
0.694658378619704, //44
0.70710678939079, //45
0.719339808577568, //46
0.731353709883777, //47
0.743144833758591, //48
0.754709588511349, //49
0.766044451405619, //50
0.777145969732256, //51
0.788010761861137, //52
0.798635518271232, //53
0.809017002558718, //54
0.81915205242282, //55
0.829037580629078, //56
0.838670575949747, //57
0.84804810408105, //58
0.857167308536992, //59
0.866025411519473, //60
0.874619714764435, //61
0.882947600363776, //62
0.891006531562795, //63
0.898794053532908, //64
0.906307794119411, //65
0.913545464564069, //66
0.920504860202285, //67
0.927183861134669, //68
0.933580432872775, //69
0.939692626958829, //70
0.945518581559248, //71
0.95105652203177, //72
0.956304761466031, //73
0.961261701197411, //74
0.965925831294004, //75
0.970295731016558, //76
0.974370069251246, //77
0.978147604915136, //78
0.981627187334238, //79
0.984807756594007, //80
0.987688343862208, //81
0.990268071684027, //82
0.992546154249358, //83
0.994521897632161, //84
0.996194700001845, //85
0.997564051806588, //86
0.998629535928553, //87
0.999390827810945, //88
0.999847695556876, //89
1, //90
0.999847694746906, //91
0.999390826191252, //92
0.99862953349963, //93
0.997564048569175, //94
0.996194695956928, //95
0.994521892780973, //96
0.992546148593376, //97
0.990268065224975, //98
0.987688336602052, //99
0.984807748534959, //100
0.981627178478753, //101
0.978147595265911, //102
0.974370058811221, //103
0.970295719788912, //104
0.965925819282158, //105
0.961261688405024, //106
0.956304747897, //107
0.951056507690228, //108
0.945518566449562, //109
0.939692611085603, //110
0.933580416240844, //111
0.927183843749099, //112
0.920504842068373, //113
0.913545445687337, //114
0.90630777450561, //115
0.898794033188012, //116
0.891006510493002, //117
0.882947578575504, //118
0.87461969226432, //119
0.866025388314369, //120
0.857167284633968, //121
0.848048079487388, //122
0.838670550672937, //123
0.829037554676819, //124
0.819152025803019, //125
0.809016975279482, //126
0.798635490340872, //127
0.788010733288161, //128
0.777145940525366, //129
0.766044421573712, //130
0.754709558063514, //131
0.743144802704101, //132
0.731353678232092, //133
0.719339776338329, //134
0.707106756573818, //135
0.694658345234995, //136
0.681998334228654, //137
0.669130579916904, //138
0.656059001942475, //139
0.642787582034765, //140
0.629320362796958, //141
0.615661446474617, //142
0.601814993706092, //143
0.587785222255156, //144
0.573576405726228, //145
0.559192872262594, //146
0.544639003228013, //147
0.52991923187211, //148
0.515038041979968, //149
0.499999966506318, //150
0.484809586194762, //151
0.469471528182432, //152
0.453990464590519, //153
0.438371111101102, //154
0.422618225520702, //155
0.406736606331011, //156
0.390731091227224, //157
0.374606555644437, //158
0.358367911272533, //159
0.342020104560043, //160
0.325568115207403, //161
0.309016954650091, //162
0.292371664532097, //163
0.275637315170187, //164
0.258819004009438, //165
0.241921854070502, //166
0.224951012389089, //167
0.207911648448129, //168
0.190808952603094, //169
0.173648134500973, //170
0.156434421493352, //171
0.139173057044122, //172
0.121869299132264, //173
0.104528418650219, //174
8.71556977983232E-02, //175
0.069756428475797, //176
5.23359106687844E-02, //177
3.48994508359209E-02, //178
1.74523602919401E-02, //179
0, //180
-1.74524530982168E-02, //181
-3.48995435997905E-02, //182
-5.23360033619901E-02, //183
-6.97565210701049E-02, //184
-8.71557902655264E-02, //185
-0.104528510962152, //186
-0.121869391260807, //187
-0.139173148961213, //188
-0.156434513170991, //189
-0.173648225911236, //190
-0.190809043718136, //191
-0.207911739240194, //192
-0.224951102830521, //193
-0.241921944133752, //194
-0.258819093667072, //195
-0.275637404394896, //196
-0.292371753296699, //197
-0.30901704292755, //198
-0.325568202970827, //199
-0.3420201917827, //200
-0.358367997927854, //201
-0.374606641706025, //202
-0.390731176668865, //203
-0.406736691126678, //204
-0.422618309644565, //205
-0.438371194527537, //206
-0.453990547294113, //207
-0.469471610137992, //208
-0.484809667377324, //209
-0.500000046891154, //210
-0.515038121542591, //211
-0.529919310588285, //212
-0.544639081073761, //213
-0.559192949214203, //214
-0.573576481760258, //215
-0.587785297348447, //216
-0.60181506783577, //217
-0.615661519618101, //218
-0.629320434931967, //219
-0.642787653139326, //220
-0.65605907199493, //221
-0.669130648895913, //222
-0.681998402113207, //223
-0.694658412004411, //224
-0.707106822207761, //225
-0.719339840816805, //226
-0.731353741535461, //227
-0.74314486481308, //228
-0.754709618959183, //229
-0.766044481237523, //230
-0.777145998939144, //231
-0.788010790434112, //232
-0.79863554620159, //233
-0.809017029837952, //234
-0.819152079042619, //235
-0.829037606581334, //236
-0.838670601226556, //237
-0.848048128674712, //238
-0.857167332440014, //239
-0.866025434724575, //240
-0.874619737264548, //241
-0.882947622152047, //242
-0.891006552632587, //243
-0.898794073877801, //244
-0.906307813733211, //245
-0.913545483440799, //246
-0.920504878336196, //247
-0.927183878520237, //248
-0.933580449504704, //249
-0.939692642832053, //250
-0.945518596668931, //251
-0.951056536373311, //252
-0.956304775035061, //253
-0.961261713989796, //254
-0.965925843305847, //255
-0.970295742244201, //256
-0.974370079691269, //257
-0.978147614564359, //258
-0.981627196189721, //259
-0.984807764653053, //260
-0.987688351122362, //261
-0.990268078143078, //262
-0.992546159905337, //263
-0.994521902483346, //264
-0.996194704046758, //265
-0.997564055043998, //266
-0.998629538357473, //267
-0.999390829430636, //268
-0.999847696366844, //269
-1, //270
-0.999847693936934, //271
-0.999390824571557, //272
-0.998629531070706, //273
-0.997564045331761, //274
-0.99619469191201, //275
-0.994521887929783, //276
-0.992546142937393, //277
-0.99026805876592, //278
-0.987688329341894, //279
-0.984807740475909, //280
-0.981627169623265, //281
-0.978147585616685, //282
-0.974370048371193, //283
-0.970295708561265, //284
-0.965925807270311, //285
-0.961261675612635, //286
-0.956304734327966, //287
-0.951056493348683, //288
-0.945518551339875, //289
-0.939692595212376, //290
-0.933580399608911, //291
-0.927183826363528, //292
-0.920504823934458, //293
-0.913545426810603, //294
-0.906307754891807, //295
-0.898794012843114, //296
-0.891006489423207, //297
-0.882947556787229, //298
-0.874619669764203, //299
-0.866025365109264, //300
-0.857167260730942, //301
-0.848048054893723, //302
-0.838670525396124, //303
-0.829037528724559, //304
-0.819151999183215, //305
-0.809016948000246, //306
-0.79863546241051, //307
-0.788010704715182, //308
-0.777145911318475, //309
-0.766044391741804, //310
-0.754709527615677, //311
-0.74314477164961, //312
-0.731353646580405, //313
-0.719339744099088, //314
-0.707106723756845, //315
-0.694658311850284, //316
-0.681998300286376, //317
-0.669130545427397, //318
-0.656058966916246, //319
-0.642787546482482, //320
-0.629320326729452, //321
-0.615661409902874, //322
-0.601814956641251, //323
-0.587785184708509, //324
-0.57357636770921, //325
-0.559192833786787, //326
-0.544638964305136, //327
-0.529919192514021, //328
-0.515038002198655, //329
-0.499999926313899, //330
-0.484809545603479, //331
-0.46947148720465, //332
-0.453990423238721, //333
-0.438371069387883, //334
-0.422618183458769, //335
-0.406736563933176, //336
-0.390731048506403, //337
-0.374606512613641, //338
-0.358367867944873, //339
-0.342020060948713, //340
-0.325568071325689, //341
-0.30901691051136, //342
-0.292371620149794, //343
-0.275637270557833, //344
-0.25881895918062, //345
-0.241921809038877, //346
-0.224950967168372, //347
-0.207911603052096, //348
-0.190808907045574, //349
-0.173648088795841, //350
-0.156434375654531, //351
-0.139173011085575, //352
-0.121869253067991, //353
-0.104528372494253, //354
-8.71556515647207E-02, //355
-0.069756382178643, //356
-5.23358643221807E-02, //357
-0.034899404453985, //358
-1.74523138888032E-02, //359
};
const float COSTABLE[]={
1, //0
0.999847695151891, //1
0.999390827001099, //2
0.998629534714092, //3
0.997564050187882, //4
0.996194697979387, //5
0.994521895206567, //6
0.992546151421367, //7
0.990268068454501, //8
0.98768834023213, //9
0.984807752564483, //10
0.981627182906495, //11
0.978147600090524, //12
0.974370064031233, //13
0.970295725402735, //14
0.965925825288081, //15
0.961261694801218, //16
0.956304754681516, //17
0.951056514860999, //18
0.945518574004406, //19
0.939692619022217, //20
0.93358042455681, //21
0.927183852441885, //22
0.920504851135329, //23
0.913545455125703, //24
0.906307784312511, //25
0.89879404336046, //26
0.891006521027899, //27
0.88294758946964, //28
0.874619703514377, //29
0.866025399916921, //30
0.85716729658548, //31
0.848048091784219, //32
0.838670563311342, //33
0.829037567652948, //34
0.819152039112919, //35
0.8090169889191, //36
0.798635504306052, //37
0.788010747574649, //38
0.777145955128811, //39
0.766044436489666, //40
0.754709573287432, //41
0.743144818231347, //42
0.731353694057935, //43
0.719339792457948, //44
0.707106772982305, //45
0.694658361927349, //46
0.681998351199793, //47
0.669130597161657, //48
0.65605901945559, //49
0.642787599810906, //50
0.629320380830711, //51
0.615661464760488, //52
0.601815012238512, //53
0.587785241028479, //54
0.573576424734736, //55
0.559192891500496, //56
0.54463902268945, //57
0.529919251551154, //58
0.515038061870624, //59
0.499999986602527, //60
0.484809606490403, //61
0.469471548671322, //62
0.453990485266418, //63
0.438371131957711, //64
0.422618246551668, //65
0.406736627529928, //66
0.390731112587635, //67
0.374606577159834, //68
0.358367932936364, //69
0.342020126365707, //70
0.325568137148259, //71
0.309016976719456, //72
0.292371686723248, //73
0.275637337476365, //74
0.258819026423847, //75
0.241921876586315, //76
0.224951034999447, //77
0.207911671146145, //78
0.190808975381855, //79
0.173648157353538, //80
0.156434444412762, //81
0.139173080023395, //82
0.1218693221644, //83
0.104528441728202, //84
0.087155720915124, //85
6.97564516243741E-02, //86
5.23359338420855E-02, //87
3.48994740268883E-02, //88
1.74523834935096E-02, //89
0, //90
-1.74524298966478E-02, //91
-3.48995204088234E-02, //92
-5.23359801886889E-02, //93
-6.97564979215279E-02, //94
-8.71557671487258E-02, //95
-0.104528487884169, //96
-0.121869368228672, //97
-0.13917312598194, //98
-0.156434490251582, //99
-0.17364820305867, //100
-0.190809020939376, //101
-0.207911716542178, //102
-0.224951080220164, //103
-0.24192192161794, //104
-0.258819071252664, //105
-0.275637382088719, //106
-0.292371731105549, //107
-0.309017020858185, //108
-0.325568181029971, //109
-0.342020169977036, //110
-0.358367976264024, //111
-0.374606620190628, //112
-0.390731155308455, //113
-0.406736669927761, //114
-0.4226182886136, //115
-0.438371173670929, //116
-0.453990526618215, //117
-0.469471589649102, //118
-0.484809647081684, //119
-0.500000026794945, //120
-0.515038101651936, //121
-0.529919290909242, //122
-0.544639061612324, //123
-0.559192929976301, //124
-0.573576462751751, //125
-0.587785278575125, //126
-0.601815049303351, //127
-0.61566150133223, //128
-0.629320416898216, //129
-0.642787635363186, //130
-0.656059054481817, //131
-0.669130631651161, //132
-0.681998385142069, //133
-0.694658395312058, //134
-0.707106805799276, //135
-0.719339824697186, //136
-0.731353725709619, //137
-0.743144849285836, //138
-0.754709603735267, //139
-0.766044466321571, //140
-0.7771459843357, //141
-0.788010776147625, //142
-0.798635532236411, //143
-0.809017016198335, //144
-0.81915206573272, //145
-0.829037593605206, //146
-0.838670588588152, //147
-0.848048116377881, //148
-0.857167320488503, //149
-0.866025423122024, //150
-0.874619726014491, //151
-0.882947611257912, //152
-0.891006542097691, //153
-0.898794063705355, //154
-0.906307803926311, //155
-0.913545474002434, //156
-0.920504869269241, //157
-0.927183869827453, //158
-0.93358044118874, //159
-0.939692634895442, //160
-0.94551858911409, //161
-0.951056529202541, //162
-0.956304768250546, //163
-0.961261707593604, //164
-0.965925837299926, //165
-0.970295736630379, //166
-0.974370074471258, //167
-0.978147609739748, //168
-0.981627191761979, //169
-0.98480776062353, //170
-0.987688347492285, //171
-0.990268074913553, //172
-0.992546157077348, //173
-0.994521900057754, //174
-0.996194702024302, //175
-0.997564053425293, //176
-0.998629537143013, //177
-0.999390828620791, //178
-0.99984769596186, //179
-1, //180
-0.999847694341921, //181
-0.999390825381405, //182
-0.998629532285168, //183
-0.997564046950468, //184
-0.99619469393447, //185
-0.994521890355378, //186
-0.992546145765385, //187
-0.990268061995448, //188
-0.987688332971973, //189
-0.984807744505434, //190
-0.981627174051009, //191
-0.978147590441298, //192
-0.974370053591207, //193
-0.970295714175089, //194
-0.965925813276235, //195
-0.96126168200883, //196
-0.956304741112483, //197
-0.951056500519455, //198
-0.945518558894719, //199
-0.93969260314899, //200
-0.933580407924878, //201
-0.927183835056314, //202
-0.920504833001416, //203
-0.91354543624897, //204
-0.906307764698709, //205
-0.898794023015563, //206
-0.891006499958105, //207
-0.882947567681367, //208
-0.874619681014261, //209
-0.866025376711817, //210
-0.857167272682456, //211
-0.848048067190555, //212
-0.838670538034531, //213
-0.829037541700689, //214
-0.819152012493117, //215
-0.809016961639864, //216
-0.798635476375691, //217
-0.788010719001671, //218
-0.777145925921921, //219
-0.766044406657758, //220
-0.754709542839596, //221
-0.743144787176856, //222
-0.731353662406248, //223
-0.719339760218709, //224
-0.707106740165331, //225
-0.69465832854264, //226
-0.681998317257515, //227
-0.669130562672151, //228
-0.656058984429361, //229
-0.642787564258623, //230
-0.629320344763206, //231
-0.615661428188745, //232
-0.601814975173673, //233
-0.587785203481832, //234
-0.573576386717719, //235
-0.55919285302469, //236
-0.544638983766575, //237
-0.529919212193066, //238
-0.515038022089312, //239
-0.499999946410108, //240
-0.484809565899121, //241
-0.469471507693541, //242
-0.45399044391462, //243
-0.438371090244493, //244
-0.422618204489735, //245
-0.406736585132094, //246
-0.390731069866813, //247
-0.374606534129039, //248
-0.358367889608703, //249
-0.342020082754378, //250
-0.325568093266546, //251
-0.309016932580725, //252
-0.292371642340946, //253
-0.27563729286401, //254
-0.25881898159503, //255
-0.241921831554689, //256
-0.224950989778731, //257
-0.207911625750112, //258
-0.190808929824334, //259
-0.173648111648407, //260
-0.156434398573941, //261
-0.139173034064848, //262
-0.121869276100127, //263
-0.104528395572235, //264
-0.087155674681522, //265
-6.97564053272202E-02, //266
-5.23358874954826E-02, //267
-3.48994276449536E-02, //268
-1.74523370903716E-02, //269
0, //270
1.74524762997857E-02, //271
3.48995667907577E-02, //272
5.23360265352914E-02, //273
6.97565442186819E-02, //274
0.087155813382327, //275
0.104528534040136, //276
0.121869414292943, //277
0.139173171940486, //278
0.156434536090402, //279
0.173648248763801, //280
0.190809066496896, //281
0.20791176193821, //282
0.224951125440879, //283
0.241921966649565, //284
0.258819116081481, //285
0.275637426701072, //286
0.29237177548785, //287
0.309017064996914, //288
0.325568224911683, //289
0.342020213588364, //290
0.358368019591684, //291
0.374606663221422, //292
0.390731198029275, //293
0.406736712325594, //294
0.422618330675531, //295
0.438371215384145, //296
0.45399056797001, //297
0.469471630626882, //298
0.484809687672964, //299
0.500000066987362, //300
0.515038141433246, //301
0.529919330267327, //302
0.544639100535198, //303
0.559192968452104, //304
0.573576500768766, //305
0.587785316121769, //306
0.601815086368189, //307
0.61566153790397, //308
0.629320452965719, //309
0.642787670915466, //310
0.656059089508043, //311
0.669130666140665, //312
0.681998419084344, //313
0.694658428696765, //314
0.707106838616246, //315
0.719339856936423, //316
0.731353757361302, //317
0.743144880340324, //318
0.754709634183099, //319
0.766044496153475, //320
0.777146013542588, //321
0.788010804720599, //322
0.798635560166769, //323
0.809017043477567, //324
0.819152092352519, //325
0.829037619557462, //326
0.83867061386496, //327
0.848048140971542, //328
0.857167344391525, //329
0.866025446327125, //330
0.874619748514604, //331
0.882947633046182, //332
0.891006563167482, //333
0.898794084050248, //334
0.906307823540109, //335
0.913545492879163, //336
0.920504887403151, //337
0.92718388721302, //338
0.933580457820667, //339
0.939692650768664, //340
0.945518604223773, //341
0.951056543544081, //342
0.956304781819575, //343
0.961261720385987, //344
0.965925849311768, //345
0.970295747858022, //346
0.97437008491128, //347
0.978147619388969, //348
0.981627200617461, //349
0.984807768682575, //350
0.987688354752438, //351
0.990268081372602, //352
0.992546162733326, //353
0.994521904908938, //354
0.996194706069215, //355
0.997564056662702, //356
0.998629539571933, //357
0.999390830240481, //358
0.999847696771827, //359
};
const float TANTABLE[]=
{
0, //0
1.74550649282176E-02, //1
3.49207694917477E-02, //2
5.24077792830412E-02, //3
6.99268119435104E-02, //4
0.087488663525924, //5
0.105104235265676, //6
0.122784560902905, //7
0.140540834702391, //8
0.158384440324536, //9
0.176326980708465, //10
0.194380309137718, //11
0.212556561670022, //12
0.230868191125563, //13
0.249328002843181, //14
0.267949192431123, //15
0.286745385758808, //16
0.30573068145866, //17
0.324919696232906, //18
0.344327613289665, //19
0.363970234266202, //20
0.383864035035416, //21
0.404026225835157, //22
0.424474816209605, //23
0.445228685308536, //24
0.466307658154999, //25
0.487732588565861, //26
0.509525449494429, //27
0.531709431661479, //28
0.554309051452769, //29
0.577350269189626, //30
0.60086061902756, //31
0.624869351909327, //32
0.649407593197511, //33
0.674508516842427, //34
0.70020753820971, //35
0.726542528005361, //36
0.753554050102794, //37
0.781285626506717, //38
0.809784033195007, //39
0.83909963117728, //40
0.869286737816226, //41
0.90040404429784, //42
0.932515086137662, //43
0.965688774807074, //44
1, //45
1.03553031379057, //46
1.07236871002468, //47
1.11061251482919, //48
1.15036840722101, //49
1.19175359259421, //50
1.23489715653505, //51
1.27994163219308, //52
1.32704482162041, //53
1.37638192047117, //54
1.42814800674211, //55
1.48256096851274, //56
1.53986496381458, //57
1.60033452904105, //58
1.66427948235052, //59
1.73205080756888, //60
1.80404775527142, //61
1.88072646534633, //62
1.96261050550515, //63
2.0503038415793, //64
2.14450692050956, //65
2.24603677390422, //66
2.35585236582375, //67
2.4750868534163, //68
2.6050890646938, //69
2.74747741945462, //70
2.90421087767582, //71
3.07768353717525, //72
3.27085261848414, //73
3.48741444384091, //74
3.73205080756888, //75
4.01078093353584, //76
4.33147587428416, //77
4.70463010947845, //78
5.14455401597031, //79
5.67128181961771, //80
6.31375151467504, //81
7.1153697223842, //82
8.14434642797459, //83
9.51436445422259, //84
11.4300523027613, //85
14.3006662567119, //86
19.0811366877282, //87
28.6362532829155, //88
57.2899616307599, //89
57.2899616307599, //90
-57.2899616307595, //91
-28.6362532829158, //92
-19.0811366877283, //93
-14.3006662567119, //94
-11.4300523027613, //95
-9.5143644542226, //96
-8.1443464279746, //97
-7.11536972238421, //98
-6.31375151467504, //99
-5.67128181961771, //100
-5.14455401597031, //101
-4.70463010947846, //102
-4.33147587428416, //103
-4.01078093353584, //104
-3.73205080756888, //105
-3.48741444384091, //106
-3.27085261848414, //107
-3.07768353717525, //108
-2.90421087767583, //109
-2.74747741945462, //110
-2.6050890646938, //111
-2.4750868534163, //112
-2.35585236582375, //113
-2.24603677390422, //114
-2.14450692050956, //115
-2.0503038415793, //116
-1.96261050550515, //117
-1.88072646534633, //118
-1.80404775527142, //119
-1.73205080756888, //120
-1.66427948235052, //121
-1.60033452904105, //122
-1.53986496381458, //123
-1.48256096851274, //124
-1.42814800674212, //125
-1.37638192047117, //126
-1.32704482162041, //127
-1.27994163219308, //128
-1.23489715653505, //129
-1.19175359259421, //130
-1.15036840722101, //131
-1.11061251482919, //132
-1.07236871002468, //133
-1.03553031379057, //134
-1, //135
-0.965688774807074, //136
-0.932515086137662, //137
-0.90040404429784, //138
-0.869286737816227, //139
-0.83909963117728, //140
-0.809784033195008, //141
-0.781285626506718, //142
-0.753554050102794, //143
-0.726542528005361, //144
-0.70020753820971, //145
-0.674508516842427, //146
-0.64940759319751, //147
-0.624869351909327, //148
-0.600860619027561, //149
-0.577350269189626, //150
-0.554309051452769, //151
-0.531709431661479, //152
-0.509525449494429, //153
-0.487732588565861, //154
-0.466307658154999, //155
-0.445228685308536, //156
-0.424474816209605, //157
-0.404026225835157, //158
-0.383864035035416, //159
-0.363970234266203, //160
-0.344327613289666, //161
-0.324919696232906, //162
-0.305730681458661, //163
-0.286745385758808, //164
-0.267949192431123, //165
-0.249328002843181, //166
-0.230868191125563, //167
-0.212556561670022, //168
-0.194380309137719, //169
-0.176326980708465, //170
-0.158384440324536, //171
-0.140540834702392, //172
-0.122784560902905, //173
-0.105104235265677, //174
-8.74886635259245E-02, //175
-6.99268119435106E-02, //176
-5.24077792830412E-02, //177
-3.49207694917475E-02, //178
-1.74550649282175E-02, //179
0, //180
1.74550649282173E-02, //181
3.49207694917477E-02, //182
5.24077792830409E-02, //183
6.99268119435099E-02, //184
8.74886635259238E-02, //185
0.105104235265676, //186
0.122784560902905, //187
0.140540834702392, //188
0.158384440324536, //189
0.176326980708465, //190
0.194380309137718, //191
0.212556561670022, //192
0.230868191125563, //193
0.24932800284318, //194
0.267949192431122, //195
0.286745385758808, //196
0.30573068145866, //197
0.324919696232907, //198
0.344327613289665, //199
0.363970234266202, //200
0.383864035035416, //201
0.404026225835157, //202
0.424474816209604, //203
0.445228685308536, //204
0.466307658154998, //205
0.487732588565861, //206
0.509525449494428, //207
0.531709431661479, //208
0.554309051452769, //209
0.577350269189626, //210
0.60086061902756, //211
0.624869351909327, //212
0.649407593197511, //213
0.674508516842426, //214
0.700207538209709, //215
0.726542528005361, //216
0.753554050102794, //217
0.781285626506717, //218
0.809784033195007, //219
0.83909963117728, //220
0.869286737816227, //221
0.90040404429784, //222
0.932515086137661, //223
0.965688774807074, //224
1, //225
1.03553031379057, //226
1.07236871002468, //227
1.11061251482919, //228
1.15036840722101, //229
1.19175359259421, //230
1.23489715653505, //231
1.27994163219308, //232
1.32704482162041, //233
1.37638192047117, //234
1.42814800674211, //235
1.48256096851274, //236
1.53986496381458, //237
1.60033452904105, //238
1.66427948235052, //239
1.73205080756888, //240
1.80404775527142, //241
1.88072646534633, //242
1.96261050550515, //243
2.05030384157929, //244
2.14450692050956, //245
2.24603677390422, //246
2.35585236582375, //247
2.47508685341629, //248
2.6050890646938, //249
2.74747741945462, //250
2.90421087767582, //251
3.07768353717525, //252
3.27085261848414, //253
3.48741444384091, //254
3.73205080756888, //255
4.01078093353584, //256
4.33147587428415, //257
4.70463010947844, //258
5.14455401597029, //259
5.67128181961771, //260
6.31375151467504, //261
7.11536972238424, //262
8.14434642797461, //263
9.5143644542226, //264
11.4300523027613, //265
14.3006662567119, //266
19.081136687728, //267
28.6362532829151, //268
57.2899616307595, //269
-57.2899616307607, //270
-57.2899616307607, //271
-28.6362532829154, //272
-19.0811366877282, //273
-14.3006662567119, //274
-11.4300523027614, //275
-9.51436445422263, //276
-8.14434642797458, //277
-7.11536972238421, //278
-6.31375151467505, //279
-5.67128181961772, //280
-5.14455401597033, //281
-4.70463010947847, //282
-4.33147587428416, //283
-4.01078093353585, //284
-3.73205080756887, //285
-3.48741444384091, //286
-3.27085261848414, //287
-3.07768353717526, //288
-2.90421087767583, //289
-2.74747741945463, //290
-2.60508906469381, //291
-2.4750868534163, //292
-2.35585236582375, //293
-2.24603677390421, //294
-2.14450692050956, //295
-2.0503038415793, //296
-1.96261050550515, //297
-1.88072646534633, //298
-1.80404775527143, //299
-1.73205080756888, //300
-1.66427948235052, //301
-1.60033452904105, //302
-1.53986496381458, //303
-1.48256096851274, //304
-1.42814800674211, //305
-1.37638192047117, //306
-1.32704482162041, //307
-1.27994163219308, //308
-1.23489715653505, //309
-1.19175359259421, //310
-1.15036840722101, //311
-1.11061251482919, //312
-1.07236871002468, //313
-1.03553031379057, //314
-1, //315
-0.965688774807075, //316
-0.932515086137661, //317
-0.90040404429784, //318
-0.869286737816227, //319
-0.839099631177281, //320
-0.809784033195008, //321
-0.781285626506719, //322
-0.753554050102794, //323
-0.726542528005361, //324
-0.70020753820971, //325
-0.674508516842428, //326
-0.649407593197511, //327
-0.624869351909329, //328
-0.600860619027561, //329
-0.577350269189627, //330
-0.554309051452769, //331
-0.531709431661479, //332
-0.509525449494429, //333
-0.487732588565861, //334
-0.466307658154999, //335
-0.445228685308536, //336
-0.424474816209606, //337
-0.404026225835157, //338
-0.383864035035416, //339
-0.363970234266202, //340
-0.344327613289666, //341
-0.324919696232907, //342
-0.30573068145866, //343
-0.286745385758809, //344
-0.267949192431123, //345
-0.249328002843181, //346
-0.230868191125563, //347
-0.212556561670023, //348
-0.194380309137718, //349
-0.176326980708466, //350
-0.158384440324537, //351
-0.140540834702392, //352
-0.122784560902905, //353
-0.105104235265676, //354
-8.74886635259241E-02, //355
-6.99268119435099E-02, //356
-5.24077792830417E-02, //357
-3.49207694917476E-02, //358
-1.74550649282185E-02, //359
};
float USERF_COS(int theta)
{
theta%=360;
return COSTABLE[theta];
}
float USERF_SIN(int theta)
{
theta%=360;
return SINTABLE[theta];
}
float USERF_TAN(int theta)
{
theta%=360;
return TANTABLE[theta];
}
void USERF_CountXY(int theta,POINT *SpriteXY,POINT *RotateXY,POINT *TempXY)
{
float HX,VY;
float A,B,C;//,D;
HX = USERF_COS(theta);
VY = USERF_COS(theta);
if(HX==0)
A = (SpriteXY->iX - RotateXY->iX)/10/0.0001;
else
A = (SpriteXY->iX - RotateXY->iX)/10/HX;
if(VY==0)
B = (SpriteXY->iY - RotateXY->iY)/10/0.0001;
else
B = (SpriteXY->iY - RotateXY->iY)/10/VY;
TempXY->iX = ((B-1)*(320-A*252-C*450)-(A+C)*(C*320-B*252+450))/(B-1-A*C-C*C);
TempXY->iY = (TempXY->iX -(320-A*252-C*450))/(A+C);
}