-
Notifications
You must be signed in to change notification settings - Fork 0
/
sincos.c
370 lines (366 loc) · 17.1 KB
/
sincos.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
static double sin[360] = { 0.000000000000000001,0.017452406437283512,
0.034899496702500969,0.052335956242943835,
0.069756473744125302,0.087155742747658166,
0.104528463267653457,0.121869343405147462,
0.139173100960065438,0.156434465040230869,
0.173648177666930331,0.190808995376544804,
0.207911690817759315,0.224951054343864976,
0.241921895599667702,0.258819045102520739,
0.275637355816999163,0.292371704722736769,
0.309016994374947451,0.325568154457156755,
0.342020143325668824,0.358367949545300379,
0.374606593415912181,0.390731128489273882,
0.406736643075800375,0.422618261740699608,
0.438371146789077626,0.453990499739547027,
0.469471562785891028,0.484809620246337225,
0.500000000000000222,0.515038074910054489,
0.529919264233205234,0.544639035015027417,
0.559192903470747127,0.573576436351046381,
0.587785252292473470,0.601815023152048600,
0.615661475325658625,0.629320391049837835,
0.642787609686539696,0.656059028990507720,
0.669130606358858682,0.681998360062498921,
0.694658370458997698,0.707106781186548017,
0.719339800338651636,0.731353701619170904,
0.743144825477394688,0.754709580222772458,
0.766044443118978569,0.777145961456971346,
0.788010753606722458,0.798635510047293384,
0.809016994374947895,0.819152044288992243,
0.829037572555042179,0.838670567945424494,
0.848048096156426512,0.857167300702112778,
0.866025403784439152,0.874619707139396296,
0.882947592858927432,0.891006524188368343,
0.898794046299167482,0.906307787036650381,
0.913545457642601311,0.920504853452440819,
0.927183854566787868,0.933580426497202187,
0.939692620785908761,0.945518575599317179,
0.951056516295153975,0.956304755963035880,
0.961261695938319227,0.965925826289068645,
0.970295726275996806,0.974370064785235579,
0.978147600733805911,0.981627183447664198,
0.984807753012208353,0.987688340595137992,
0.990268068741570473,0.992546151641322205,
0.994521895368273512,0.996194698091745656,
0.997564050259824309,0.998629534754573944,
0.999390827019095762,0.999847695156391270,
1.000000000000000000,0.999847695156391159,
0.999390827019095651,0.998629534754573833,
0.997564050259824087,0.996194698091745323,
0.994521895368273179,0.992546151641321761,
0.990268068741570029,0.987688340595137437,
0.984807753012207687,0.981627183447663532,
0.978147600733805245,0.974370064785234802,
0.970295726275996029,0.965925826289067757,
0.961261695938318228,0.956304755963034880,
0.951056516295152865,0.945518575599316069,
0.939692620785907651,0.933580426497200966,
0.927183854566786536,0.920504853452439486,
0.913545457642599978,0.906307787036649048,
0.898794046299166149,0.891006524188367122,
0.882947592858926211,0.874619707139395186,
0.866025403784438042,0.857167300702111778,
0.848048096156425624,0.838670567945423717,
0.829037572555041513,0.819152044288991688,
0.809016994374947451,0.798635510047293051,
0.788010753606722236,0.777145961456971346,
0.766044443118978569,0.754709580222772680,
0.743144825477395132,0.731353701619171459,
0.719339800338652302,0.707106781186548794,
0.694658370458998808,0.681998360062500142,
0.669130606358860014,0.656059028990509274,
0.642787609686541472,0.629320391049839833,
0.615661475325660845,0.601815023152051043,
0.587785252292476135,0.573576436351049268,
0.559192903470750236,0.544639035015030637,
0.529919264233208676,0.515038074910058152,
0.500000000000004219,0.484809620246341444,
0.469471562785895413,0.453990499739551634,
0.438371146789082455,0.422618261740704715,
0.406736643075805704,0.390731128489279489,
0.374606593415918010,0.358367949545306430,
0.342020143325675152,0.325568154457163306,
0.309016994374954279,0.292371704722743819,
0.275637355817006491,0.258819045102528289,
0.241921895599675502,0.224951054343872997,
0.207911690817767558,0.190808995376553270,
0.173648177666939019,0.156434465040239751,
0.139173100960074542,0.121869343405156802,
0.104528463267663005,0.087155742747667922,
0.069756473744135267,0.052335956242954007,
0.034899496702511350,0.017452406437294093,
0.000000000000010781,-0.017452406437272534,
-0.034899496702489805,-0.052335956242932476,
-0.069756473744113756,-0.087155742747646453,
-0.104528463267641564,-0.121869343405135402,
-0.139173100960053198,-0.156434465040218462,
-0.173648177666917786,-0.190808995376532092,
-0.207911690817746464,-0.224951054343851986,
-0.241921895599654574,-0.258819045102507472,
-0.275637355816985785,-0.292371704722723225,
-0.309016994374933796,-0.325568154457142933,
-0.342020143325654891,-0.358367949545286335,
-0.374606593415898026,-0.390731128489259616,
-0.406736643075785997,-0.422618261740685175,
-0.438371146789063082,-0.453990499739532427,
-0.469471562785876373,-0.484809620246322570,
-0.499999999999985512,-0.515038074910039723,
-0.529919264233190468,-0.544639035015012540,
-0.559192903470732361,-0.573576436351031616,
-0.587785252292458593,-0.601815023152033834,
-0.615661475325643859,-0.629320391049823069,
-0.642787609686525041,-0.656059028990493065,
-0.669130606358844027,-0.681998360062484377,
-0.694658370458983265,-0.707106781186533584,
-0.719339800338637314,-0.731353701619156804,
-0.743144825477380699,-0.754709580222758580,
-0.766044443118964691,-0.777145961456957690,
-0.788010753606709025,-0.798635510047280062,
-0.809016994374934795,-0.819152044288979364,
-0.829037572555029412,-0.838670567945412060,
-0.848048096156414188,-0.857167300702100676,
-0.866025403784427272,-0.874619707139384750,
-0.882947592858916108,-0.891006524188357352,
-0.898794046299156713,-0.906307787036639945,
-0.913545457642591208,-0.920504853452430938,
-0.927183854566778320,-0.933580426497192972,
-0.939692620785899990,-0.945518575599308742,
-0.951056516295145871,-0.956304755963028108,
-0.961261695938311900,-0.965925826289061651,
-0.970295726275990256,-0.974370064785229362,
-0.978147600733800138,-0.981627183447658869,
-0.984807753012203468,-0.987688340595133552,
-0.990268068741566587,-0.992546151641318764,
-0.994521895368270514,-0.996194698091743103,
-0.997564050259822310,-0.998629534754572390,
-0.999390827019094763,-0.999847695156390714,
-1.000000000000000000,-0.999847695156391714,
-0.999390827019096761,-0.998629534754575388,
-0.997564050259826307,-0.996194698091748099,
-0.994521895368276398,-0.992546151641325647,
-0.990268068741574470,-0.987688340595142433,
-0.984807753012213349,-0.981627183447669860,
-0.978147600733812128,-0.974370064785242240,
-0.970295726276004022,-0.965925826289076417,
-0.961261695938327665,-0.956304755963044872,
-0.951056516295163523,-0.945518575599327393,
-0.939692620785919530,-0.933580426497213511,
-0.927183854566799748,-0.920504853452453253,
-0.913545457642614411,-0.906307787036664148,
-0.898794046299181804,-0.891006524188383331,
-0.882947592858942976,-0.874619707139412506,
-0.866025403784455916,-0.857167300702130208,
-0.848048096156444498,-0.838670567945443146,
-0.829037572555061497,-0.819152044289012227,
-0.809016994374968434,-0.798635510047314479,
-0.788010753606744219,-0.777145961456993772,
-0.766044443119001550,-0.754709580222796106,
-0.743144825477418891,-0.731353701619195773,
-0.719339800338677060,-0.707106781186574107,
-0.694658370459024455,-0.681998360062526232,
-0.669130606358886548,-0.656059028990536253,
-0.642787609686568784,-0.629320391049867478,
-0.615661475325688934,-0.601815023152079465,
-0.587785252292504890,-0.573576436351078467,
-0.559192903470779767,-0.544639035015060502,
-0.529919264233238985,-0.515038074910088794,
-0.500000000000035083,-0.484809620246372641,
-0.469471562785926888,-0.453990499739583386,
-0.438371146789114541,-0.422618261740737022,
-0.406736643075838289,-0.390731128489312296,
-0.374606593415951039,-0.358367949545339737,
-0.342020143325708625,-0.325568154457197001,
-0.309016994374988196,-0.292371704722777903,
-0.275637355817040797,-0.258819045102562761,
-0.241921895599710085,-0.224951054343907719,
-0.207911690817802419,-0.190808995376588242,
-0.173648177666974129,-0.156434465040274973,
-0.139173100960109847,-0.121869343405192190,
-0.104528463267698463,-0.087155742747703435,
-0.069756473744170822,-0.052335956242989604,
-0.034899496702546981,-0.017452406437329739 };
static double cos[360] = { 1.000000000000000000,0.999847695156391270,
0.999390827019095762,0.998629534754573833,
0.997564050259824198,0.996194698091745545,
0.994521895368273290,0.992546151641321983,
0.990268068741570362,0.987688340595137770,
0.984807753012208020,0.981627183447663976,
0.978147600733805689,0.974370064785235246,
0.970295726275996473,0.965925826289068312,
0.961261695938318894,0.956304755963035436,
0.951056516295153531,0.945518575599316735,
0.939692620785908317,0.933580426497201743,
0.927183854566787313,0.920504853452440264,
0.913545457642600867,0.906307787036649826,
0.898794046299166927,0.891006524188367788,
0.882947592858926766,0.874619707139395630,
0.866025403784438486,0.857167300702112112,
0.848048096156425846,0.838670567945423828,
0.829037572555041513,0.819152044288991576,
0.809016994374947229,0.798635510047292607,
0.788010753606721681,0.777145961456970569,
0.766044443118977680,0.754709580222771681,
0.743144825477393911,0.731353701619170127,
0.719339800338650748,0.707106781186547129,
0.694658370458996810,0.681998360062498032,
0.669130606358857682,0.656059028990506721,
0.642787609686538697,0.629320391049836836,
0.615661475325657626,0.601815023152047601,
0.587785252292472471,0.573576436351045382,
0.559192903470746128,0.544639035015026307,
0.529919264233204124,0.515038074910053378,
0.499999999999999112,0.484809620246336115,
0.469471562785889862,0.453990499739545861,
0.438371146789076460,0.422618261740698442,
0.406736643075799154,0.390731128489272661,
0.374606593415910960,0.358367949545299158,
0.342020143325667547,0.325568154457155479,
0.309016994374946230,0.292371704722735493,
0.275637355816997887,0.258819045102519463,
0.241921895599666398,0.224951054343863643,
0.207911690817757955,0.190808995376543389,
0.173648177666928888,0.156434465040229398,
0.139173100960063939,0.121869343405145950,
0.104528463267651903,0.087155742747656584,
0.069756473744123679,0.052335956242942190,
0.034899496702499304,0.017452406437281822,
-0.000000000000001715,-0.017452406437285253,
-0.034899496702502732,-0.052335956242945618,
-0.069756473744127107,-0.087155742747659998,
-0.104528463267655317,-0.121869343405149350,
-0.139173100960067325,-0.156434465040232784,
-0.173648177666932274,-0.190808995376546747,
-0.207911690817761285,-0.224951054343866974,
-0.241921895599669701,-0.258819045102522793,
-0.275637355817001217,-0.292371704722738768,
-0.309016994374949450,-0.325568154457158698,
-0.342020143325670822,-0.358367949545302322,
-0.374606593415914124,-0.390731128489275825,
-0.406736643075802318,-0.422618261740701329,
-0.438371146789079125,-0.453990499739548303,
-0.469471562785892083,-0.484809620246338169,
-0.500000000000000999,-0.515038074910054933,
-0.529919264233205567,-0.544639035015027528,
-0.559192903470747127,-0.573576436351046159,
-0.587785252292473026,-0.601815023152048045,
-0.615661475325657848,-0.629320391049836947,
-0.642787609686538697,-0.656059028990506499,
-0.669130606358857238,-0.681998360062497477,
-0.694658370458996033,-0.707106781186546240,
-0.719339800338649749,-0.731353701619168906,
-0.743144825477392579,-0.754709580222770238,
-0.766044443118976237,-0.777145961456968903,
-0.788010753606719905,-0.798635510047290720,
-0.809016994374945231,-0.819152044288989578,
-0.829037572555039404,-0.838670567945421719,
-0.848048096156423625,-0.857167300702109891,
-0.866025403784436265,-0.874619707139393410,
-0.882947592858924435,-0.891006524188365345,
-0.898794046299164484,-0.906307787036647494,
-0.913545457642598424,-0.920504853452437932,
-0.927183854566784982,-0.933580426497199412,
-0.939692620785906096,-0.945518575599314515,
-0.951056516295151311,-0.956304755963033326,
-0.961261695938316785,-0.965925826289066314,
-0.970295726275994586,-0.974370064785233358,
-0.978147600733803912,-0.981627183447662310,
-0.984807753012206577,-0.987688340595136327,
-0.990268068741569030,-0.992546151641320873,
-0.994521895368272291,-0.996194698091744657,
-0.997564050259823532,-0.998629534754573389,
-0.999390827019095318,-0.999847695156391048,
-1.000000000000000000,-0.999847695156391381,
-0.999390827019096095,-0.998629534754574499,
-0.997564050259825086,-0.996194698091746544,
-0.994521895368274622,-0.992546151641323537,
-0.990268068741572027,-0.987688340595139658,
-0.984807753012210241,-0.981627183447666418,
-0.978147600733808353,-0.974370064785238244,
-0.970295726275999804,-0.965925826289071865,
-0.961261695938322669,-0.956304755963039654,
-0.951056516295157972,-0.945518575599321509,
-0.939692620785913424,-0.933580426497207072,
-0.927183854566793086,-0.920504853452446370,
-0.913545457642607195,-0.906307787036656598,
-0.898794046299173921,-0.891006524188375226,
-0.882947592858934649,-0.874619707139403846,
-0.866025403784447034,-0.857167300702120993,
-0.848048096156435061,-0.838670567945433487,
-0.829037572555051505,-0.819152044289001902,
-0.809016994374957998,-0.798635510047303709,
-0.788010753606733227,-0.777145961456982559,
-0.766044443118990004,-0.754709580222784449,
-0.743144825477407012,-0.731353701619183672,
-0.719339800338664737,-0.707106781186561450,
-0.694658370459011576,-0.681998360062513242,
-0.669130606358873337,-0.656059028990522708,
-0.642787609686555128,-0.629320391049853711,
-0.615661475325674945,-0.601815023152065254,
-0.587785252292490457,-0.573576436351063812,
-0.559192903470765002,-0.544639035015045625,
-0.529919264233223886,-0.515038074910073473,
-0.500000000000019651,-0.484809620246357043,
-0.469471562785911123,-0.453990499739567510,
-0.438371146789098498,-0.422618261740720869,
-0.406736643075822024,-0.390731128489295920,
-0.374606593415934497,-0.358367949545323083,
-0.342020143325691917,-0.325568154457180181,
-0.309016994374971266,-0.292371704722760861,
-0.275637355817023644,-0.258819045102545497,
-0.241921895599692793,-0.224951054343890372,
-0.207911690817784989,-0.190808995376570756,
-0.173648177666956560,-0.156434465040257376,
-0.139173100960092194,-0.121869343405174496,
-0.104528463267680741,-0.087155742747685686,
-0.069756473744153044,-0.052335956242971805,
-0.034899496702529162,-0.017452406437311916,
-0.000000000000028605,0.017452406437254715,
0.034899496702471985,0.052335956242914670,
0.069756473744095979,0.087155742747628689,
0.104528463267623842,0.121869343405117708,
0.139173100960035545,0.156434465040200865,
0.173648177666900216,0.190808995376514606,
0.207911690817729033,0.224951054343834611,
0.241921895599637282,0.258819045102490264,
0.275637355816968632,0.292371704722706127,
0.309016994374916809,0.325568154457126058,
0.342020143325638126,0.358367949545269682,
0.374606593415881484,0.390731128489243240,
0.406736643075769733,0.422618261740669021,
0.438371146789047095,0.453990499739516551,
0.469471562785860608,0.484809620246306972,
0.499999999999970080,0.515038074910024402,
0.529919264233175369,0.544639035014997663,
0.559192903470717484,0.573576436351016961,
0.587785252292444271,0.601815023152019624,
0.615661475325629759,0.629320391049809191,
0.642787609686511385,0.656059028990479520,
0.669130606358830815,0.681998360062471387,
0.694658370458970387,0.707106781186521038,
0.719339800338624991,0.731353701619144592,
0.743144825477368709,0.754709580222746812,
0.766044443118953255,0.777145961456946477,
0.788010753606698033,0.798635510047269292,
0.809016994374924359,0.819152044288969150,
0.829037572555019531,0.838670567945402290,
0.848048096156404752,0.857167300702091572,
0.866025403784418391,0.874619707139376090,
0.882947592858907782,0.891006524188349247,
0.898794046299148941,0.906307787036632395,
0.913545457642583991,0.920504853452423943,
0.927183854566771659,0.933580426497186644,
0.939692620785893884,0.945518575599302968,
0.951056516295140320,0.956304755963022890,
0.961261695938306904,0.965925826289056988,
0.970295726275985926,0.974370064785225365,
0.978147600733796474,0.981627183447655538,
0.984807753012200360,0.987688340595130776,
0.990268068741564034,0.992546151641316543,
0.994521895368268627,0.996194698091741548,
0.997564050259821089,0.998629534754571502,
0.999390827019094097,0.999847695156390381 };
int tama(double x) /* bucuktan kucuk veya buyuk olmasina gore tama yuvarlar */
{
int y = x;
if (y < (x + 0.5)) y++;
return y;
}