Fix fx_const.h dependency handling

This commit is contained in:
PikalaxALT 2022-01-11 12:36:23 -05:00
parent 0bcfb92500
commit 92cb0f0ea5
7 changed files with 1027 additions and 886 deletions

View File

@ -80,10 +80,8 @@ $(BANNER): $(BANNER_SPEC) $(ICON_PNG:%.png=%.nbfp) $(ICON_PNG:%.png=%.nbfc)
FX_CONST_H := $(WORK_DIR)/lib/include/nitro/fx/fx_const.h
PROJECT_CLEAN_TARGETS += $(FX_CONST_H)
$(WORK_DIR)/include/global.h: $(FX_CONST_H) ;
# Force this to be made first
ifeq ($(wildcard $(FX_CONST_H)),)
$(shell $(MKFXCONST) > $(FX_CONST_H))
endif
$(FX_CONST_H): $(TOOLSDIR)/gen_fx_consts/fx_const.csv
$(MKFXCONST) $(FX_CONST_H)
heartgold: ; @$(MAKE) GAME_VERSION=HEARTGOLD
soulsilver: ; @$(MAKE) GAME_VERSION=SOULSILVER

View File

@ -1,4 +1,4 @@
CFLAGS := -O3 -g -DNDEBUG
CFLAGS := -O3 -g -DNDEBUG -DSOURCE_DIR="\"$(PWD)\""
SRCS := main.c fx_encode.c fx_data.c
OBJS := $(SRCS:%.c=%.o)

View File

@ -1,6 +1,8 @@
#ifndef GUARD_FX_H
#define GUARD_FX_H
#include <string.h>
struct FxSpec {
const char *name;
int intpart;
@ -8,13 +10,17 @@ struct FxSpec {
};
struct FxConst {
const char *name;
char *name;
const struct FxSpec *fxtype;
double value;
};
extern const struct FxConst gFxConstTable[];
extern const int gNFxConstTable;
extern struct FxConst *gFxConstTable;
extern size_t gNFxConstTable;
// Init and delete the above two objects
void FxConstTableInit(void);
void FxConstTableEnd(void);
// Generates the integer value of the fixed-point value represented by FxConst*
long long MakeFix(const struct FxConst *constdef);

View File

@ -0,0 +1,862 @@
#name,type,value
E,fx64c,2.7182818284590452354
LOG2E,fx64c,1.4426950408889634074
LOG10E,fx64c,0.43429448190325182765
LN2,fx64c,0.69314718055994530942
LN10,fx64c,2.30258509299404568402
PI,fx64c,3.14159265358979323846
TWOPI,fx64c,6.28318530717958647692
PI_2,fx64c,1.57079632679489661923
PI_4,fx64c,0.78539816339744830962
3PI_4,fx64c,2.3561944901923448370
SQRTPI,fx64c,1.77245385090551602793
1_PI,fx64c,0.31830988618379067154
2_PI,fx64c,0.63661977236758134308
2_SQRTPI,fx64c,1.12837916709551257390
SQRT2,fx64c,1.41421356237309504880
SQRT1_2,fx64c,0.70710678118654752440
SQRT3,fx64c,1.73205080756887719000
SQRT1_3,fx64c,0.57735026918962576450914878050196
IVLN10,fx64c,0.43429448190325182765
LOG2_E,fx64c,0.693147180559945309417
INVLN2,fx64c,1.4426950408889633870
1_360,fx64c,0.0027777777777777777778
TWOPI_360,fx64c,0.0174532925199432957692
360_TWOPI,fx64c,57.295779513082320876846
65536_TWOPI,fx64c,10430.378350470452724958342593503
65536_360,fx64c,182.04444444444444444444444444444
TWOPI_65536,fx64c,0.0000958737992428525768572998046875
360_65536,fx64c,0.0054931640625
1_100,fx64c,0.01000000000000000000
2_100,fx64c,0.02000000000000000000
3_100,fx64c,0.03000000000000000000
4_100,fx64c,0.04000000000000000000
5_100,fx64c,0.05000000000000000000
6_100,fx64c,0.06000000000000000000
7_100,fx64c,0.07000000000000000000
8_100,fx64c,0.08000000000000000000
9_100,fx64c,0.09000000000000000000
10_100,fx64c,0.10000000000000000000
11_100,fx64c,0.11000000000000000000
12_100,fx64c,0.12000000000000000000
13_100,fx64c,0.13000000000000000000
14_100,fx64c,0.14000000000000000000
15_100,fx64c,0.15000000000000000000
16_100,fx64c,0.16000000000000000000
17_100,fx64c,0.17000000000000000000
18_100,fx64c,0.18000000000000000000
19_100,fx64c,0.19000000000000000000
20_100,fx64c,0.20000000000000000000
21_100,fx64c,0.21000000000000000000
22_100,fx64c,0.22000000000000000000
23_100,fx64c,0.23000000000000000000
24_100,fx64c,0.24000000000000000000
25_100,fx64c,0.25000000000000000000
26_100,fx64c,0.26000000000000000000
27_100,fx64c,0.27000000000000000000
28_100,fx64c,0.28000000000000000000
29_100,fx64c,0.29000000000000000000
30_100,fx64c,0.30000000000000000000
31_100,fx64c,0.31000000000000000000
32_100,fx64c,0.32000000000000000000
33_100,fx64c,0.33000000000000000000
34_100,fx64c,0.34000000000000000000
35_100,fx64c,0.35000000000000000000
36_100,fx64c,0.36000000000000000000
37_100,fx64c,0.37000000000000000000
38_100,fx64c,0.38000000000000000000
39_100,fx64c,0.39000000000000000000
40_100,fx64c,0.40000000000000000000
41_100,fx64c,0.41000000000000000000
42_100,fx64c,0.42000000000000000000
43_100,fx64c,0.43000000000000000000
44_100,fx64c,0.44000000000000000000
45_100,fx64c,0.45000000000000000000
46_100,fx64c,0.46000000000000000000
47_100,fx64c,0.47000000000000000000
48_100,fx64c,0.48000000000000000000
49_100,fx64c,0.49000000000000000000
50_100,fx64c,0.50000000000000000000
51_100,fx64c,0.51000000000000000000
52_100,fx64c,0.52000000000000000000
53_100,fx64c,0.53000000000000000000
54_100,fx64c,0.54000000000000000000
55_100,fx64c,0.55000000000000000000
56_100,fx64c,0.56000000000000000000
57_100,fx64c,0.57000000000000000000
58_100,fx64c,0.58000000000000000000
59_100,fx64c,0.59000000000000000000
60_100,fx64c,0.60000000000000000000
61_100,fx64c,0.61000000000000000000
62_100,fx64c,0.62000000000000000000
63_100,fx64c,0.63000000000000000000
64_100,fx64c,0.64000000000000000000
65_100,fx64c,0.65000000000000000000
66_100,fx64c,0.66000000000000000000
67_100,fx64c,0.67000000000000000000
68_100,fx64c,0.68000000000000000000
69_100,fx64c,0.69000000000000000000
70_100,fx64c,0.70000000000000000000
71_100,fx64c,0.71000000000000000000
72_100,fx64c,0.72000000000000000000
73_100,fx64c,0.73000000000000000000
74_100,fx64c,0.74000000000000000000
75_100,fx64c,0.75000000000000000000
76_100,fx64c,0.76000000000000000000
77_100,fx64c,0.77000000000000000000
78_100,fx64c,0.78000000000000000000
79_100,fx64c,0.79000000000000000000
80_100,fx64c,0.80000000000000000000
81_100,fx64c,0.81000000000000000000
82_100,fx64c,0.82000000000000000000
83_100,fx64c,0.83000000000000000000
84_100,fx64c,0.84000000000000000000
85_100,fx64c,0.85000000000000000000
86_100,fx64c,0.86000000000000000000
87_100,fx64c,0.87000000000000000000
88_100,fx64c,0.88000000000000000000
89_100,fx64c,0.89000000000000000000
90_100,fx64c,0.90000000000000000000
91_100,fx64c,0.91000000000000000000
92_100,fx64c,0.92000000000000000000
93_100,fx64c,0.93000000000000000000
94_100,fx64c,0.94000000000000000000
95_100,fx64c,0.95000000000000000000
96_100,fx64c,0.96000000000000000000
97_100,fx64c,0.97000000000000000000
98_100,fx64c,0.98000000000000000000
99_100,fx64c,0.99000000000000000000
ONE,fx64c,1.00000000000000000000
HALF,fx64c,0.50000000000000000000
ONE,fx32,1.00000000000000000000
HALF,fx32,0.50000000000000000000
SQRT2,fx32,1.41421356237309504880
SQRT1_2,fx32,0.70710678118654752440
SQRT3,fx32,1.73205080756887719000
SQRT1_3,fx32,0.57735026918962576450914878050196
ONE,fx16,1.00000000000000000000
HALF,fx16,0.50000000000000000000
SQRT2,fx16,1.41421356237309504880
SQRT1_2,fx16,0.70710678118654752440
SQRT3,fx16,1.73205080756887719000
SQRT1_3,fx16,0.57735026918962576450914878050196
SIN0,fx32,0
SIN1,fx32,0.0174524064372835
SIN2,fx32,0.034899496702501
SIN3,fx32,0.0523359562429438
SIN4,fx32,0.0697564737441253
SIN5,fx32,0.0871557427476582
SIN6,fx32,0.104528463267653
SIN7,fx32,0.121869343405147
SIN8,fx32,0.139173100960065
SIN9,fx32,0.156434465040231
SIN10,fx32,0.17364817766693
SIN11,fx32,0.190808995376545
SIN12,fx32,0.207911690817759
SIN13,fx32,0.224951054343865
SIN14,fx32,0.241921895599668
SIN15,fx32,0.258819045102521
SIN16,fx32,0.275637355816999
SIN17,fx32,0.292371704722737
SIN18,fx32,0.309016994374947
SIN19,fx32,0.325568154457157
SIN20,fx32,0.342020143325669
SIN21,fx32,0.3583679495453
SIN22,fx32,0.374606593415912
SIN23,fx32,0.390731128489274
SIN24,fx32,0.4067366430758
SIN25,fx32,0.422618261740699
SIN26,fx32,0.438371146789077
SIN27,fx32,0.453990499739547
SIN28,fx32,0.469471562785891
SIN29,fx32,0.484809620246337
SIN30,fx32,0.5
SIN31,fx32,0.515038074910054
SIN32,fx32,0.529919264233205
SIN33,fx32,0.544639035015027
SIN34,fx32,0.559192903470747
SIN35,fx32,0.573576436351046
SIN36,fx32,0.587785252292473
SIN37,fx32,0.601815023152048
SIN38,fx32,0.615661475325658
SIN39,fx32,0.629320391049837
SIN40,fx32,0.642787609686539
SIN41,fx32,0.656059028990507
SIN42,fx32,0.669130606358858
SIN43,fx32,0.681998360062498
SIN44,fx32,0.694658370458997
SIN45,fx32,0.707106781186547
SIN46,fx32,0.719339800338651
SIN47,fx32,0.73135370161917
SIN48,fx32,0.743144825477394
SIN49,fx32,0.754709580222772
SIN50,fx32,0.766044443118978
SIN51,fx32,0.777145961456971
SIN52,fx32,0.788010753606722
SIN53,fx32,0.798635510047293
SIN54,fx32,0.809016994374947
SIN55,fx32,0.819152044288992
SIN56,fx32,0.829037572555042
SIN57,fx32,0.838670567945424
SIN58,fx32,0.848048096156426
SIN59,fx32,0.857167300702112
SIN60,fx32,0.866025403784439
SIN61,fx32,0.874619707139396
SIN62,fx32,0.882947592858927
SIN63,fx32,0.891006524188368
SIN64,fx32,0.898794046299167
SIN65,fx32,0.90630778703665
SIN66,fx32,0.913545457642601
SIN67,fx32,0.92050485345244
SIN68,fx32,0.927183854566787
SIN69,fx32,0.933580426497202
SIN70,fx32,0.939692620785908
SIN71,fx32,0.945518575599317
SIN72,fx32,0.951056516295154
SIN73,fx32,0.956304755963035
SIN74,fx32,0.961261695938319
SIN75,fx32,0.965925826289068
SIN76,fx32,0.970295726275996
SIN77,fx32,0.974370064785235
SIN78,fx32,0.978147600733806
SIN79,fx32,0.981627183447664
SIN80,fx32,0.984807753012208
SIN81,fx32,0.987688340595138
SIN82,fx32,0.99026806874157
SIN83,fx32,0.992546151641322
SIN84,fx32,0.994521895368273
SIN85,fx32,0.996194698091746
SIN86,fx32,0.997564050259824
SIN87,fx32,0.998629534754574
SIN88,fx32,0.999390827019096
SIN89,fx32,0.999847695156391
SIN90,fx32,1
SIN91,fx32,0.999847695156391
SIN92,fx32,0.999390827019096
SIN93,fx32,0.998629534754574
SIN94,fx32,0.997564050259824
SIN95,fx32,0.996194698091746
SIN96,fx32,0.994521895368273
SIN97,fx32,0.992546151641322
SIN98,fx32,0.99026806874157
SIN99,fx32,0.987688340595138
SIN100,fx32,0.984807753012208
SIN101,fx32,0.981627183447664
SIN102,fx32,0.978147600733806
SIN103,fx32,0.974370064785235
SIN104,fx32,0.970295726275996
SIN105,fx32,0.965925826289068
SIN106,fx32,0.961261695938319
SIN107,fx32,0.956304755963036
SIN108,fx32,0.951056516295154
SIN109,fx32,0.945518575599317
SIN110,fx32,0.939692620785908
SIN111,fx32,0.933580426497202
SIN112,fx32,0.927183854566787
SIN113,fx32,0.92050485345244
SIN114,fx32,0.913545457642601
SIN115,fx32,0.90630778703665
SIN116,fx32,0.898794046299167
SIN117,fx32,0.891006524188368
SIN118,fx32,0.882947592858927
SIN119,fx32,0.874619707139396
SIN120,fx32,0.866025403784439
SIN121,fx32,0.857167300702112
SIN122,fx32,0.848048096156426
SIN123,fx32,0.838670567945424
SIN124,fx32,0.829037572555042
SIN125,fx32,0.819152044288992
SIN126,fx32,0.809016994374947
SIN127,fx32,0.798635510047293
SIN128,fx32,0.788010753606722
SIN129,fx32,0.777145961456971
SIN130,fx32,0.766044443118978
SIN131,fx32,0.754709580222772
SIN132,fx32,0.743144825477394
SIN133,fx32,0.731353701619171
SIN134,fx32,0.719339800338651
SIN135,fx32,0.707106781186548
SIN136,fx32,0.694658370458997
SIN137,fx32,0.681998360062498
SIN138,fx32,0.669130606358858
SIN139,fx32,0.656059028990507
SIN140,fx32,0.642787609686539
SIN141,fx32,0.629320391049837
SIN142,fx32,0.615661475325658
SIN143,fx32,0.601815023152048
SIN144,fx32,0.587785252292473
SIN145,fx32,0.573576436351046
SIN146,fx32,0.559192903470747
SIN147,fx32,0.544639035015027
SIN148,fx32,0.529919264233205
SIN149,fx32,0.515038074910054
SIN150,fx32,0.5
SIN151,fx32,0.484809620246337
SIN152,fx32,0.469471562785891
SIN153,fx32,0.453990499739547
SIN154,fx32,0.438371146789077
SIN155,fx32,0.422618261740699
SIN156,fx32,0.4067366430758
SIN157,fx32,0.390731128489274
SIN158,fx32,0.374606593415912
SIN159,fx32,0.3583679495453
SIN160,fx32,0.342020143325669
SIN161,fx32,0.325568154457157
SIN162,fx32,0.309016994374948
SIN163,fx32,0.292371704722737
SIN164,fx32,0.275637355816999
SIN165,fx32,0.258819045102521
SIN166,fx32,0.241921895599668
SIN167,fx32,0.224951054343865
SIN168,fx32,0.207911690817759
SIN169,fx32,0.190808995376545
SIN170,fx32,0.17364817766693
SIN171,fx32,0.156434465040231
SIN172,fx32,0.139173100960065
SIN173,fx32,0.121869343405148
SIN174,fx32,0.104528463267654
SIN175,fx32,0.0871557427476582
SIN176,fx32,0.0697564737441255
SIN177,fx32,0.0523359562429438
SIN178,fx32,0.0348994967025011
SIN179,fx32,0.0174524064372834
SIN180,fx32,1.22464679914735e-16
SIN181,fx32,-0.0174524064372836
SIN182,fx32,-0.0348994967025009
SIN183,fx32,-0.0523359562429436
SIN184,fx32,-0.0697564737441253
SIN185,fx32,-0.0871557427476579
SIN186,fx32,-0.104528463267653
SIN187,fx32,-0.121869343405147
SIN188,fx32,-0.139173100960066
SIN189,fx32,-0.156434465040231
SIN190,fx32,-0.17364817766693
SIN191,fx32,-0.190808995376545
SIN192,fx32,-0.20791169081776
SIN193,fx32,-0.224951054343865
SIN194,fx32,-0.241921895599668
SIN195,fx32,-0.258819045102521
SIN196,fx32,-0.275637355816999
SIN197,fx32,-0.292371704722737
SIN198,fx32,-0.309016994374947
SIN199,fx32,-0.325568154457157
SIN200,fx32,-0.342020143325669
SIN201,fx32,-0.3583679495453
SIN202,fx32,-0.374606593415912
SIN203,fx32,-0.390731128489274
SIN204,fx32,-0.4067366430758
SIN205,fx32,-0.422618261740699
SIN206,fx32,-0.438371146789077
SIN207,fx32,-0.453990499739547
SIN208,fx32,-0.469471562785891
SIN209,fx32,-0.484809620246337
SIN210,fx32,-0.5
SIN211,fx32,-0.515038074910054
SIN212,fx32,-0.529919264233205
SIN213,fx32,-0.544639035015027
SIN214,fx32,-0.559192903470747
SIN215,fx32,-0.573576436351046
SIN216,fx32,-0.587785252292473
SIN217,fx32,-0.601815023152048
SIN218,fx32,-0.615661475325658
SIN219,fx32,-0.629320391049838
SIN220,fx32,-0.642787609686539
SIN221,fx32,-0.656059028990507
SIN222,fx32,-0.669130606358858
SIN223,fx32,-0.681998360062498
SIN224,fx32,-0.694658370458997
SIN225,fx32,-0.707106781186547
SIN226,fx32,-0.719339800338651
SIN227,fx32,-0.73135370161917
SIN228,fx32,-0.743144825477394
SIN229,fx32,-0.754709580222772
SIN230,fx32,-0.766044443118978
SIN231,fx32,-0.777145961456971
SIN232,fx32,-0.788010753606722
SIN233,fx32,-0.798635510047293
SIN234,fx32,-0.809016994374947
SIN235,fx32,-0.819152044288992
SIN236,fx32,-0.829037572555042
SIN237,fx32,-0.838670567945424
SIN238,fx32,-0.848048096156426
SIN239,fx32,-0.857167300702112
SIN240,fx32,-0.866025403784438
SIN241,fx32,-0.874619707139396
SIN242,fx32,-0.882947592858927
SIN243,fx32,-0.891006524188368
SIN244,fx32,-0.898794046299167
SIN245,fx32,-0.90630778703665
SIN246,fx32,-0.913545457642601
SIN247,fx32,-0.92050485345244
SIN248,fx32,-0.927183854566787
SIN249,fx32,-0.933580426497202
SIN250,fx32,-0.939692620785908
SIN251,fx32,-0.945518575599317
SIN252,fx32,-0.951056516295154
SIN253,fx32,-0.956304755963035
SIN254,fx32,-0.961261695938319
SIN255,fx32,-0.965925826289068
SIN256,fx32,-0.970295726275996
SIN257,fx32,-0.974370064785235
SIN258,fx32,-0.978147600733806
SIN259,fx32,-0.981627183447664
SIN260,fx32,-0.984807753012208
SIN261,fx32,-0.987688340595138
SIN262,fx32,-0.99026806874157
SIN263,fx32,-0.992546151641322
SIN264,fx32,-0.994521895368273
SIN265,fx32,-0.996194698091746
SIN266,fx32,-0.997564050259824
SIN267,fx32,-0.998629534754574
SIN268,fx32,-0.999390827019096
SIN269,fx32,-0.999847695156391
SIN270,fx32,-1
SIN271,fx32,-0.999847695156391
SIN272,fx32,-0.999390827019096
SIN273,fx32,-0.998629534754574
SIN274,fx32,-0.997564050259824
SIN275,fx32,-0.996194698091746
SIN276,fx32,-0.994521895368273
SIN277,fx32,-0.992546151641322
SIN278,fx32,-0.99026806874157
SIN279,fx32,-0.987688340595138
SIN280,fx32,-0.984807753012208
SIN281,fx32,-0.981627183447664
SIN282,fx32,-0.978147600733806
SIN283,fx32,-0.974370064785235
SIN284,fx32,-0.970295726275997
SIN285,fx32,-0.965925826289068
SIN286,fx32,-0.961261695938319
SIN287,fx32,-0.956304755963035
SIN288,fx32,-0.951056516295154
SIN289,fx32,-0.945518575599317
SIN290,fx32,-0.939692620785908
SIN291,fx32,-0.933580426497202
SIN292,fx32,-0.927183854566787
SIN293,fx32,-0.92050485345244
SIN294,fx32,-0.913545457642601
SIN295,fx32,-0.90630778703665
SIN296,fx32,-0.898794046299167
SIN297,fx32,-0.891006524188368
SIN298,fx32,-0.882947592858927
SIN299,fx32,-0.874619707139396
SIN300,fx32,-0.866025403784439
SIN301,fx32,-0.857167300702112
SIN302,fx32,-0.848048096156426
SIN303,fx32,-0.838670567945424
SIN304,fx32,-0.829037572555042
SIN305,fx32,-0.819152044288992
SIN306,fx32,-0.809016994374948
SIN307,fx32,-0.798635510047293
SIN308,fx32,-0.788010753606722
SIN309,fx32,-0.777145961456971
SIN310,fx32,-0.766044443118978
SIN311,fx32,-0.754709580222772
SIN312,fx32,-0.743144825477395
SIN313,fx32,-0.73135370161917
SIN314,fx32,-0.719339800338651
SIN315,fx32,-0.707106781186548
SIN316,fx32,-0.694658370458998
SIN317,fx32,-0.681998360062498
SIN318,fx32,-0.669130606358858
SIN319,fx32,-0.656059028990507
SIN320,fx32,-0.64278760968654
SIN321,fx32,-0.629320391049838
SIN322,fx32,-0.615661475325658
SIN323,fx32,-0.601815023152048
SIN324,fx32,-0.587785252292473
SIN325,fx32,-0.573576436351046
SIN326,fx32,-0.559192903470747
SIN327,fx32,-0.544639035015027
SIN328,fx32,-0.529919264233205
SIN329,fx32,-0.515038074910054
SIN330,fx32,-0.5
SIN331,fx32,-0.484809620246337
SIN332,fx32,-0.469471562785891
SIN333,fx32,-0.453990499739547
SIN334,fx32,-0.438371146789078
SIN335,fx32,-0.422618261740699
SIN336,fx32,-0.4067366430758
SIN337,fx32,-0.390731128489274
SIN338,fx32,-0.374606593415912
SIN339,fx32,-0.358367949545301
SIN340,fx32,-0.342020143325669
SIN341,fx32,-0.325568154457157
SIN342,fx32,-0.309016994374948
SIN343,fx32,-0.292371704722737
SIN344,fx32,-0.275637355816999
SIN345,fx32,-0.258819045102521
SIN346,fx32,-0.241921895599668
SIN347,fx32,-0.224951054343865
SIN348,fx32,-0.20791169081776
SIN349,fx32,-0.190808995376545
SIN350,fx32,-0.17364817766693
SIN351,fx32,-0.156434465040231
SIN352,fx32,-0.139173100960066
SIN353,fx32,-0.121869343405147
SIN354,fx32,-0.104528463267653
SIN355,fx32,-0.0871557427476583
SIN356,fx32,-0.0697564737441256
SIN357,fx32,-0.0523359562429444
SIN358,fx32,-0.0348994967025008
SIN359,fx32,-0.0174524064372836
COS0,fx32,1
COS1,fx32,0.999847695156391
COS2,fx32,0.999390827019096
COS3,fx32,0.998629534754574
COS4,fx32,0.997564050259824
COS5,fx32,0.996194698091746
COS6,fx32,0.994521895368273
COS7,fx32,0.992546151641322
COS8,fx32,0.99026806874157
COS9,fx32,0.987688340595138
COS10,fx32,0.984807753012208
COS11,fx32,0.981627183447664
COS12,fx32,0.978147600733806
COS13,fx32,0.974370064785235
COS14,fx32,0.970295726275996
COS15,fx32,0.965925826289068
COS16,fx32,0.961261695938319
COS17,fx32,0.956304755963035
COS18,fx32,0.951056516295154
COS19,fx32,0.945518575599317
COS20,fx32,0.939692620785908
COS21,fx32,0.933580426497202
COS22,fx32,0.927183854566787
COS23,fx32,0.92050485345244
COS24,fx32,0.913545457642601
COS25,fx32,0.90630778703665
COS26,fx32,0.898794046299167
COS27,fx32,0.891006524188368
COS28,fx32,0.882947592858927
COS29,fx32,0.874619707139396
COS30,fx32,0.866025403784439
COS31,fx32,0.857167300702112
COS32,fx32,0.848048096156426
COS33,fx32,0.838670567945424
COS34,fx32,0.829037572555042
COS35,fx32,0.819152044288992
COS36,fx32,0.809016994374947
COS37,fx32,0.798635510047293
COS38,fx32,0.788010753606722
COS39,fx32,0.777145961456971
COS40,fx32,0.766044443118978
COS41,fx32,0.754709580222772
COS42,fx32,0.743144825477394
COS43,fx32,0.73135370161917
COS44,fx32,0.719339800338651
COS45,fx32,0.707106781186548
COS46,fx32,0.694658370458997
COS47,fx32,0.681998360062498
COS48,fx32,0.669130606358858
COS49,fx32,0.656059028990507
COS50,fx32,0.642787609686539
COS51,fx32,0.629320391049838
COS52,fx32,0.615661475325658
COS53,fx32,0.601815023152048
COS54,fx32,0.587785252292473
COS55,fx32,0.573576436351046
COS56,fx32,0.559192903470747
COS57,fx32,0.544639035015027
COS58,fx32,0.529919264233205
COS59,fx32,0.515038074910054
COS60,fx32,0.5
COS61,fx32,0.484809620246337
COS62,fx32,0.469471562785891
COS63,fx32,0.453990499739547
COS64,fx32,0.438371146789077
COS65,fx32,0.422618261740699
COS66,fx32,0.4067366430758
COS67,fx32,0.390731128489274
COS68,fx32,0.374606593415912
COS69,fx32,0.3583679495453
COS70,fx32,0.342020143325669
COS71,fx32,0.325568154457157
COS72,fx32,0.309016994374947
COS73,fx32,0.292371704722737
COS74,fx32,0.275637355816999
COS75,fx32,0.258819045102521
COS76,fx32,0.241921895599668
COS77,fx32,0.224951054343865
COS78,fx32,0.207911690817759
COS79,fx32,0.190808995376545
COS80,fx32,0.17364817766693
COS81,fx32,0.156434465040231
COS82,fx32,0.139173100960065
COS83,fx32,0.121869343405147
COS84,fx32,0.104528463267653
COS85,fx32,0.0871557427476581
COS86,fx32,0.0697564737441252
COS87,fx32,0.052335956242944
COS88,fx32,0.0348994967025011
COS89,fx32,0.0174524064372836
COS90,fx32,6.12323399573677e-17
COS91,fx32,-0.0174524064372835
COS92,fx32,-0.034899496702501
COS93,fx32,-0.0523359562429438
COS94,fx32,-0.0697564737441253
COS95,fx32,-0.0871557427476582
COS96,fx32,-0.104528463267654
COS97,fx32,-0.121869343405147
COS98,fx32,-0.139173100960065
COS99,fx32,-0.156434465040231
COS100,fx32,-0.17364817766693
COS101,fx32,-0.190808995376545
COS102,fx32,-0.207911690817759
COS103,fx32,-0.224951054343865
COS104,fx32,-0.241921895599668
COS105,fx32,-0.258819045102521
COS106,fx32,-0.275637355816999
COS107,fx32,-0.292371704722737
COS108,fx32,-0.309016994374947
COS109,fx32,-0.325568154457157
COS110,fx32,-0.342020143325669
COS111,fx32,-0.3583679495453
COS112,fx32,-0.374606593415912
COS113,fx32,-0.390731128489274
COS114,fx32,-0.4067366430758
COS115,fx32,-0.422618261740699
COS116,fx32,-0.438371146789078
COS117,fx32,-0.453990499739547
COS118,fx32,-0.469471562785891
COS119,fx32,-0.484809620246337
COS120,fx32,-0.5
COS121,fx32,-0.515038074910054
COS122,fx32,-0.529919264233205
COS123,fx32,-0.544639035015027
COS124,fx32,-0.559192903470747
COS125,fx32,-0.573576436351046
COS126,fx32,-0.587785252292473
COS127,fx32,-0.601815023152048
COS128,fx32,-0.615661475325658
COS129,fx32,-0.629320391049837
COS130,fx32,-0.642787609686539
COS131,fx32,-0.656059028990507
COS132,fx32,-0.669130606358858
COS133,fx32,-0.681998360062498
COS134,fx32,-0.694658370458997
COS135,fx32,-0.707106781186547
COS136,fx32,-0.719339800338651
COS137,fx32,-0.73135370161917
COS138,fx32,-0.743144825477394
COS139,fx32,-0.754709580222772
COS140,fx32,-0.766044443118978
COS141,fx32,-0.777145961456971
COS142,fx32,-0.788010753606722
COS143,fx32,-0.798635510047293
COS144,fx32,-0.809016994374947
COS145,fx32,-0.819152044288992
COS146,fx32,-0.829037572555042
COS147,fx32,-0.838670567945424
COS148,fx32,-0.848048096156426
COS149,fx32,-0.857167300702112
COS150,fx32,-0.866025403784439
COS151,fx32,-0.874619707139396
COS152,fx32,-0.882947592858927
COS153,fx32,-0.891006524188368
COS154,fx32,-0.898794046299167
COS155,fx32,-0.90630778703665
COS156,fx32,-0.913545457642601
COS157,fx32,-0.92050485345244
COS158,fx32,-0.927183854566787
COS159,fx32,-0.933580426497202
COS160,fx32,-0.939692620785908
COS161,fx32,-0.945518575599317
COS162,fx32,-0.951056516295154
COS163,fx32,-0.956304755963036
COS164,fx32,-0.961261695938319
COS165,fx32,-0.965925826289068
COS166,fx32,-0.970295726275996
COS167,fx32,-0.974370064785235
COS168,fx32,-0.978147600733806
COS169,fx32,-0.981627183447664
COS170,fx32,-0.984807753012208
COS171,fx32,-0.987688340595138
COS172,fx32,-0.99026806874157
COS173,fx32,-0.992546151641322
COS174,fx32,-0.994521895368273
COS175,fx32,-0.996194698091746
COS176,fx32,-0.997564050259824
COS177,fx32,-0.998629534754574
COS178,fx32,-0.999390827019096
COS179,fx32,-0.999847695156391
COS180,fx32,-1
COS181,fx32,-0.999847695156391
COS182,fx32,-0.999390827019096
COS183,fx32,-0.998629534754574
COS184,fx32,-0.997564050259824
COS185,fx32,-0.996194698091746
COS186,fx32,-0.994521895368273
COS187,fx32,-0.992546151641322
COS188,fx32,-0.99026806874157
COS189,fx32,-0.987688340595138
COS190,fx32,-0.984807753012208
COS191,fx32,-0.981627183447664
COS192,fx32,-0.978147600733806
COS193,fx32,-0.974370064785235
COS194,fx32,-0.970295726275996
COS195,fx32,-0.965925826289068
COS196,fx32,-0.961261695938319
COS197,fx32,-0.956304755963035
COS198,fx32,-0.951056516295154
COS199,fx32,-0.945518575599317
COS200,fx32,-0.939692620785908
COS201,fx32,-0.933580426497202
COS202,fx32,-0.927183854566787
COS203,fx32,-0.92050485345244
COS204,fx32,-0.913545457642601
COS205,fx32,-0.90630778703665
COS206,fx32,-0.898794046299167
COS207,fx32,-0.891006524188368
COS208,fx32,-0.882947592858927
COS209,fx32,-0.874619707139396
COS210,fx32,-0.866025403784439
COS211,fx32,-0.857167300702112
COS212,fx32,-0.848048096156426
COS213,fx32,-0.838670567945424
COS214,fx32,-0.829037572555042
COS215,fx32,-0.819152044288992
COS216,fx32,-0.809016994374948
COS217,fx32,-0.798635510047293
COS218,fx32,-0.788010753606722
COS219,fx32,-0.777145961456971
COS220,fx32,-0.766044443118978
COS221,fx32,-0.754709580222772
COS222,fx32,-0.743144825477394
COS223,fx32,-0.731353701619171
COS224,fx32,-0.719339800338651
COS225,fx32,-0.707106781186548
COS226,fx32,-0.694658370458997
COS227,fx32,-0.681998360062499
COS228,fx32,-0.669130606358858
COS229,fx32,-0.656059028990507
COS230,fx32,-0.642787609686539
COS231,fx32,-0.629320391049838
COS232,fx32,-0.615661475325658
COS233,fx32,-0.601815023152048
COS234,fx32,-0.587785252292473
COS235,fx32,-0.573576436351046
COS236,fx32,-0.559192903470747
COS237,fx32,-0.544639035015027
COS238,fx32,-0.529919264233205
COS239,fx32,-0.515038074910054
COS240,fx32,-0.5
COS241,fx32,-0.484809620246337
COS242,fx32,-0.469471562785891
COS243,fx32,-0.453990499739547
COS244,fx32,-0.438371146789078
COS245,fx32,-0.422618261740699
COS246,fx32,-0.4067366430758
COS247,fx32,-0.390731128489274
COS248,fx32,-0.374606593415912
COS249,fx32,-0.358367949545301
COS250,fx32,-0.342020143325669
COS251,fx32,-0.325568154457157
COS252,fx32,-0.309016994374948
COS253,fx32,-0.292371704722737
COS254,fx32,-0.275637355816999
COS255,fx32,-0.258819045102521
COS256,fx32,-0.241921895599668
COS257,fx32,-0.224951054343865
COS258,fx32,-0.20791169081776
COS259,fx32,-0.190808995376545
COS260,fx32,-0.17364817766693
COS261,fx32,-0.156434465040231
COS262,fx32,-0.139173100960066
COS263,fx32,-0.121869343405147
COS264,fx32,-0.104528463267653
COS265,fx32,-0.0871557427476582
COS266,fx32,-0.0697564737441256
COS267,fx32,-0.0523359562429443
COS268,fx32,-0.0348994967025008
COS269,fx32,-0.0174524064372835
COS270,fx32,-1.83697019872103e-16
COS271,fx32,0.0174524064372831
COS272,fx32,0.0348994967025013
COS273,fx32,0.0523359562429439
COS274,fx32,0.0697564737441252
COS275,fx32,0.0871557427476579
COS276,fx32,0.104528463267653
COS277,fx32,0.121869343405148
COS278,fx32,0.139173100960065
COS279,fx32,0.156434465040231
COS280,fx32,0.17364817766693
COS281,fx32,0.190808995376545
COS282,fx32,0.207911690817759
COS283,fx32,0.224951054343865
COS284,fx32,0.241921895599667
COS285,fx32,0.25881904510252
COS286,fx32,0.275637355816999
COS287,fx32,0.292371704722737
COS288,fx32,0.309016994374947
COS289,fx32,0.325568154457156
COS290,fx32,0.342020143325669
COS291,fx32,0.3583679495453
COS292,fx32,0.374606593415912
COS293,fx32,0.390731128489273
COS294,fx32,0.4067366430758
COS295,fx32,0.4226182617407
COS296,fx32,0.438371146789077
COS297,fx32,0.453990499739547
COS298,fx32,0.46947156278589
COS299,fx32,0.484809620246337
COS300,fx32,0.5
COS301,fx32,0.515038074910054
COS302,fx32,0.529919264233205
COS303,fx32,0.544639035015027
COS304,fx32,0.559192903470747
COS305,fx32,0.573576436351046
COS306,fx32,0.587785252292473
COS307,fx32,0.601815023152048
COS308,fx32,0.615661475325659
COS309,fx32,0.629320391049838
COS310,fx32,0.642787609686539
COS311,fx32,0.656059028990507
COS312,fx32,0.669130606358858
COS313,fx32,0.681998360062499
COS314,fx32,0.694658370458997
COS315,fx32,0.707106781186547
COS316,fx32,0.719339800338651
COS317,fx32,0.731353701619171
COS318,fx32,0.743144825477394
COS319,fx32,0.754709580222772
COS320,fx32,0.766044443118978
COS321,fx32,0.777145961456971
COS322,fx32,0.788010753606722
COS323,fx32,0.798635510047293
COS324,fx32,0.809016994374947
COS325,fx32,0.819152044288992
COS326,fx32,0.829037572555042
COS327,fx32,0.838670567945424
COS328,fx32,0.848048096156426
COS329,fx32,0.857167300702112
COS330,fx32,0.866025403784438
COS331,fx32,0.874619707139396
COS332,fx32,0.882947592858927
COS333,fx32,0.891006524188368
COS334,fx32,0.898794046299167
COS335,fx32,0.90630778703665
COS336,fx32,0.913545457642601
COS337,fx32,0.92050485345244
COS338,fx32,0.927183854566787
COS339,fx32,0.933580426497202
COS340,fx32,0.939692620785908
COS341,fx32,0.945518575599317
COS342,fx32,0.951056516295154
COS343,fx32,0.956304755963035
COS344,fx32,0.961261695938319
COS345,fx32,0.965925826289068
COS346,fx32,0.970295726275996
COS347,fx32,0.974370064785235
COS348,fx32,0.978147600733806
COS349,fx32,0.981627183447664
COS350,fx32,0.984807753012208
COS351,fx32,0.987688340595138
COS352,fx32,0.99026806874157
COS353,fx32,0.992546151641322
COS354,fx32,0.994521895368273
COS355,fx32,0.996194698091746
COS356,fx32,0.997564050259824
COS357,fx32,0.998629534754574
COS358,fx32,0.999390827019096
COS359,fx32,0.999847695156391
1 #name type value
2 E fx64c 2.7182818284590452354
3 LOG2E fx64c 1.4426950408889634074
4 LOG10E fx64c 0.43429448190325182765
5 LN2 fx64c 0.69314718055994530942
6 LN10 fx64c 2.30258509299404568402
7 PI fx64c 3.14159265358979323846
8 TWOPI fx64c 6.28318530717958647692
9 PI_2 fx64c 1.57079632679489661923
10 PI_4 fx64c 0.78539816339744830962
11 3PI_4 fx64c 2.3561944901923448370
12 SQRTPI fx64c 1.77245385090551602793
13 1_PI fx64c 0.31830988618379067154
14 2_PI fx64c 0.63661977236758134308
15 2_SQRTPI fx64c 1.12837916709551257390
16 SQRT2 fx64c 1.41421356237309504880
17 SQRT1_2 fx64c 0.70710678118654752440
18 SQRT3 fx64c 1.73205080756887719000
19 SQRT1_3 fx64c 0.57735026918962576450914878050196
20 IVLN10 fx64c 0.43429448190325182765
21 LOG2_E fx64c 0.693147180559945309417
22 INVLN2 fx64c 1.4426950408889633870
23 1_360 fx64c 0.0027777777777777777778
24 TWOPI_360 fx64c 0.0174532925199432957692
25 360_TWOPI fx64c 57.295779513082320876846
26 65536_TWOPI fx64c 10430.378350470452724958342593503
27 65536_360 fx64c 182.04444444444444444444444444444
28 TWOPI_65536 fx64c 0.0000958737992428525768572998046875
29 360_65536 fx64c 0.0054931640625
30 1_100 fx64c 0.01000000000000000000
31 2_100 fx64c 0.02000000000000000000
32 3_100 fx64c 0.03000000000000000000
33 4_100 fx64c 0.04000000000000000000
34 5_100 fx64c 0.05000000000000000000
35 6_100 fx64c 0.06000000000000000000
36 7_100 fx64c 0.07000000000000000000
37 8_100 fx64c 0.08000000000000000000
38 9_100 fx64c 0.09000000000000000000
39 10_100 fx64c 0.10000000000000000000
40 11_100 fx64c 0.11000000000000000000
41 12_100 fx64c 0.12000000000000000000
42 13_100 fx64c 0.13000000000000000000
43 14_100 fx64c 0.14000000000000000000
44 15_100 fx64c 0.15000000000000000000
45 16_100 fx64c 0.16000000000000000000
46 17_100 fx64c 0.17000000000000000000
47 18_100 fx64c 0.18000000000000000000
48 19_100 fx64c 0.19000000000000000000
49 20_100 fx64c 0.20000000000000000000
50 21_100 fx64c 0.21000000000000000000
51 22_100 fx64c 0.22000000000000000000
52 23_100 fx64c 0.23000000000000000000
53 24_100 fx64c 0.24000000000000000000
54 25_100 fx64c 0.25000000000000000000
55 26_100 fx64c 0.26000000000000000000
56 27_100 fx64c 0.27000000000000000000
57 28_100 fx64c 0.28000000000000000000
58 29_100 fx64c 0.29000000000000000000
59 30_100 fx64c 0.30000000000000000000
60 31_100 fx64c 0.31000000000000000000
61 32_100 fx64c 0.32000000000000000000
62 33_100 fx64c 0.33000000000000000000
63 34_100 fx64c 0.34000000000000000000
64 35_100 fx64c 0.35000000000000000000
65 36_100 fx64c 0.36000000000000000000
66 37_100 fx64c 0.37000000000000000000
67 38_100 fx64c 0.38000000000000000000
68 39_100 fx64c 0.39000000000000000000
69 40_100 fx64c 0.40000000000000000000
70 41_100 fx64c 0.41000000000000000000
71 42_100 fx64c 0.42000000000000000000
72 43_100 fx64c 0.43000000000000000000
73 44_100 fx64c 0.44000000000000000000
74 45_100 fx64c 0.45000000000000000000
75 46_100 fx64c 0.46000000000000000000
76 47_100 fx64c 0.47000000000000000000
77 48_100 fx64c 0.48000000000000000000
78 49_100 fx64c 0.49000000000000000000
79 50_100 fx64c 0.50000000000000000000
80 51_100 fx64c 0.51000000000000000000
81 52_100 fx64c 0.52000000000000000000
82 53_100 fx64c 0.53000000000000000000
83 54_100 fx64c 0.54000000000000000000
84 55_100 fx64c 0.55000000000000000000
85 56_100 fx64c 0.56000000000000000000
86 57_100 fx64c 0.57000000000000000000
87 58_100 fx64c 0.58000000000000000000
88 59_100 fx64c 0.59000000000000000000
89 60_100 fx64c 0.60000000000000000000
90 61_100 fx64c 0.61000000000000000000
91 62_100 fx64c 0.62000000000000000000
92 63_100 fx64c 0.63000000000000000000
93 64_100 fx64c 0.64000000000000000000
94 65_100 fx64c 0.65000000000000000000
95 66_100 fx64c 0.66000000000000000000
96 67_100 fx64c 0.67000000000000000000
97 68_100 fx64c 0.68000000000000000000
98 69_100 fx64c 0.69000000000000000000
99 70_100 fx64c 0.70000000000000000000
100 71_100 fx64c 0.71000000000000000000
101 72_100 fx64c 0.72000000000000000000
102 73_100 fx64c 0.73000000000000000000
103 74_100 fx64c 0.74000000000000000000
104 75_100 fx64c 0.75000000000000000000
105 76_100 fx64c 0.76000000000000000000
106 77_100 fx64c 0.77000000000000000000
107 78_100 fx64c 0.78000000000000000000
108 79_100 fx64c 0.79000000000000000000
109 80_100 fx64c 0.80000000000000000000
110 81_100 fx64c 0.81000000000000000000
111 82_100 fx64c 0.82000000000000000000
112 83_100 fx64c 0.83000000000000000000
113 84_100 fx64c 0.84000000000000000000
114 85_100 fx64c 0.85000000000000000000
115 86_100 fx64c 0.86000000000000000000
116 87_100 fx64c 0.87000000000000000000
117 88_100 fx64c 0.88000000000000000000
118 89_100 fx64c 0.89000000000000000000
119 90_100 fx64c 0.90000000000000000000
120 91_100 fx64c 0.91000000000000000000
121 92_100 fx64c 0.92000000000000000000
122 93_100 fx64c 0.93000000000000000000
123 94_100 fx64c 0.94000000000000000000
124 95_100 fx64c 0.95000000000000000000
125 96_100 fx64c 0.96000000000000000000
126 97_100 fx64c 0.97000000000000000000
127 98_100 fx64c 0.98000000000000000000
128 99_100 fx64c 0.99000000000000000000
129 ONE fx64c 1.00000000000000000000
130 HALF fx64c 0.50000000000000000000
131 ONE fx32 1.00000000000000000000
132 HALF fx32 0.50000000000000000000
133 SQRT2 fx32 1.41421356237309504880
134 SQRT1_2 fx32 0.70710678118654752440
135 SQRT3 fx32 1.73205080756887719000
136 SQRT1_3 fx32 0.57735026918962576450914878050196
137 ONE fx16 1.00000000000000000000
138 HALF fx16 0.50000000000000000000
139 SQRT2 fx16 1.41421356237309504880
140 SQRT1_2 fx16 0.70710678118654752440
141 SQRT3 fx16 1.73205080756887719000
142 SQRT1_3 fx16 0.57735026918962576450914878050196
143 SIN0 fx32 0
144 SIN1 fx32 0.0174524064372835
145 SIN2 fx32 0.034899496702501
146 SIN3 fx32 0.0523359562429438
147 SIN4 fx32 0.0697564737441253
148 SIN5 fx32 0.0871557427476582
149 SIN6 fx32 0.104528463267653
150 SIN7 fx32 0.121869343405147
151 SIN8 fx32 0.139173100960065
152 SIN9 fx32 0.156434465040231
153 SIN10 fx32 0.17364817766693
154 SIN11 fx32 0.190808995376545
155 SIN12 fx32 0.207911690817759
156 SIN13 fx32 0.224951054343865
157 SIN14 fx32 0.241921895599668
158 SIN15 fx32 0.258819045102521
159 SIN16 fx32 0.275637355816999
160 SIN17 fx32 0.292371704722737
161 SIN18 fx32 0.309016994374947
162 SIN19 fx32 0.325568154457157
163 SIN20 fx32 0.342020143325669
164 SIN21 fx32 0.3583679495453
165 SIN22 fx32 0.374606593415912
166 SIN23 fx32 0.390731128489274
167 SIN24 fx32 0.4067366430758
168 SIN25 fx32 0.422618261740699
169 SIN26 fx32 0.438371146789077
170 SIN27 fx32 0.453990499739547
171 SIN28 fx32 0.469471562785891
172 SIN29 fx32 0.484809620246337
173 SIN30 fx32 0.5
174 SIN31 fx32 0.515038074910054
175 SIN32 fx32 0.529919264233205
176 SIN33 fx32 0.544639035015027
177 SIN34 fx32 0.559192903470747
178 SIN35 fx32 0.573576436351046
179 SIN36 fx32 0.587785252292473
180 SIN37 fx32 0.601815023152048
181 SIN38 fx32 0.615661475325658
182 SIN39 fx32 0.629320391049837
183 SIN40 fx32 0.642787609686539
184 SIN41 fx32 0.656059028990507
185 SIN42 fx32 0.669130606358858
186 SIN43 fx32 0.681998360062498
187 SIN44 fx32 0.694658370458997
188 SIN45 fx32 0.707106781186547
189 SIN46 fx32 0.719339800338651
190 SIN47 fx32 0.73135370161917
191 SIN48 fx32 0.743144825477394
192 SIN49 fx32 0.754709580222772
193 SIN50 fx32 0.766044443118978
194 SIN51 fx32 0.777145961456971
195 SIN52 fx32 0.788010753606722
196 SIN53 fx32 0.798635510047293
197 SIN54 fx32 0.809016994374947
198 SIN55 fx32 0.819152044288992
199 SIN56 fx32 0.829037572555042
200 SIN57 fx32 0.838670567945424
201 SIN58 fx32 0.848048096156426
202 SIN59 fx32 0.857167300702112
203 SIN60 fx32 0.866025403784439
204 SIN61 fx32 0.874619707139396
205 SIN62 fx32 0.882947592858927
206 SIN63 fx32 0.891006524188368
207 SIN64 fx32 0.898794046299167
208 SIN65 fx32 0.90630778703665
209 SIN66 fx32 0.913545457642601
210 SIN67 fx32 0.92050485345244
211 SIN68 fx32 0.927183854566787
212 SIN69 fx32 0.933580426497202
213 SIN70 fx32 0.939692620785908
214 SIN71 fx32 0.945518575599317
215 SIN72 fx32 0.951056516295154
216 SIN73 fx32 0.956304755963035
217 SIN74 fx32 0.961261695938319
218 SIN75 fx32 0.965925826289068
219 SIN76 fx32 0.970295726275996
220 SIN77 fx32 0.974370064785235
221 SIN78 fx32 0.978147600733806
222 SIN79 fx32 0.981627183447664
223 SIN80 fx32 0.984807753012208
224 SIN81 fx32 0.987688340595138
225 SIN82 fx32 0.99026806874157
226 SIN83 fx32 0.992546151641322
227 SIN84 fx32 0.994521895368273
228 SIN85 fx32 0.996194698091746
229 SIN86 fx32 0.997564050259824
230 SIN87 fx32 0.998629534754574
231 SIN88 fx32 0.999390827019096
232 SIN89 fx32 0.999847695156391
233 SIN90 fx32 1
234 SIN91 fx32 0.999847695156391
235 SIN92 fx32 0.999390827019096
236 SIN93 fx32 0.998629534754574
237 SIN94 fx32 0.997564050259824
238 SIN95 fx32 0.996194698091746
239 SIN96 fx32 0.994521895368273
240 SIN97 fx32 0.992546151641322
241 SIN98 fx32 0.99026806874157
242 SIN99 fx32 0.987688340595138
243 SIN100 fx32 0.984807753012208
244 SIN101 fx32 0.981627183447664
245 SIN102 fx32 0.978147600733806
246 SIN103 fx32 0.974370064785235
247 SIN104 fx32 0.970295726275996
248 SIN105 fx32 0.965925826289068
249 SIN106 fx32 0.961261695938319
250 SIN107 fx32 0.956304755963036
251 SIN108 fx32 0.951056516295154
252 SIN109 fx32 0.945518575599317
253 SIN110 fx32 0.939692620785908
254 SIN111 fx32 0.933580426497202
255 SIN112 fx32 0.927183854566787
256 SIN113 fx32 0.92050485345244
257 SIN114 fx32 0.913545457642601
258 SIN115 fx32 0.90630778703665
259 SIN116 fx32 0.898794046299167
260 SIN117 fx32 0.891006524188368
261 SIN118 fx32 0.882947592858927
262 SIN119 fx32 0.874619707139396
263 SIN120 fx32 0.866025403784439
264 SIN121 fx32 0.857167300702112
265 SIN122 fx32 0.848048096156426
266 SIN123 fx32 0.838670567945424
267 SIN124 fx32 0.829037572555042
268 SIN125 fx32 0.819152044288992
269 SIN126 fx32 0.809016994374947
270 SIN127 fx32 0.798635510047293
271 SIN128 fx32 0.788010753606722
272 SIN129 fx32 0.777145961456971
273 SIN130 fx32 0.766044443118978
274 SIN131 fx32 0.754709580222772
275 SIN132 fx32 0.743144825477394
276 SIN133 fx32 0.731353701619171
277 SIN134 fx32 0.719339800338651
278 SIN135 fx32 0.707106781186548
279 SIN136 fx32 0.694658370458997
280 SIN137 fx32 0.681998360062498
281 SIN138 fx32 0.669130606358858
282 SIN139 fx32 0.656059028990507
283 SIN140 fx32 0.642787609686539
284 SIN141 fx32 0.629320391049837
285 SIN142 fx32 0.615661475325658
286 SIN143 fx32 0.601815023152048
287 SIN144 fx32 0.587785252292473
288 SIN145 fx32 0.573576436351046
289 SIN146 fx32 0.559192903470747
290 SIN147 fx32 0.544639035015027
291 SIN148 fx32 0.529919264233205
292 SIN149 fx32 0.515038074910054
293 SIN150 fx32 0.5
294 SIN151 fx32 0.484809620246337
295 SIN152 fx32 0.469471562785891
296 SIN153 fx32 0.453990499739547
297 SIN154 fx32 0.438371146789077
298 SIN155 fx32 0.422618261740699
299 SIN156 fx32 0.4067366430758
300 SIN157 fx32 0.390731128489274
301 SIN158 fx32 0.374606593415912
302 SIN159 fx32 0.3583679495453
303 SIN160 fx32 0.342020143325669
304 SIN161 fx32 0.325568154457157
305 SIN162 fx32 0.309016994374948
306 SIN163 fx32 0.292371704722737
307 SIN164 fx32 0.275637355816999
308 SIN165 fx32 0.258819045102521
309 SIN166 fx32 0.241921895599668
310 SIN167 fx32 0.224951054343865
311 SIN168 fx32 0.207911690817759
312 SIN169 fx32 0.190808995376545
313 SIN170 fx32 0.17364817766693
314 SIN171 fx32 0.156434465040231
315 SIN172 fx32 0.139173100960065
316 SIN173 fx32 0.121869343405148
317 SIN174 fx32 0.104528463267654
318 SIN175 fx32 0.0871557427476582
319 SIN176 fx32 0.0697564737441255
320 SIN177 fx32 0.0523359562429438
321 SIN178 fx32 0.0348994967025011
322 SIN179 fx32 0.0174524064372834
323 SIN180 fx32 1.22464679914735e-16
324 SIN181 fx32 -0.0174524064372836
325 SIN182 fx32 -0.0348994967025009
326 SIN183 fx32 -0.0523359562429436
327 SIN184 fx32 -0.0697564737441253
328 SIN185 fx32 -0.0871557427476579
329 SIN186 fx32 -0.104528463267653
330 SIN187 fx32 -0.121869343405147
331 SIN188 fx32 -0.139173100960066
332 SIN189 fx32 -0.156434465040231
333 SIN190 fx32 -0.17364817766693
334 SIN191 fx32 -0.190808995376545
335 SIN192 fx32 -0.20791169081776
336 SIN193 fx32 -0.224951054343865
337 SIN194 fx32 -0.241921895599668
338 SIN195 fx32 -0.258819045102521
339 SIN196 fx32 -0.275637355816999
340 SIN197 fx32 -0.292371704722737
341 SIN198 fx32 -0.309016994374947
342 SIN199 fx32 -0.325568154457157
343 SIN200 fx32 -0.342020143325669
344 SIN201 fx32 -0.3583679495453
345 SIN202 fx32 -0.374606593415912
346 SIN203 fx32 -0.390731128489274
347 SIN204 fx32 -0.4067366430758
348 SIN205 fx32 -0.422618261740699
349 SIN206 fx32 -0.438371146789077
350 SIN207 fx32 -0.453990499739547
351 SIN208 fx32 -0.469471562785891
352 SIN209 fx32 -0.484809620246337
353 SIN210 fx32 -0.5
354 SIN211 fx32 -0.515038074910054
355 SIN212 fx32 -0.529919264233205
356 SIN213 fx32 -0.544639035015027
357 SIN214 fx32 -0.559192903470747
358 SIN215 fx32 -0.573576436351046
359 SIN216 fx32 -0.587785252292473
360 SIN217 fx32 -0.601815023152048
361 SIN218 fx32 -0.615661475325658
362 SIN219 fx32 -0.629320391049838
363 SIN220 fx32 -0.642787609686539
364 SIN221 fx32 -0.656059028990507
365 SIN222 fx32 -0.669130606358858
366 SIN223 fx32 -0.681998360062498
367 SIN224 fx32 -0.694658370458997
368 SIN225 fx32 -0.707106781186547
369 SIN226 fx32 -0.719339800338651
370 SIN227 fx32 -0.73135370161917
371 SIN228 fx32 -0.743144825477394
372 SIN229 fx32 -0.754709580222772
373 SIN230 fx32 -0.766044443118978
374 SIN231 fx32 -0.777145961456971
375 SIN232 fx32 -0.788010753606722
376 SIN233 fx32 -0.798635510047293
377 SIN234 fx32 -0.809016994374947
378 SIN235 fx32 -0.819152044288992
379 SIN236 fx32 -0.829037572555042
380 SIN237 fx32 -0.838670567945424
381 SIN238 fx32 -0.848048096156426
382 SIN239 fx32 -0.857167300702112
383 SIN240 fx32 -0.866025403784438
384 SIN241 fx32 -0.874619707139396
385 SIN242 fx32 -0.882947592858927
386 SIN243 fx32 -0.891006524188368
387 SIN244 fx32 -0.898794046299167
388 SIN245 fx32 -0.90630778703665
389 SIN246 fx32 -0.913545457642601
390 SIN247 fx32 -0.92050485345244
391 SIN248 fx32 -0.927183854566787
392 SIN249 fx32 -0.933580426497202
393 SIN250 fx32 -0.939692620785908
394 SIN251 fx32 -0.945518575599317
395 SIN252 fx32 -0.951056516295154
396 SIN253 fx32 -0.956304755963035
397 SIN254 fx32 -0.961261695938319
398 SIN255 fx32 -0.965925826289068
399 SIN256 fx32 -0.970295726275996
400 SIN257 fx32 -0.974370064785235
401 SIN258 fx32 -0.978147600733806
402 SIN259 fx32 -0.981627183447664
403 SIN260 fx32 -0.984807753012208
404 SIN261 fx32 -0.987688340595138
405 SIN262 fx32 -0.99026806874157
406 SIN263 fx32 -0.992546151641322
407 SIN264 fx32 -0.994521895368273
408 SIN265 fx32 -0.996194698091746
409 SIN266 fx32 -0.997564050259824
410 SIN267 fx32 -0.998629534754574
411 SIN268 fx32 -0.999390827019096
412 SIN269 fx32 -0.999847695156391
413 SIN270 fx32 -1
414 SIN271 fx32 -0.999847695156391
415 SIN272 fx32 -0.999390827019096
416 SIN273 fx32 -0.998629534754574
417 SIN274 fx32 -0.997564050259824
418 SIN275 fx32 -0.996194698091746
419 SIN276 fx32 -0.994521895368273
420 SIN277 fx32 -0.992546151641322
421 SIN278 fx32 -0.99026806874157
422 SIN279 fx32 -0.987688340595138
423 SIN280 fx32 -0.984807753012208
424 SIN281 fx32 -0.981627183447664
425 SIN282 fx32 -0.978147600733806
426 SIN283 fx32 -0.974370064785235
427 SIN284 fx32 -0.970295726275997
428 SIN285 fx32 -0.965925826289068
429 SIN286 fx32 -0.961261695938319
430 SIN287 fx32 -0.956304755963035
431 SIN288 fx32 -0.951056516295154
432 SIN289 fx32 -0.945518575599317
433 SIN290 fx32 -0.939692620785908
434 SIN291 fx32 -0.933580426497202
435 SIN292 fx32 -0.927183854566787
436 SIN293 fx32 -0.92050485345244
437 SIN294 fx32 -0.913545457642601
438 SIN295 fx32 -0.90630778703665
439 SIN296 fx32 -0.898794046299167
440 SIN297 fx32 -0.891006524188368
441 SIN298 fx32 -0.882947592858927
442 SIN299 fx32 -0.874619707139396
443 SIN300 fx32 -0.866025403784439
444 SIN301 fx32 -0.857167300702112
445 SIN302 fx32 -0.848048096156426
446 SIN303 fx32 -0.838670567945424
447 SIN304 fx32 -0.829037572555042
448 SIN305 fx32 -0.819152044288992
449 SIN306 fx32 -0.809016994374948
450 SIN307 fx32 -0.798635510047293
451 SIN308 fx32 -0.788010753606722
452 SIN309 fx32 -0.777145961456971
453 SIN310 fx32 -0.766044443118978
454 SIN311 fx32 -0.754709580222772
455 SIN312 fx32 -0.743144825477395
456 SIN313 fx32 -0.73135370161917
457 SIN314 fx32 -0.719339800338651
458 SIN315 fx32 -0.707106781186548
459 SIN316 fx32 -0.694658370458998
460 SIN317 fx32 -0.681998360062498
461 SIN318 fx32 -0.669130606358858
462 SIN319 fx32 -0.656059028990507
463 SIN320 fx32 -0.64278760968654
464 SIN321 fx32 -0.629320391049838
465 SIN322 fx32 -0.615661475325658
466 SIN323 fx32 -0.601815023152048
467 SIN324 fx32 -0.587785252292473
468 SIN325 fx32 -0.573576436351046
469 SIN326 fx32 -0.559192903470747
470 SIN327 fx32 -0.544639035015027
471 SIN328 fx32 -0.529919264233205
472 SIN329 fx32 -0.515038074910054
473 SIN330 fx32 -0.5
474 SIN331 fx32 -0.484809620246337
475 SIN332 fx32 -0.469471562785891
476 SIN333 fx32 -0.453990499739547
477 SIN334 fx32 -0.438371146789078
478 SIN335 fx32 -0.422618261740699
479 SIN336 fx32 -0.4067366430758
480 SIN337 fx32 -0.390731128489274
481 SIN338 fx32 -0.374606593415912
482 SIN339 fx32 -0.358367949545301
483 SIN340 fx32 -0.342020143325669
484 SIN341 fx32 -0.325568154457157
485 SIN342 fx32 -0.309016994374948
486 SIN343 fx32 -0.292371704722737
487 SIN344 fx32 -0.275637355816999
488 SIN345 fx32 -0.258819045102521
489 SIN346 fx32 -0.241921895599668
490 SIN347 fx32 -0.224951054343865
491 SIN348 fx32 -0.20791169081776
492 SIN349 fx32 -0.190808995376545
493 SIN350 fx32 -0.17364817766693
494 SIN351 fx32 -0.156434465040231
495 SIN352 fx32 -0.139173100960066
496 SIN353 fx32 -0.121869343405147
497 SIN354 fx32 -0.104528463267653
498 SIN355 fx32 -0.0871557427476583
499 SIN356 fx32 -0.0697564737441256
500 SIN357 fx32 -0.0523359562429444
501 SIN358 fx32 -0.0348994967025008
502 SIN359 fx32 -0.0174524064372836
503 COS0 fx32 1
504 COS1 fx32 0.999847695156391
505 COS2 fx32 0.999390827019096
506 COS3 fx32 0.998629534754574
507 COS4 fx32 0.997564050259824
508 COS5 fx32 0.996194698091746
509 COS6 fx32 0.994521895368273
510 COS7 fx32 0.992546151641322
511 COS8 fx32 0.99026806874157
512 COS9 fx32 0.987688340595138
513 COS10 fx32 0.984807753012208
514 COS11 fx32 0.981627183447664
515 COS12 fx32 0.978147600733806
516 COS13 fx32 0.974370064785235
517 COS14 fx32 0.970295726275996
518 COS15 fx32 0.965925826289068
519 COS16 fx32 0.961261695938319
520 COS17 fx32 0.956304755963035
521 COS18 fx32 0.951056516295154
522 COS19 fx32 0.945518575599317
523 COS20 fx32 0.939692620785908
524 COS21 fx32 0.933580426497202
525 COS22 fx32 0.927183854566787
526 COS23 fx32 0.92050485345244
527 COS24 fx32 0.913545457642601
528 COS25 fx32 0.90630778703665
529 COS26 fx32 0.898794046299167
530 COS27 fx32 0.891006524188368
531 COS28 fx32 0.882947592858927
532 COS29 fx32 0.874619707139396
533 COS30 fx32 0.866025403784439
534 COS31 fx32 0.857167300702112
535 COS32 fx32 0.848048096156426
536 COS33 fx32 0.838670567945424
537 COS34 fx32 0.829037572555042
538 COS35 fx32 0.819152044288992
539 COS36 fx32 0.809016994374947
540 COS37 fx32 0.798635510047293
541 COS38 fx32 0.788010753606722
542 COS39 fx32 0.777145961456971
543 COS40 fx32 0.766044443118978
544 COS41 fx32 0.754709580222772
545 COS42 fx32 0.743144825477394
546 COS43 fx32 0.73135370161917
547 COS44 fx32 0.719339800338651
548 COS45 fx32 0.707106781186548
549 COS46 fx32 0.694658370458997
550 COS47 fx32 0.681998360062498
551 COS48 fx32 0.669130606358858
552 COS49 fx32 0.656059028990507
553 COS50 fx32 0.642787609686539
554 COS51 fx32 0.629320391049838
555 COS52 fx32 0.615661475325658
556 COS53 fx32 0.601815023152048
557 COS54 fx32 0.587785252292473
558 COS55 fx32 0.573576436351046
559 COS56 fx32 0.559192903470747
560 COS57 fx32 0.544639035015027
561 COS58 fx32 0.529919264233205
562 COS59 fx32 0.515038074910054
563 COS60 fx32 0.5
564 COS61 fx32 0.484809620246337
565 COS62 fx32 0.469471562785891
566 COS63 fx32 0.453990499739547
567 COS64 fx32 0.438371146789077
568 COS65 fx32 0.422618261740699
569 COS66 fx32 0.4067366430758
570 COS67 fx32 0.390731128489274
571 COS68 fx32 0.374606593415912
572 COS69 fx32 0.3583679495453
573 COS70 fx32 0.342020143325669
574 COS71 fx32 0.325568154457157
575 COS72 fx32 0.309016994374947
576 COS73 fx32 0.292371704722737
577 COS74 fx32 0.275637355816999
578 COS75 fx32 0.258819045102521
579 COS76 fx32 0.241921895599668
580 COS77 fx32 0.224951054343865
581 COS78 fx32 0.207911690817759
582 COS79 fx32 0.190808995376545
583 COS80 fx32 0.17364817766693
584 COS81 fx32 0.156434465040231
585 COS82 fx32 0.139173100960065
586 COS83 fx32 0.121869343405147
587 COS84 fx32 0.104528463267653
588 COS85 fx32 0.0871557427476581
589 COS86 fx32 0.0697564737441252
590 COS87 fx32 0.052335956242944
591 COS88 fx32 0.0348994967025011
592 COS89 fx32 0.0174524064372836
593 COS90 fx32 6.12323399573677e-17
594 COS91 fx32 -0.0174524064372835
595 COS92 fx32 -0.034899496702501
596 COS93 fx32 -0.0523359562429438
597 COS94 fx32 -0.0697564737441253
598 COS95 fx32 -0.0871557427476582
599 COS96 fx32 -0.104528463267654
600 COS97 fx32 -0.121869343405147
601 COS98 fx32 -0.139173100960065
602 COS99 fx32 -0.156434465040231
603 COS100 fx32 -0.17364817766693
604 COS101 fx32 -0.190808995376545
605 COS102 fx32 -0.207911690817759
606 COS103 fx32 -0.224951054343865
607 COS104 fx32 -0.241921895599668
608 COS105 fx32 -0.258819045102521
609 COS106 fx32 -0.275637355816999
610 COS107 fx32 -0.292371704722737
611 COS108 fx32 -0.309016994374947
612 COS109 fx32 -0.325568154457157
613 COS110 fx32 -0.342020143325669
614 COS111 fx32 -0.3583679495453
615 COS112 fx32 -0.374606593415912
616 COS113 fx32 -0.390731128489274
617 COS114 fx32 -0.4067366430758
618 COS115 fx32 -0.422618261740699
619 COS116 fx32 -0.438371146789078
620 COS117 fx32 -0.453990499739547
621 COS118 fx32 -0.469471562785891
622 COS119 fx32 -0.484809620246337
623 COS120 fx32 -0.5
624 COS121 fx32 -0.515038074910054
625 COS122 fx32 -0.529919264233205
626 COS123 fx32 -0.544639035015027
627 COS124 fx32 -0.559192903470747
628 COS125 fx32 -0.573576436351046
629 COS126 fx32 -0.587785252292473
630 COS127 fx32 -0.601815023152048
631 COS128 fx32 -0.615661475325658
632 COS129 fx32 -0.629320391049837
633 COS130 fx32 -0.642787609686539
634 COS131 fx32 -0.656059028990507
635 COS132 fx32 -0.669130606358858
636 COS133 fx32 -0.681998360062498
637 COS134 fx32 -0.694658370458997
638 COS135 fx32 -0.707106781186547
639 COS136 fx32 -0.719339800338651
640 COS137 fx32 -0.73135370161917
641 COS138 fx32 -0.743144825477394
642 COS139 fx32 -0.754709580222772
643 COS140 fx32 -0.766044443118978
644 COS141 fx32 -0.777145961456971
645 COS142 fx32 -0.788010753606722
646 COS143 fx32 -0.798635510047293
647 COS144 fx32 -0.809016994374947
648 COS145 fx32 -0.819152044288992
649 COS146 fx32 -0.829037572555042
650 COS147 fx32 -0.838670567945424
651 COS148 fx32 -0.848048096156426
652 COS149 fx32 -0.857167300702112
653 COS150 fx32 -0.866025403784439
654 COS151 fx32 -0.874619707139396
655 COS152 fx32 -0.882947592858927
656 COS153 fx32 -0.891006524188368
657 COS154 fx32 -0.898794046299167
658 COS155 fx32 -0.90630778703665
659 COS156 fx32 -0.913545457642601
660 COS157 fx32 -0.92050485345244
661 COS158 fx32 -0.927183854566787
662 COS159 fx32 -0.933580426497202
663 COS160 fx32 -0.939692620785908
664 COS161 fx32 -0.945518575599317
665 COS162 fx32 -0.951056516295154
666 COS163 fx32 -0.956304755963036
667 COS164 fx32 -0.961261695938319
668 COS165 fx32 -0.965925826289068
669 COS166 fx32 -0.970295726275996
670 COS167 fx32 -0.974370064785235
671 COS168 fx32 -0.978147600733806
672 COS169 fx32 -0.981627183447664
673 COS170 fx32 -0.984807753012208
674 COS171 fx32 -0.987688340595138
675 COS172 fx32 -0.99026806874157
676 COS173 fx32 -0.992546151641322
677 COS174 fx32 -0.994521895368273
678 COS175 fx32 -0.996194698091746
679 COS176 fx32 -0.997564050259824
680 COS177 fx32 -0.998629534754574
681 COS178 fx32 -0.999390827019096
682 COS179 fx32 -0.999847695156391
683 COS180 fx32 -1
684 COS181 fx32 -0.999847695156391
685 COS182 fx32 -0.999390827019096
686 COS183 fx32 -0.998629534754574
687 COS184 fx32 -0.997564050259824
688 COS185 fx32 -0.996194698091746
689 COS186 fx32 -0.994521895368273
690 COS187 fx32 -0.992546151641322
691 COS188 fx32 -0.99026806874157
692 COS189 fx32 -0.987688340595138
693 COS190 fx32 -0.984807753012208
694 COS191 fx32 -0.981627183447664
695 COS192 fx32 -0.978147600733806
696 COS193 fx32 -0.974370064785235
697 COS194 fx32 -0.970295726275996
698 COS195 fx32 -0.965925826289068
699 COS196 fx32 -0.961261695938319
700 COS197 fx32 -0.956304755963035
701 COS198 fx32 -0.951056516295154
702 COS199 fx32 -0.945518575599317
703 COS200 fx32 -0.939692620785908
704 COS201 fx32 -0.933580426497202
705 COS202 fx32 -0.927183854566787
706 COS203 fx32 -0.92050485345244
707 COS204 fx32 -0.913545457642601
708 COS205 fx32 -0.90630778703665
709 COS206 fx32 -0.898794046299167
710 COS207 fx32 -0.891006524188368
711 COS208 fx32 -0.882947592858927
712 COS209 fx32 -0.874619707139396
713 COS210 fx32 -0.866025403784439
714 COS211 fx32 -0.857167300702112
715 COS212 fx32 -0.848048096156426
716 COS213 fx32 -0.838670567945424
717 COS214 fx32 -0.829037572555042
718 COS215 fx32 -0.819152044288992
719 COS216 fx32 -0.809016994374948
720 COS217 fx32 -0.798635510047293
721 COS218 fx32 -0.788010753606722
722 COS219 fx32 -0.777145961456971
723 COS220 fx32 -0.766044443118978
724 COS221 fx32 -0.754709580222772
725 COS222 fx32 -0.743144825477394
726 COS223 fx32 -0.731353701619171
727 COS224 fx32 -0.719339800338651
728 COS225 fx32 -0.707106781186548
729 COS226 fx32 -0.694658370458997
730 COS227 fx32 -0.681998360062499
731 COS228 fx32 -0.669130606358858
732 COS229 fx32 -0.656059028990507
733 COS230 fx32 -0.642787609686539
734 COS231 fx32 -0.629320391049838
735 COS232 fx32 -0.615661475325658
736 COS233 fx32 -0.601815023152048
737 COS234 fx32 -0.587785252292473
738 COS235 fx32 -0.573576436351046
739 COS236 fx32 -0.559192903470747
740 COS237 fx32 -0.544639035015027
741 COS238 fx32 -0.529919264233205
742 COS239 fx32 -0.515038074910054
743 COS240 fx32 -0.5
744 COS241 fx32 -0.484809620246337
745 COS242 fx32 -0.469471562785891
746 COS243 fx32 -0.453990499739547
747 COS244 fx32 -0.438371146789078
748 COS245 fx32 -0.422618261740699
749 COS246 fx32 -0.4067366430758
750 COS247 fx32 -0.390731128489274
751 COS248 fx32 -0.374606593415912
752 COS249 fx32 -0.358367949545301
753 COS250 fx32 -0.342020143325669
754 COS251 fx32 -0.325568154457157
755 COS252 fx32 -0.309016994374948
756 COS253 fx32 -0.292371704722737
757 COS254 fx32 -0.275637355816999
758 COS255 fx32 -0.258819045102521
759 COS256 fx32 -0.241921895599668
760 COS257 fx32 -0.224951054343865
761 COS258 fx32 -0.20791169081776
762 COS259 fx32 -0.190808995376545
763 COS260 fx32 -0.17364817766693
764 COS261 fx32 -0.156434465040231
765 COS262 fx32 -0.139173100960066
766 COS263 fx32 -0.121869343405147
767 COS264 fx32 -0.104528463267653
768 COS265 fx32 -0.0871557427476582
769 COS266 fx32 -0.0697564737441256
770 COS267 fx32 -0.0523359562429443
771 COS268 fx32 -0.0348994967025008
772 COS269 fx32 -0.0174524064372835
773 COS270 fx32 -1.83697019872103e-16
774 COS271 fx32 0.0174524064372831
775 COS272 fx32 0.0348994967025013
776 COS273 fx32 0.0523359562429439
777 COS274 fx32 0.0697564737441252
778 COS275 fx32 0.0871557427476579
779 COS276 fx32 0.104528463267653
780 COS277 fx32 0.121869343405148
781 COS278 fx32 0.139173100960065
782 COS279 fx32 0.156434465040231
783 COS280 fx32 0.17364817766693
784 COS281 fx32 0.190808995376545
785 COS282 fx32 0.207911690817759
786 COS283 fx32 0.224951054343865
787 COS284 fx32 0.241921895599667
788 COS285 fx32 0.25881904510252
789 COS286 fx32 0.275637355816999
790 COS287 fx32 0.292371704722737
791 COS288 fx32 0.309016994374947
792 COS289 fx32 0.325568154457156
793 COS290 fx32 0.342020143325669
794 COS291 fx32 0.3583679495453
795 COS292 fx32 0.374606593415912
796 COS293 fx32 0.390731128489273
797 COS294 fx32 0.4067366430758
798 COS295 fx32 0.4226182617407
799 COS296 fx32 0.438371146789077
800 COS297 fx32 0.453990499739547
801 COS298 fx32 0.46947156278589
802 COS299 fx32 0.484809620246337
803 COS300 fx32 0.5
804 COS301 fx32 0.515038074910054
805 COS302 fx32 0.529919264233205
806 COS303 fx32 0.544639035015027
807 COS304 fx32 0.559192903470747
808 COS305 fx32 0.573576436351046
809 COS306 fx32 0.587785252292473
810 COS307 fx32 0.601815023152048
811 COS308 fx32 0.615661475325659
812 COS309 fx32 0.629320391049838
813 COS310 fx32 0.642787609686539
814 COS311 fx32 0.656059028990507
815 COS312 fx32 0.669130606358858
816 COS313 fx32 0.681998360062499
817 COS314 fx32 0.694658370458997
818 COS315 fx32 0.707106781186547
819 COS316 fx32 0.719339800338651
820 COS317 fx32 0.731353701619171
821 COS318 fx32 0.743144825477394
822 COS319 fx32 0.754709580222772
823 COS320 fx32 0.766044443118978
824 COS321 fx32 0.777145961456971
825 COS322 fx32 0.788010753606722
826 COS323 fx32 0.798635510047293
827 COS324 fx32 0.809016994374947
828 COS325 fx32 0.819152044288992
829 COS326 fx32 0.829037572555042
830 COS327 fx32 0.838670567945424
831 COS328 fx32 0.848048096156426
832 COS329 fx32 0.857167300702112
833 COS330 fx32 0.866025403784438
834 COS331 fx32 0.874619707139396
835 COS332 fx32 0.882947592858927
836 COS333 fx32 0.891006524188368
837 COS334 fx32 0.898794046299167
838 COS335 fx32 0.90630778703665
839 COS336 fx32 0.913545457642601
840 COS337 fx32 0.92050485345244
841 COS338 fx32 0.927183854566787
842 COS339 fx32 0.933580426497202
843 COS340 fx32 0.939692620785908
844 COS341 fx32 0.945518575599317
845 COS342 fx32 0.951056516295154
846 COS343 fx32 0.956304755963035
847 COS344 fx32 0.961261695938319
848 COS345 fx32 0.965925826289068
849 COS346 fx32 0.970295726275996
850 COS347 fx32 0.974370064785235
851 COS348 fx32 0.978147600733806
852 COS349 fx32 0.981627183447664
853 COS350 fx32 0.984807753012208
854 COS351 fx32 0.987688340595138
855 COS352 fx32 0.99026806874157
856 COS353 fx32 0.992546151641322
857 COS354 fx32 0.994521895368273
858 COS355 fx32 0.996194698091746
859 COS356 fx32 0.997564050259824
860 COS357 fx32 0.998629534754574
861 COS358 fx32 0.999390827019096
862 COS359 fx32 0.999847695156391

View File

@ -1,872 +1,130 @@
#include <math.h>
#include <stdio.h>
#include <unistd.h>
#include "fx.h"
#include "global.h"
const struct FxSpec fx32 = {"fx32", 19, 12};
const struct FxSpec fx64 = {"fx64", 51, 12};
const struct FxSpec fx64c = {"fx64c", 31, 32};
const struct FxSpec fx16 = {"fx16", 3, 12};
const struct FxConst gFxConstTable[] = {
{ "E", &fx64c ,2.7182818284590452354},
{ "LOG2E", &fx64c ,1.4426950408889634074},
{ "LOG10E", &fx64c ,0.43429448190325182765},
{ "LN2", &fx64c ,0.69314718055994530942},
{ "LN10", &fx64c ,2.30258509299404568402},
{ "PI", &fx64c ,3.14159265358979323846},
{ "TWOPI", &fx64c ,6.28318530717958647692},
{ "PI_2", &fx64c ,1.57079632679489661923},
{ "PI_4", &fx64c ,0.78539816339744830962},
{ "3PI_4", &fx64c ,2.3561944901923448370},
{ "SQRTPI", &fx64c ,1.77245385090551602793},
{ "1_PI", &fx64c ,0.31830988618379067154},
{ "2_PI", &fx64c ,0.63661977236758134308},
{ "2_SQRTPI", &fx64c ,1.12837916709551257390},
{ "SQRT2", &fx64c ,1.41421356237309504880},
{ "SQRT1_2", &fx64c ,0.70710678118654752440},
{ "SQRT3", &fx64c ,1.73205080756887719000},
{ "SQRT1_3", &fx64c ,0.57735026918962576450914878050196},
{ "IVLN10", &fx64c ,0.43429448190325182765},
{ "LOG2_E", &fx64c ,0.693147180559945309417},
{ "INVLN2", &fx64c ,1.4426950408889633870},
{ "1_360", &fx64c ,0.0027777777777777777778},
{ "TWOPI_360", &fx64c ,0.0174532925199432957692},
{ "360_TWOPI", &fx64c ,57.295779513082320876846},
{ "65536_TWOPI", &fx64c ,10430.378350470452724958342593503},
{ "65536_360", &fx64c ,182.04444444444444444444444444444},
{ "TWOPI_65536", &fx64c ,0.0000958737992428525768572998046875},
{ "360_65536", &fx64c ,0.0054931640625},
{ "1_100", &fx64c ,0.01000000000000000000},
{ "2_100", &fx64c ,0.02000000000000000000},
{ "3_100", &fx64c ,0.03000000000000000000},
{ "4_100", &fx64c ,0.04000000000000000000},
{ "5_100", &fx64c ,0.05000000000000000000},
{ "6_100", &fx64c ,0.06000000000000000000},
{ "7_100", &fx64c ,0.07000000000000000000},
{ "8_100", &fx64c ,0.08000000000000000000},
{ "9_100", &fx64c ,0.09000000000000000000},
{ "10_100", &fx64c ,0.10000000000000000000},
{ "11_100", &fx64c ,0.11000000000000000000},
{ "12_100", &fx64c ,0.12000000000000000000},
{ "13_100", &fx64c ,0.13000000000000000000},
{ "14_100", &fx64c ,0.14000000000000000000},
{ "15_100", &fx64c ,0.15000000000000000000},
{ "16_100", &fx64c ,0.16000000000000000000},
{ "17_100", &fx64c ,0.17000000000000000000},
{ "18_100", &fx64c ,0.18000000000000000000},
{ "19_100", &fx64c ,0.19000000000000000000},
{ "20_100", &fx64c ,0.20000000000000000000},
{ "21_100", &fx64c ,0.21000000000000000000},
{ "22_100", &fx64c ,0.22000000000000000000},
{ "23_100", &fx64c ,0.23000000000000000000},
{ "24_100", &fx64c ,0.24000000000000000000},
{ "25_100", &fx64c ,0.25000000000000000000},
{ "26_100", &fx64c ,0.26000000000000000000},
{ "27_100", &fx64c ,0.27000000000000000000},
{ "28_100", &fx64c ,0.28000000000000000000},
{ "29_100", &fx64c ,0.29000000000000000000},
{ "30_100", &fx64c ,0.30000000000000000000},
{ "31_100", &fx64c ,0.31000000000000000000},
{ "32_100", &fx64c ,0.32000000000000000000},
{ "33_100", &fx64c ,0.33000000000000000000},
{ "34_100", &fx64c ,0.34000000000000000000},
{ "35_100", &fx64c ,0.35000000000000000000},
{ "36_100", &fx64c ,0.36000000000000000000},
{ "37_100", &fx64c ,0.37000000000000000000},
{ "38_100", &fx64c ,0.38000000000000000000},
{ "39_100", &fx64c ,0.39000000000000000000},
{ "40_100", &fx64c ,0.40000000000000000000},
{ "41_100", &fx64c ,0.41000000000000000000},
{ "42_100", &fx64c ,0.42000000000000000000},
{ "43_100", &fx64c ,0.43000000000000000000},
{ "44_100", &fx64c ,0.44000000000000000000},
{ "45_100", &fx64c ,0.45000000000000000000},
{ "46_100", &fx64c ,0.46000000000000000000},
{ "47_100", &fx64c ,0.47000000000000000000},
{ "48_100", &fx64c ,0.48000000000000000000},
{ "49_100", &fx64c ,0.49000000000000000000},
{ "50_100", &fx64c ,0.50000000000000000000},
{ "51_100", &fx64c ,0.51000000000000000000},
{ "52_100", &fx64c ,0.52000000000000000000},
{ "53_100", &fx64c ,0.53000000000000000000},
{ "54_100", &fx64c ,0.54000000000000000000},
{ "55_100", &fx64c ,0.55000000000000000000},
{ "56_100", &fx64c ,0.56000000000000000000},
{ "57_100", &fx64c ,0.57000000000000000000},
{ "58_100", &fx64c ,0.58000000000000000000},
{ "59_100", &fx64c ,0.59000000000000000000},
{ "60_100", &fx64c ,0.60000000000000000000},
{ "61_100", &fx64c ,0.61000000000000000000},
{ "62_100", &fx64c ,0.62000000000000000000},
{ "63_100", &fx64c ,0.63000000000000000000},
{ "64_100", &fx64c ,0.64000000000000000000},
{ "65_100", &fx64c ,0.65000000000000000000},
{ "66_100", &fx64c ,0.66000000000000000000},
{ "67_100", &fx64c ,0.67000000000000000000},
{ "68_100", &fx64c ,0.68000000000000000000},
{ "69_100", &fx64c ,0.69000000000000000000},
{ "70_100", &fx64c ,0.70000000000000000000},
{ "71_100", &fx64c ,0.71000000000000000000},
{ "72_100", &fx64c ,0.72000000000000000000},
{ "73_100", &fx64c ,0.73000000000000000000},
{ "74_100", &fx64c ,0.74000000000000000000},
{ "75_100", &fx64c ,0.75000000000000000000},
{ "76_100", &fx64c ,0.76000000000000000000},
{ "77_100", &fx64c ,0.77000000000000000000},
{ "78_100", &fx64c ,0.78000000000000000000},
{ "79_100", &fx64c ,0.79000000000000000000},
{ "80_100", &fx64c ,0.80000000000000000000},
{ "81_100", &fx64c ,0.81000000000000000000},
{ "82_100", &fx64c ,0.82000000000000000000},
{ "83_100", &fx64c ,0.83000000000000000000},
{ "84_100", &fx64c ,0.84000000000000000000},
{ "85_100", &fx64c ,0.85000000000000000000},
{ "86_100", &fx64c ,0.86000000000000000000},
{ "87_100", &fx64c ,0.87000000000000000000},
{ "88_100", &fx64c ,0.88000000000000000000},
{ "89_100", &fx64c ,0.89000000000000000000},
{ "90_100", &fx64c ,0.90000000000000000000},
{ "91_100", &fx64c ,0.91000000000000000000},
{ "92_100", &fx64c ,0.92000000000000000000},
{ "93_100", &fx64c ,0.93000000000000000000},
{ "94_100", &fx64c ,0.94000000000000000000},
{ "95_100", &fx64c ,0.95000000000000000000},
{ "96_100", &fx64c ,0.96000000000000000000},
{ "97_100", &fx64c ,0.97000000000000000000},
{ "98_100", &fx64c ,0.98000000000000000000},
{ "99_100", &fx64c ,0.99000000000000000000},
{ "ONE", &fx64c ,1.00000000000000000000},
{ "HALF", &fx64c ,0.50000000000000000000},
{ "ONE", &fx32 ,1.00000000000000000000},
{ "HALF", &fx32 ,0.50000000000000000000},
{ "SQRT2", &fx32 ,1.41421356237309504880},
{ "SQRT1_2", &fx32 ,0.70710678118654752440},
{ "SQRT3", &fx32 ,1.73205080756887719000},
{ "SQRT1_3", &fx32 ,0.57735026918962576450914878050196},
{ "ONE", &fx16 ,1.00000000000000000000},
{ "HALF", &fx16 ,0.50000000000000000000},
{ "SQRT2", &fx16 ,1.41421356237309504880},
{ "SQRT1_2", &fx16 ,0.70710678118654752440},
{ "SQRT3", &fx16 ,1.73205080756887719000},
{ "SQRT1_3", &fx16 ,0.57735026918962576450914878050196},
{ "SIN0", &fx32 ,0},
{ "SIN1", &fx32 ,0.0174524064372835},
{ "SIN2", &fx32 ,0.034899496702501},
{ "SIN3", &fx32 ,0.0523359562429438},
{ "SIN4", &fx32 ,0.0697564737441253},
{ "SIN5", &fx32 ,0.0871557427476582},
{ "SIN6", &fx32 ,0.104528463267653},
{ "SIN7", &fx32 ,0.121869343405147},
{ "SIN8", &fx32 ,0.139173100960065},
{ "SIN9", &fx32 ,0.156434465040231},
{ "SIN10", &fx32 ,0.17364817766693},
{ "SIN11", &fx32 ,0.190808995376545},
{ "SIN12", &fx32 ,0.207911690817759},
{ "SIN13", &fx32 ,0.224951054343865},
{ "SIN14", &fx32 ,0.241921895599668},
{ "SIN15", &fx32 ,0.258819045102521},
{ "SIN16", &fx32 ,0.275637355816999},
{ "SIN17", &fx32 ,0.292371704722737},
{ "SIN18", &fx32 ,0.309016994374947},
{ "SIN19", &fx32 ,0.325568154457157},
{ "SIN20", &fx32 ,0.342020143325669},
{ "SIN21", &fx32 ,0.3583679495453},
{ "SIN22", &fx32 ,0.374606593415912},
{ "SIN23", &fx32 ,0.390731128489274},
{ "SIN24", &fx32 ,0.4067366430758},
{ "SIN25", &fx32 ,0.422618261740699},
{ "SIN26", &fx32 ,0.438371146789077},
{ "SIN27", &fx32 ,0.453990499739547},
{ "SIN28", &fx32 ,0.469471562785891},
{ "SIN29", &fx32 ,0.484809620246337},
{ "SIN30", &fx32 ,0.5},
{ "SIN31", &fx32 ,0.515038074910054},
{ "SIN32", &fx32 ,0.529919264233205},
{ "SIN33", &fx32 ,0.544639035015027},
{ "SIN34", &fx32 ,0.559192903470747},
{ "SIN35", &fx32 ,0.573576436351046},
{ "SIN36", &fx32 ,0.587785252292473},
{ "SIN37", &fx32 ,0.601815023152048},
{ "SIN38", &fx32 ,0.615661475325658},
{ "SIN39", &fx32 ,0.629320391049837},
{ "SIN40", &fx32 ,0.642787609686539},
{ "SIN41", &fx32 ,0.656059028990507},
{ "SIN42", &fx32 ,0.669130606358858},
{ "SIN43", &fx32 ,0.681998360062498},
{ "SIN44", &fx32 ,0.694658370458997},
{ "SIN45", &fx32 ,0.707106781186547},
{ "SIN46", &fx32 ,0.719339800338651},
{ "SIN47", &fx32 ,0.73135370161917},
{ "SIN48", &fx32 ,0.743144825477394},
{ "SIN49", &fx32 ,0.754709580222772},
{ "SIN50", &fx32 ,0.766044443118978},
{ "SIN51", &fx32 ,0.777145961456971},
{ "SIN52", &fx32 ,0.788010753606722},
{ "SIN53", &fx32 ,0.798635510047293},
{ "SIN54", &fx32 ,0.809016994374947},
{ "SIN55", &fx32 ,0.819152044288992},
{ "SIN56", &fx32 ,0.829037572555042},
{ "SIN57", &fx32 ,0.838670567945424},
{ "SIN58", &fx32 ,0.848048096156426},
{ "SIN59", &fx32 ,0.857167300702112},
{ "SIN60", &fx32 ,0.866025403784439},
{ "SIN61", &fx32 ,0.874619707139396},
{ "SIN62", &fx32 ,0.882947592858927},
{ "SIN63", &fx32 ,0.891006524188368},
{ "SIN64", &fx32 ,0.898794046299167},
{ "SIN65", &fx32 ,0.90630778703665},
{ "SIN66", &fx32 ,0.913545457642601},
{ "SIN67", &fx32 ,0.92050485345244},
{ "SIN68", &fx32 ,0.927183854566787},
{ "SIN69", &fx32 ,0.933580426497202},
{ "SIN70", &fx32 ,0.939692620785908},
{ "SIN71", &fx32 ,0.945518575599317},
{ "SIN72", &fx32 ,0.951056516295154},
{ "SIN73", &fx32 ,0.956304755963035},
{ "SIN74", &fx32 ,0.961261695938319},
{ "SIN75", &fx32 ,0.965925826289068},
{ "SIN76", &fx32 ,0.970295726275996},
{ "SIN77", &fx32 ,0.974370064785235},
{ "SIN78", &fx32 ,0.978147600733806},
{ "SIN79", &fx32 ,0.981627183447664},
{ "SIN80", &fx32 ,0.984807753012208},
{ "SIN81", &fx32 ,0.987688340595138},
{ "SIN82", &fx32 ,0.99026806874157},
{ "SIN83", &fx32 ,0.992546151641322},
{ "SIN84", &fx32 ,0.994521895368273},
{ "SIN85", &fx32 ,0.996194698091746},
{ "SIN86", &fx32 ,0.997564050259824},
{ "SIN87", &fx32 ,0.998629534754574},
{ "SIN88", &fx32 ,0.999390827019096},
{ "SIN89", &fx32 ,0.999847695156391},
{ "SIN90", &fx32 ,1},
{ "SIN91", &fx32 ,0.999847695156391},
{ "SIN92", &fx32 ,0.999390827019096},
{ "SIN93", &fx32 ,0.998629534754574},
{ "SIN94", &fx32 ,0.997564050259824},
{ "SIN95", &fx32 ,0.996194698091746},
{ "SIN96", &fx32 ,0.994521895368273},
{ "SIN97", &fx32 ,0.992546151641322},
{ "SIN98", &fx32 ,0.99026806874157},
{ "SIN99", &fx32 ,0.987688340595138},
{ "SIN100", &fx32 ,0.984807753012208},
{ "SIN101", &fx32 ,0.981627183447664},
{ "SIN102", &fx32 ,0.978147600733806},
{ "SIN103", &fx32 ,0.974370064785235},
{ "SIN104", &fx32 ,0.970295726275996},
{ "SIN105", &fx32 ,0.965925826289068},
{ "SIN106", &fx32 ,0.961261695938319},
{ "SIN107", &fx32 ,0.956304755963036},
{ "SIN108", &fx32 ,0.951056516295154},
{ "SIN109", &fx32 ,0.945518575599317},
{ "SIN110", &fx32 ,0.939692620785908},
{ "SIN111", &fx32 ,0.933580426497202},
{ "SIN112", &fx32 ,0.927183854566787},
{ "SIN113", &fx32 ,0.92050485345244},
{ "SIN114", &fx32 ,0.913545457642601},
{ "SIN115", &fx32 ,0.90630778703665},
{ "SIN116", &fx32 ,0.898794046299167},
{ "SIN117", &fx32 ,0.891006524188368},
{ "SIN118", &fx32 ,0.882947592858927},
{ "SIN119", &fx32 ,0.874619707139396},
{ "SIN120", &fx32 ,0.866025403784439},
{ "SIN121", &fx32 ,0.857167300702112},
{ "SIN122", &fx32 ,0.848048096156426},
{ "SIN123", &fx32 ,0.838670567945424},
{ "SIN124", &fx32 ,0.829037572555042},
{ "SIN125", &fx32 ,0.819152044288992},
{ "SIN126", &fx32 ,0.809016994374947},
{ "SIN127", &fx32 ,0.798635510047293},
{ "SIN128", &fx32 ,0.788010753606722},
{ "SIN129", &fx32 ,0.777145961456971},
{ "SIN130", &fx32 ,0.766044443118978},
{ "SIN131", &fx32 ,0.754709580222772},
{ "SIN132", &fx32 ,0.743144825477394},
{ "SIN133", &fx32 ,0.731353701619171},
{ "SIN134", &fx32 ,0.719339800338651},
{ "SIN135", &fx32 ,0.707106781186548},
{ "SIN136", &fx32 ,0.694658370458997},
{ "SIN137", &fx32 ,0.681998360062498},
{ "SIN138", &fx32 ,0.669130606358858},
{ "SIN139", &fx32 ,0.656059028990507},
{ "SIN140", &fx32 ,0.642787609686539},
{ "SIN141", &fx32 ,0.629320391049837},
{ "SIN142", &fx32 ,0.615661475325658},
{ "SIN143", &fx32 ,0.601815023152048},
{ "SIN144", &fx32 ,0.587785252292473},
{ "SIN145", &fx32 ,0.573576436351046},
{ "SIN146", &fx32 ,0.559192903470747},
{ "SIN147", &fx32 ,0.544639035015027},
{ "SIN148", &fx32 ,0.529919264233205},
{ "SIN149", &fx32 ,0.515038074910054},
{ "SIN150", &fx32 ,0.5},
{ "SIN151", &fx32 ,0.484809620246337},
{ "SIN152", &fx32 ,0.469471562785891},
{ "SIN153", &fx32 ,0.453990499739547},
{ "SIN154", &fx32 ,0.438371146789077},
{ "SIN155", &fx32 ,0.422618261740699},
{ "SIN156", &fx32 ,0.4067366430758},
{ "SIN157", &fx32 ,0.390731128489274},
{ "SIN158", &fx32 ,0.374606593415912},
{ "SIN159", &fx32 ,0.3583679495453},
{ "SIN160", &fx32 ,0.342020143325669},
{ "SIN161", &fx32 ,0.325568154457157},
{ "SIN162", &fx32 ,0.309016994374948},
{ "SIN163", &fx32 ,0.292371704722737},
{ "SIN164", &fx32 ,0.275637355816999},
{ "SIN165", &fx32 ,0.258819045102521},
{ "SIN166", &fx32 ,0.241921895599668},
{ "SIN167", &fx32 ,0.224951054343865},
{ "SIN168", &fx32 ,0.207911690817759},
{ "SIN169", &fx32 ,0.190808995376545},
{ "SIN170", &fx32 ,0.17364817766693},
{ "SIN171", &fx32 ,0.156434465040231},
{ "SIN172", &fx32 ,0.139173100960065},
{ "SIN173", &fx32 ,0.121869343405148},
{ "SIN174", &fx32 ,0.104528463267654},
{ "SIN175", &fx32 ,0.0871557427476582},
{ "SIN176", &fx32 ,0.0697564737441255},
{ "SIN177", &fx32 ,0.0523359562429438},
{ "SIN178", &fx32 ,0.0348994967025011},
{ "SIN179", &fx32 ,0.0174524064372834},
{ "SIN180", &fx32 ,1.22464679914735e-16},
{ "SIN181", &fx32 ,-0.0174524064372836},
{ "SIN182", &fx32 ,-0.0348994967025009},
{ "SIN183", &fx32 ,-0.0523359562429436},
{ "SIN184", &fx32 ,-0.0697564737441253},
{ "SIN185", &fx32 ,-0.0871557427476579},
{ "SIN186", &fx32 ,-0.104528463267653},
{ "SIN187", &fx32 ,-0.121869343405147},
{ "SIN188", &fx32 ,-0.139173100960066},
{ "SIN189", &fx32 ,-0.156434465040231},
{ "SIN190", &fx32 ,-0.17364817766693},
{ "SIN191", &fx32 ,-0.190808995376545},
{ "SIN192", &fx32 ,-0.20791169081776},
{ "SIN193", &fx32 ,-0.224951054343865},
{ "SIN194", &fx32 ,-0.241921895599668},
{ "SIN195", &fx32 ,-0.258819045102521},
{ "SIN196", &fx32 ,-0.275637355816999},
{ "SIN197", &fx32 ,-0.292371704722737},
{ "SIN198", &fx32 ,-0.309016994374947},
{ "SIN199", &fx32 ,-0.325568154457157},
{ "SIN200", &fx32 ,-0.342020143325669},
{ "SIN201", &fx32 ,-0.3583679495453},
{ "SIN202", &fx32 ,-0.374606593415912},
{ "SIN203", &fx32 ,-0.390731128489274},
{ "SIN204", &fx32 ,-0.4067366430758},
{ "SIN205", &fx32 ,-0.422618261740699},
{ "SIN206", &fx32 ,-0.438371146789077},
{ "SIN207", &fx32 ,-0.453990499739547},
{ "SIN208", &fx32 ,-0.469471562785891},
{ "SIN209", &fx32 ,-0.484809620246337},
{ "SIN210", &fx32 ,-0.5},
{ "SIN211", &fx32 ,-0.515038074910054},
{ "SIN212", &fx32 ,-0.529919264233205},
{ "SIN213", &fx32 ,-0.544639035015027},
{ "SIN214", &fx32 ,-0.559192903470747},
{ "SIN215", &fx32 ,-0.573576436351046},
{ "SIN216", &fx32 ,-0.587785252292473},
{ "SIN217", &fx32 ,-0.601815023152048},
{ "SIN218", &fx32 ,-0.615661475325658},
{ "SIN219", &fx32 ,-0.629320391049838},
{ "SIN220", &fx32 ,-0.642787609686539},
{ "SIN221", &fx32 ,-0.656059028990507},
{ "SIN222", &fx32 ,-0.669130606358858},
{ "SIN223", &fx32 ,-0.681998360062498},
{ "SIN224", &fx32 ,-0.694658370458997},
{ "SIN225", &fx32 ,-0.707106781186547},
{ "SIN226", &fx32 ,-0.719339800338651},
{ "SIN227", &fx32 ,-0.73135370161917},
{ "SIN228", &fx32 ,-0.743144825477394},
{ "SIN229", &fx32 ,-0.754709580222772},
{ "SIN230", &fx32 ,-0.766044443118978},
{ "SIN231", &fx32 ,-0.777145961456971},
{ "SIN232", &fx32 ,-0.788010753606722},
{ "SIN233", &fx32 ,-0.798635510047293},
{ "SIN234", &fx32 ,-0.809016994374947},
{ "SIN235", &fx32 ,-0.819152044288992},
{ "SIN236", &fx32 ,-0.829037572555042},
{ "SIN237", &fx32 ,-0.838670567945424},
{ "SIN238", &fx32 ,-0.848048096156426},
{ "SIN239", &fx32 ,-0.857167300702112},
{ "SIN240", &fx32 ,-0.866025403784438},
{ "SIN241", &fx32 ,-0.874619707139396},
{ "SIN242", &fx32 ,-0.882947592858927},
{ "SIN243", &fx32 ,-0.891006524188368},
{ "SIN244", &fx32 ,-0.898794046299167},
{ "SIN245", &fx32 ,-0.90630778703665},
{ "SIN246", &fx32 ,-0.913545457642601},
{ "SIN247", &fx32 ,-0.92050485345244},
{ "SIN248", &fx32 ,-0.927183854566787},
{ "SIN249", &fx32 ,-0.933580426497202},
{ "SIN250", &fx32 ,-0.939692620785908},
{ "SIN251", &fx32 ,-0.945518575599317},
{ "SIN252", &fx32 ,-0.951056516295154},
{ "SIN253", &fx32 ,-0.956304755963035},
{ "SIN254", &fx32 ,-0.961261695938319},
{ "SIN255", &fx32 ,-0.965925826289068},
{ "SIN256", &fx32 ,-0.970295726275996},
{ "SIN257", &fx32 ,-0.974370064785235},
{ "SIN258", &fx32 ,-0.978147600733806},
{ "SIN259", &fx32 ,-0.981627183447664},
{ "SIN260", &fx32 ,-0.984807753012208},
{ "SIN261", &fx32 ,-0.987688340595138},
{ "SIN262", &fx32 ,-0.99026806874157},
{ "SIN263", &fx32 ,-0.992546151641322},
{ "SIN264", &fx32 ,-0.994521895368273},
{ "SIN265", &fx32 ,-0.996194698091746},
{ "SIN266", &fx32 ,-0.997564050259824},
{ "SIN267", &fx32 ,-0.998629534754574},
{ "SIN268", &fx32 ,-0.999390827019096},
{ "SIN269", &fx32 ,-0.999847695156391},
{ "SIN270", &fx32 ,-1},
{ "SIN271", &fx32 ,-0.999847695156391},
{ "SIN272", &fx32 ,-0.999390827019096},
{ "SIN273", &fx32 ,-0.998629534754574},
{ "SIN274", &fx32 ,-0.997564050259824},
{ "SIN275", &fx32 ,-0.996194698091746},
{ "SIN276", &fx32 ,-0.994521895368273},
{ "SIN277", &fx32 ,-0.992546151641322},
{ "SIN278", &fx32 ,-0.99026806874157},
{ "SIN279", &fx32 ,-0.987688340595138},
{ "SIN280", &fx32 ,-0.984807753012208},
{ "SIN281", &fx32 ,-0.981627183447664},
{ "SIN282", &fx32 ,-0.978147600733806},
{ "SIN283", &fx32 ,-0.974370064785235},
{ "SIN284", &fx32 ,-0.970295726275997},
{ "SIN285", &fx32 ,-0.965925826289068},
{ "SIN286", &fx32 ,-0.961261695938319},
{ "SIN287", &fx32 ,-0.956304755963035},
{ "SIN288", &fx32 ,-0.951056516295154},
{ "SIN289", &fx32 ,-0.945518575599317},
{ "SIN290", &fx32 ,-0.939692620785908},
{ "SIN291", &fx32 ,-0.933580426497202},
{ "SIN292", &fx32 ,-0.927183854566787},
{ "SIN293", &fx32 ,-0.92050485345244},
{ "SIN294", &fx32 ,-0.913545457642601},
{ "SIN295", &fx32 ,-0.90630778703665},
{ "SIN296", &fx32 ,-0.898794046299167},
{ "SIN297", &fx32 ,-0.891006524188368},
{ "SIN298", &fx32 ,-0.882947592858927},
{ "SIN299", &fx32 ,-0.874619707139396},
{ "SIN300", &fx32 ,-0.866025403784439},
{ "SIN301", &fx32 ,-0.857167300702112},
{ "SIN302", &fx32 ,-0.848048096156426},
{ "SIN303", &fx32 ,-0.838670567945424},
{ "SIN304", &fx32 ,-0.829037572555042},
{ "SIN305", &fx32 ,-0.819152044288992},
{ "SIN306", &fx32 ,-0.809016994374948},
{ "SIN307", &fx32 ,-0.798635510047293},
{ "SIN308", &fx32 ,-0.788010753606722},
{ "SIN309", &fx32 ,-0.777145961456971},
{ "SIN310", &fx32 ,-0.766044443118978},
{ "SIN311", &fx32 ,-0.754709580222772},
{ "SIN312", &fx32 ,-0.743144825477395},
{ "SIN313", &fx32 ,-0.73135370161917},
{ "SIN314", &fx32 ,-0.719339800338651},
{ "SIN315", &fx32 ,-0.707106781186548},
{ "SIN316", &fx32 ,-0.694658370458998},
{ "SIN317", &fx32 ,-0.681998360062498},
{ "SIN318", &fx32 ,-0.669130606358858},
{ "SIN319", &fx32 ,-0.656059028990507},
{ "SIN320", &fx32 ,-0.64278760968654},
{ "SIN321", &fx32 ,-0.629320391049838},
{ "SIN322", &fx32 ,-0.615661475325658},
{ "SIN323", &fx32 ,-0.601815023152048},
{ "SIN324", &fx32 ,-0.587785252292473},
{ "SIN325", &fx32 ,-0.573576436351046},
{ "SIN326", &fx32 ,-0.559192903470747},
{ "SIN327", &fx32 ,-0.544639035015027},
{ "SIN328", &fx32 ,-0.529919264233205},
{ "SIN329", &fx32 ,-0.515038074910054},
{ "SIN330", &fx32 ,-0.5},
{ "SIN331", &fx32 ,-0.484809620246337},
{ "SIN332", &fx32 ,-0.469471562785891},
{ "SIN333", &fx32 ,-0.453990499739547},
{ "SIN334", &fx32 ,-0.438371146789078},
{ "SIN335", &fx32 ,-0.422618261740699},
{ "SIN336", &fx32 ,-0.4067366430758},
{ "SIN337", &fx32 ,-0.390731128489274},
{ "SIN338", &fx32 ,-0.374606593415912},
{ "SIN339", &fx32 ,-0.358367949545301},
{ "SIN340", &fx32 ,-0.342020143325669},
{ "SIN341", &fx32 ,-0.325568154457157},
{ "SIN342", &fx32 ,-0.309016994374948},
{ "SIN343", &fx32 ,-0.292371704722737},
{ "SIN344", &fx32 ,-0.275637355816999},
{ "SIN345", &fx32 ,-0.258819045102521},
{ "SIN346", &fx32 ,-0.241921895599668},
{ "SIN347", &fx32 ,-0.224951054343865},
{ "SIN348", &fx32 ,-0.20791169081776},
{ "SIN349", &fx32 ,-0.190808995376545},
{ "SIN350", &fx32 ,-0.17364817766693},
{ "SIN351", &fx32 ,-0.156434465040231},
{ "SIN352", &fx32 ,-0.139173100960066},
{ "SIN353", &fx32 ,-0.121869343405147},
{ "SIN354", &fx32 ,-0.104528463267653},
{ "SIN355", &fx32 ,-0.0871557427476583},
{ "SIN356", &fx32 ,-0.0697564737441256},
{ "SIN357", &fx32 ,-0.0523359562429444},
{ "SIN358", &fx32 ,-0.0348994967025008},
{ "SIN359", &fx32 ,-0.0174524064372836},
{ "COS0", &fx32 ,1},
{ "COS1", &fx32 ,0.999847695156391},
{ "COS2", &fx32 ,0.999390827019096},
{ "COS3", &fx32 ,0.998629534754574},
{ "COS4", &fx32 ,0.997564050259824},
{ "COS5", &fx32 ,0.996194698091746},
{ "COS6", &fx32 ,0.994521895368273},
{ "COS7", &fx32 ,0.992546151641322},
{ "COS8", &fx32 ,0.99026806874157},
{ "COS9", &fx32 ,0.987688340595138},
{ "COS10", &fx32 ,0.984807753012208},
{ "COS11", &fx32 ,0.981627183447664},
{ "COS12", &fx32 ,0.978147600733806},
{ "COS13", &fx32 ,0.974370064785235},
{ "COS14", &fx32 ,0.970295726275996},
{ "COS15", &fx32 ,0.965925826289068},
{ "COS16", &fx32 ,0.961261695938319},
{ "COS17", &fx32 ,0.956304755963035},
{ "COS18", &fx32 ,0.951056516295154},
{ "COS19", &fx32 ,0.945518575599317},
{ "COS20", &fx32 ,0.939692620785908},
{ "COS21", &fx32 ,0.933580426497202},
{ "COS22", &fx32 ,0.927183854566787},
{ "COS23", &fx32 ,0.92050485345244},
{ "COS24", &fx32 ,0.913545457642601},
{ "COS25", &fx32 ,0.90630778703665},
{ "COS26", &fx32 ,0.898794046299167},
{ "COS27", &fx32 ,0.891006524188368},
{ "COS28", &fx32 ,0.882947592858927},
{ "COS29", &fx32 ,0.874619707139396},
{ "COS30", &fx32 ,0.866025403784439},
{ "COS31", &fx32 ,0.857167300702112},
{ "COS32", &fx32 ,0.848048096156426},
{ "COS33", &fx32 ,0.838670567945424},
{ "COS34", &fx32 ,0.829037572555042},
{ "COS35", &fx32 ,0.819152044288992},
{ "COS36", &fx32 ,0.809016994374947},
{ "COS37", &fx32 ,0.798635510047293},
{ "COS38", &fx32 ,0.788010753606722},
{ "COS39", &fx32 ,0.777145961456971},
{ "COS40", &fx32 ,0.766044443118978},
{ "COS41", &fx32 ,0.754709580222772},
{ "COS42", &fx32 ,0.743144825477394},
{ "COS43", &fx32 ,0.73135370161917},
{ "COS44", &fx32 ,0.719339800338651},
{ "COS45", &fx32 ,0.707106781186548},
{ "COS46", &fx32 ,0.694658370458997},
{ "COS47", &fx32 ,0.681998360062498},
{ "COS48", &fx32 ,0.669130606358858},
{ "COS49", &fx32 ,0.656059028990507},
{ "COS50", &fx32 ,0.642787609686539},
{ "COS51", &fx32 ,0.629320391049838},
{ "COS52", &fx32 ,0.615661475325658},
{ "COS53", &fx32 ,0.601815023152048},
{ "COS54", &fx32 ,0.587785252292473},
{ "COS55", &fx32 ,0.573576436351046},
{ "COS56", &fx32 ,0.559192903470747},
{ "COS57", &fx32 ,0.544639035015027},
{ "COS58", &fx32 ,0.529919264233205},
{ "COS59", &fx32 ,0.515038074910054},
{ "COS60", &fx32 ,0.5},
{ "COS61", &fx32 ,0.484809620246337},
{ "COS62", &fx32 ,0.469471562785891},
{ "COS63", &fx32 ,0.453990499739547},
{ "COS64", &fx32 ,0.438371146789077},
{ "COS65", &fx32 ,0.422618261740699},
{ "COS66", &fx32 ,0.4067366430758},
{ "COS67", &fx32 ,0.390731128489274},
{ "COS68", &fx32 ,0.374606593415912},
{ "COS69", &fx32 ,0.3583679495453},
{ "COS70", &fx32 ,0.342020143325669},
{ "COS71", &fx32 ,0.325568154457157},
{ "COS72", &fx32 ,0.309016994374947},
{ "COS73", &fx32 ,0.292371704722737},
{ "COS74", &fx32 ,0.275637355816999},
{ "COS75", &fx32 ,0.258819045102521},
{ "COS76", &fx32 ,0.241921895599668},
{ "COS77", &fx32 ,0.224951054343865},
{ "COS78", &fx32 ,0.207911690817759},
{ "COS79", &fx32 ,0.190808995376545},
{ "COS80", &fx32 ,0.17364817766693},
{ "COS81", &fx32 ,0.156434465040231},
{ "COS82", &fx32 ,0.139173100960065},
{ "COS83", &fx32 ,0.121869343405147},
{ "COS84", &fx32 ,0.104528463267653},
{ "COS85", &fx32 ,0.0871557427476581},
{ "COS86", &fx32 ,0.0697564737441252},
{ "COS87", &fx32 ,0.052335956242944},
{ "COS88", &fx32 ,0.0348994967025011},
{ "COS89", &fx32 ,0.0174524064372836},
{ "COS90", &fx32 ,6.12323399573677e-17},
{ "COS91", &fx32 ,-0.0174524064372835},
{ "COS92", &fx32 ,-0.034899496702501},
{ "COS93", &fx32 ,-0.0523359562429438},
{ "COS94", &fx32 ,-0.0697564737441253},
{ "COS95", &fx32 ,-0.0871557427476582},
{ "COS96", &fx32 ,-0.104528463267654},
{ "COS97", &fx32 ,-0.121869343405147},
{ "COS98", &fx32 ,-0.139173100960065},
{ "COS99", &fx32 ,-0.156434465040231},
{ "COS100", &fx32 ,-0.17364817766693},
{ "COS101", &fx32 ,-0.190808995376545},
{ "COS102", &fx32 ,-0.207911690817759},
{ "COS103", &fx32 ,-0.224951054343865},
{ "COS104", &fx32 ,-0.241921895599668},
{ "COS105", &fx32 ,-0.258819045102521},
{ "COS106", &fx32 ,-0.275637355816999},
{ "COS107", &fx32 ,-0.292371704722737},
{ "COS108", &fx32 ,-0.309016994374947},
{ "COS109", &fx32 ,-0.325568154457157},
{ "COS110", &fx32 ,-0.342020143325669},
{ "COS111", &fx32 ,-0.3583679495453},
{ "COS112", &fx32 ,-0.374606593415912},
{ "COS113", &fx32 ,-0.390731128489274},
{ "COS114", &fx32 ,-0.4067366430758},
{ "COS115", &fx32 ,-0.422618261740699},
{ "COS116", &fx32 ,-0.438371146789078},
{ "COS117", &fx32 ,-0.453990499739547},
{ "COS118", &fx32 ,-0.469471562785891},
{ "COS119", &fx32 ,-0.484809620246337},
{ "COS120", &fx32 ,-0.5},
{ "COS121", &fx32 ,-0.515038074910054},
{ "COS122", &fx32 ,-0.529919264233205},
{ "COS123", &fx32 ,-0.544639035015027},
{ "COS124", &fx32 ,-0.559192903470747},
{ "COS125", &fx32 ,-0.573576436351046},
{ "COS126", &fx32 ,-0.587785252292473},
{ "COS127", &fx32 ,-0.601815023152048},
{ "COS128", &fx32 ,-0.615661475325658},
{ "COS129", &fx32 ,-0.629320391049837},
{ "COS130", &fx32 ,-0.642787609686539},
{ "COS131", &fx32 ,-0.656059028990507},
{ "COS132", &fx32 ,-0.669130606358858},
{ "COS133", &fx32 ,-0.681998360062498},
{ "COS134", &fx32 ,-0.694658370458997},
{ "COS135", &fx32 ,-0.707106781186547},
{ "COS136", &fx32 ,-0.719339800338651},
{ "COS137", &fx32 ,-0.73135370161917},
{ "COS138", &fx32 ,-0.743144825477394},
{ "COS139", &fx32 ,-0.754709580222772},
{ "COS140", &fx32 ,-0.766044443118978},
{ "COS141", &fx32 ,-0.777145961456971},
{ "COS142", &fx32 ,-0.788010753606722},
{ "COS143", &fx32 ,-0.798635510047293},
{ "COS144", &fx32 ,-0.809016994374947},
{ "COS145", &fx32 ,-0.819152044288992},
{ "COS146", &fx32 ,-0.829037572555042},
{ "COS147", &fx32 ,-0.838670567945424},
{ "COS148", &fx32 ,-0.848048096156426},
{ "COS149", &fx32 ,-0.857167300702112},
{ "COS150", &fx32 ,-0.866025403784439},
{ "COS151", &fx32 ,-0.874619707139396},
{ "COS152", &fx32 ,-0.882947592858927},
{ "COS153", &fx32 ,-0.891006524188368},
{ "COS154", &fx32 ,-0.898794046299167},
{ "COS155", &fx32 ,-0.90630778703665},
{ "COS156", &fx32 ,-0.913545457642601},
{ "COS157", &fx32 ,-0.92050485345244},
{ "COS158", &fx32 ,-0.927183854566787},
{ "COS159", &fx32 ,-0.933580426497202},
{ "COS160", &fx32 ,-0.939692620785908},
{ "COS161", &fx32 ,-0.945518575599317},
{ "COS162", &fx32 ,-0.951056516295154},
{ "COS163", &fx32 ,-0.956304755963036},
{ "COS164", &fx32 ,-0.961261695938319},
{ "COS165", &fx32 ,-0.965925826289068},
{ "COS166", &fx32 ,-0.970295726275996},
{ "COS167", &fx32 ,-0.974370064785235},
{ "COS168", &fx32 ,-0.978147600733806},
{ "COS169", &fx32 ,-0.981627183447664},
{ "COS170", &fx32 ,-0.984807753012208},
{ "COS171", &fx32 ,-0.987688340595138},
{ "COS172", &fx32 ,-0.99026806874157},
{ "COS173", &fx32 ,-0.992546151641322},
{ "COS174", &fx32 ,-0.994521895368273},
{ "COS175", &fx32 ,-0.996194698091746},
{ "COS176", &fx32 ,-0.997564050259824},
{ "COS177", &fx32 ,-0.998629534754574},
{ "COS178", &fx32 ,-0.999390827019096},
{ "COS179", &fx32 ,-0.999847695156391},
{ "COS180", &fx32 ,-1},
{ "COS181", &fx32 ,-0.999847695156391},
{ "COS182", &fx32 ,-0.999390827019096},
{ "COS183", &fx32 ,-0.998629534754574},
{ "COS184", &fx32 ,-0.997564050259824},
{ "COS185", &fx32 ,-0.996194698091746},
{ "COS186", &fx32 ,-0.994521895368273},
{ "COS187", &fx32 ,-0.992546151641322},
{ "COS188", &fx32 ,-0.99026806874157},
{ "COS189", &fx32 ,-0.987688340595138},
{ "COS190", &fx32 ,-0.984807753012208},
{ "COS191", &fx32 ,-0.981627183447664},
{ "COS192", &fx32 ,-0.978147600733806},
{ "COS193", &fx32 ,-0.974370064785235},
{ "COS194", &fx32 ,-0.970295726275996},
{ "COS195", &fx32 ,-0.965925826289068},
{ "COS196", &fx32 ,-0.961261695938319},
{ "COS197", &fx32 ,-0.956304755963035},
{ "COS198", &fx32 ,-0.951056516295154},
{ "COS199", &fx32 ,-0.945518575599317},
{ "COS200", &fx32 ,-0.939692620785908},
{ "COS201", &fx32 ,-0.933580426497202},
{ "COS202", &fx32 ,-0.927183854566787},
{ "COS203", &fx32 ,-0.92050485345244},
{ "COS204", &fx32 ,-0.913545457642601},
{ "COS205", &fx32 ,-0.90630778703665},
{ "COS206", &fx32 ,-0.898794046299167},
{ "COS207", &fx32 ,-0.891006524188368},
{ "COS208", &fx32 ,-0.882947592858927},
{ "COS209", &fx32 ,-0.874619707139396},
{ "COS210", &fx32 ,-0.866025403784439},
{ "COS211", &fx32 ,-0.857167300702112},
{ "COS212", &fx32 ,-0.848048096156426},
{ "COS213", &fx32 ,-0.838670567945424},
{ "COS214", &fx32 ,-0.829037572555042},
{ "COS215", &fx32 ,-0.819152044288992},
{ "COS216", &fx32 ,-0.809016994374948},
{ "COS217", &fx32 ,-0.798635510047293},
{ "COS218", &fx32 ,-0.788010753606722},
{ "COS219", &fx32 ,-0.777145961456971},
{ "COS220", &fx32 ,-0.766044443118978},
{ "COS221", &fx32 ,-0.754709580222772},
{ "COS222", &fx32 ,-0.743144825477394},
{ "COS223", &fx32 ,-0.731353701619171},
{ "COS224", &fx32 ,-0.719339800338651},
{ "COS225", &fx32 ,-0.707106781186548},
{ "COS226", &fx32 ,-0.694658370458997},
{ "COS227", &fx32 ,-0.681998360062499},
{ "COS228", &fx32 ,-0.669130606358858},
{ "COS229", &fx32 ,-0.656059028990507},
{ "COS230", &fx32 ,-0.642787609686539},
{ "COS231", &fx32 ,-0.629320391049838},
{ "COS232", &fx32 ,-0.615661475325658},
{ "COS233", &fx32 ,-0.601815023152048},
{ "COS234", &fx32 ,-0.587785252292473},
{ "COS235", &fx32 ,-0.573576436351046},
{ "COS236", &fx32 ,-0.559192903470747},
{ "COS237", &fx32 ,-0.544639035015027},
{ "COS238", &fx32 ,-0.529919264233205},
{ "COS239", &fx32 ,-0.515038074910054},
{ "COS240", &fx32 ,-0.5},
{ "COS241", &fx32 ,-0.484809620246337},
{ "COS242", &fx32 ,-0.469471562785891},
{ "COS243", &fx32 ,-0.453990499739547},
{ "COS244", &fx32 ,-0.438371146789078},
{ "COS245", &fx32 ,-0.422618261740699},
{ "COS246", &fx32 ,-0.4067366430758},
{ "COS247", &fx32 ,-0.390731128489274},
{ "COS248", &fx32 ,-0.374606593415912},
{ "COS249", &fx32 ,-0.358367949545301},
{ "COS250", &fx32 ,-0.342020143325669},
{ "COS251", &fx32 ,-0.325568154457157},
{ "COS252", &fx32 ,-0.309016994374948},
{ "COS253", &fx32 ,-0.292371704722737},
{ "COS254", &fx32 ,-0.275637355816999},
{ "COS255", &fx32 ,-0.258819045102521},
{ "COS256", &fx32 ,-0.241921895599668},
{ "COS257", &fx32 ,-0.224951054343865},
{ "COS258", &fx32 ,-0.20791169081776},
{ "COS259", &fx32 ,-0.190808995376545},
{ "COS260", &fx32 ,-0.17364817766693},
{ "COS261", &fx32 ,-0.156434465040231},
{ "COS262", &fx32 ,-0.139173100960066},
{ "COS263", &fx32 ,-0.121869343405147},
{ "COS264", &fx32 ,-0.104528463267653},
{ "COS265", &fx32 ,-0.0871557427476582},
{ "COS266", &fx32 ,-0.0697564737441256},
{ "COS267", &fx32 ,-0.0523359562429443},
{ "COS268", &fx32 ,-0.0348994967025008},
{ "COS269", &fx32 ,-0.0174524064372835},
{ "COS270", &fx32 ,-1.83697019872103e-16},
{ "COS271", &fx32 ,0.0174524064372831},
{ "COS272", &fx32 ,0.0348994967025013},
{ "COS273", &fx32 ,0.0523359562429439},
{ "COS274", &fx32 ,0.0697564737441252},
{ "COS275", &fx32 ,0.0871557427476579},
{ "COS276", &fx32 ,0.104528463267653},
{ "COS277", &fx32 ,0.121869343405148},
{ "COS278", &fx32 ,0.139173100960065},
{ "COS279", &fx32 ,0.156434465040231},
{ "COS280", &fx32 ,0.17364817766693},
{ "COS281", &fx32 ,0.190808995376545},
{ "COS282", &fx32 ,0.207911690817759},
{ "COS283", &fx32 ,0.224951054343865},
{ "COS284", &fx32 ,0.241921895599667},
{ "COS285", &fx32 ,0.25881904510252},
{ "COS286", &fx32 ,0.275637355816999},
{ "COS287", &fx32 ,0.292371704722737},
{ "COS288", &fx32 ,0.309016994374947},
{ "COS289", &fx32 ,0.325568154457156},
{ "COS290", &fx32 ,0.342020143325669},
{ "COS291", &fx32 ,0.3583679495453},
{ "COS292", &fx32 ,0.374606593415912},
{ "COS293", &fx32 ,0.390731128489273},
{ "COS294", &fx32 ,0.4067366430758},
{ "COS295", &fx32 ,0.4226182617407},
{ "COS296", &fx32 ,0.438371146789077},
{ "COS297", &fx32 ,0.453990499739547},
{ "COS298", &fx32 ,0.46947156278589},
{ "COS299", &fx32 ,0.484809620246337},
{ "COS300", &fx32 ,0.5},
{ "COS301", &fx32 ,0.515038074910054},
{ "COS302", &fx32 ,0.529919264233205},
{ "COS303", &fx32 ,0.544639035015027},
{ "COS304", &fx32 ,0.559192903470747},
{ "COS305", &fx32 ,0.573576436351046},
{ "COS306", &fx32 ,0.587785252292473},
{ "COS307", &fx32 ,0.601815023152048},
{ "COS308", &fx32 ,0.615661475325659},
{ "COS309", &fx32 ,0.629320391049838},
{ "COS310", &fx32 ,0.642787609686539},
{ "COS311", &fx32 ,0.656059028990507},
{ "COS312", &fx32 ,0.669130606358858},
{ "COS313", &fx32 ,0.681998360062499},
{ "COS314", &fx32 ,0.694658370458997},
{ "COS315", &fx32 ,0.707106781186547},
{ "COS316", &fx32 ,0.719339800338651},
{ "COS317", &fx32 ,0.731353701619171},
{ "COS318", &fx32 ,0.743144825477394},
{ "COS319", &fx32 ,0.754709580222772},
{ "COS320", &fx32 ,0.766044443118978},
{ "COS321", &fx32 ,0.777145961456971},
{ "COS322", &fx32 ,0.788010753606722},
{ "COS323", &fx32 ,0.798635510047293},
{ "COS324", &fx32 ,0.809016994374947},
{ "COS325", &fx32 ,0.819152044288992},
{ "COS326", &fx32 ,0.829037572555042},
{ "COS327", &fx32 ,0.838670567945424},
{ "COS328", &fx32 ,0.848048096156426},
{ "COS329", &fx32 ,0.857167300702112},
{ "COS330", &fx32 ,0.866025403784438},
{ "COS331", &fx32 ,0.874619707139396},
{ "COS332", &fx32 ,0.882947592858927},
{ "COS333", &fx32 ,0.891006524188368},
{ "COS334", &fx32 ,0.898794046299167},
{ "COS335", &fx32 ,0.90630778703665},
{ "COS336", &fx32 ,0.913545457642601},
{ "COS337", &fx32 ,0.92050485345244},
{ "COS338", &fx32 ,0.927183854566787},
{ "COS339", &fx32 ,0.933580426497202},
{ "COS340", &fx32 ,0.939692620785908},
{ "COS341", &fx32 ,0.945518575599317},
{ "COS342", &fx32 ,0.951056516295154},
{ "COS343", &fx32 ,0.956304755963035},
{ "COS344", &fx32 ,0.961261695938319},
{ "COS345", &fx32 ,0.965925826289068},
{ "COS346", &fx32 ,0.970295726275996},
{ "COS347", &fx32 ,0.974370064785235},
{ "COS348", &fx32 ,0.978147600733806},
{ "COS349", &fx32 ,0.981627183447664},
{ "COS350", &fx32 ,0.984807753012208},
{ "COS351", &fx32 ,0.987688340595138},
{ "COS352", &fx32 ,0.99026806874157},
{ "COS353", &fx32 ,0.992546151641322},
{ "COS354", &fx32 ,0.994521895368273},
{ "COS355", &fx32 ,0.996194698091746},
{ "COS356", &fx32 ,0.997564050259824},
{ "COS357", &fx32 ,0.998629534754574},
{ "COS358", &fx32 ,0.999390827019096},
{ "COS359", &fx32 ,0.999847695156391},
const struct FxSpec *const sFxSpecPtrs[] = {
&fx32,
&fx64,
&fx64c,
&fx16,
};
const int gNFxConstTable = sizeof(gFxConstTable) / sizeof(*gFxConstTable);
struct FxConst *gFxConstTable = NULL;
size_t gNFxConstTable = 0;
void FxConstTableInit(void) {
FILE *file;
char *contents;
char *ptr;
char *linetok;
char *linetok_r;
char *commatok;
char *commatok_r;
char *_realpath;
int i, j, k;
long fsize;
long readsz;
static char filename[BUFSIZ] = SOURCE_DIR "/" __FILE__;
atexit(FxConstTableEnd);
*(strrchr(filename, '/') + 1) = 0;
strlcat(filename, "fx_const.csv", BUFSIZ);
file = fopen(filename, "r");
if (file == NULL) {
fatal_error("Unable to open file '%s' for reading", filename);
}
fseek(file, 0, SEEK_END);
fsize = ftell(file);
fseek(file, 0, SEEK_SET);
contents = malloc(fsize + 1);
if (contents == NULL) {
fclose(file);
fatal_error("Unable to allocate CSV read buffer");
}
readsz = fread(contents, 1, fsize, file);
fclose(file);
if (readsz != fsize) {
free(contents);
fatal_error("Read error");
}
contents[fsize] = 0;
ptr = contents - 1;
gNFxConstTable = 0;
do {
ptr++;
gNFxConstTable += (*ptr != '#' && *ptr != '\n');
ptr = strchr(ptr, '\n');
} while (ptr != NULL);
if (gNFxConstTable == 0) {
free(contents);
fatal_error("Malformatted CSV file");
}
gFxConstTable = malloc(gNFxConstTable * sizeof(struct FxConst));
if (gFxConstTable == NULL) {
free(contents);
fatal_error("Unable to allocate gFxConstTable");
}
ptr = contents;
for (i = 0; i < gNFxConstTable; i++) {
linetok = strtok_r(ptr, "\n", &linetok_r);
ptr = NULL;
if (linetok == NULL) {
gNFxConstTable = i;
break;
}
if (*linetok == '#') {
i--;
continue;
}
for (j = 0; j < 3; j++) {
commatok = strtok_r(linetok, ",", &commatok_r);
linetok = NULL;
if (commatok == NULL) {
free(contents);
fatal_error("Malformatted CSV file at line %d col %d", i, j);
}
switch (j) {
case 0:
gFxConstTable[i].name = strdup(commatok);
break;
case 1:
for (k = 0; k < len(sFxSpecPtrs); k++) {
if (strcmp(commatok, sFxSpecPtrs[k]->name) == 0) {
break;
}
}
if (k == len(sFxSpecPtrs)) {
free(contents);
fatal_error("Invalid fx type %s", commatok);
}
gFxConstTable[i].fxtype = sFxSpecPtrs[k];
break;
case 2:
gFxConstTable[i].value = strtod(commatok, NULL);
break;
}
}
}
free(contents);
}
void FxConstTableEnd(void) {
int i;
if (gFxConstTable != NULL) {
for (i = 0; i < gNFxConstTable; i++) {
if (gFxConstTable[i].name != NULL) {
free(gFxConstTable[i].name);
}
}
free(gFxConstTable);
gFxConstTable = NULL;
}
gNFxConstTable = 0;
}

View File

@ -0,0 +1,27 @@
#ifndef GUARD_GLOBAL_H
#define GUARD_GLOBAL_H
#include <stdio.h>
#include <stdnoreturn.h>
#include <stdarg.h>
#include <stdlib.h>
#define len(a) ((sizeof(a))/(sizeof(*(a))))
static inline noreturn __attribute__((format(printf, 1, 2))) void fatal_error(const char *fmt, ...) {
va_list va_args;
va_start(va_args, fmt);
vfprintf(stderr, fmt, va_args);
va_end(va_args);
fputc('\n', stderr);
exit(1);
}
#ifndef __clang__
#undef strlcat
#define strlcat(d,s,n) strncat(d,s,(n)-strlen(d)-1)
#undef strlcpy
#define strlcpy(d,s,n) strncpy(d,s,(n)-1)
#endif //__clang__
#endif //GUARD_GLOBAL_H

View File

@ -1,12 +1,9 @@
#include <stdio.h>
#include <stdnoreturn.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "fx.h"
#include "global.h"
static const int NAMEBUF_SIZ = 32;
#define NAMEBUF_SIZ 32
static inline void usage(FILE *dest) {
fprintf(dest, "USAGE: gen_fx_consts FILENAME\n\n"
@ -14,20 +11,13 @@ static inline void usage(FILE *dest) {
" automatically from the path.\n");
}
static inline noreturn __attribute__((format(printf, 1, 2))) void fatal_error(const char *fmt, ...) {
va_list va_args;
va_start(va_args, fmt);
vfprintf(stderr, fmt, va_args);
va_end(va_args);
fputc('\n', stderr);
exit(1);
}
int main(int argc, char ** argv) {
int i;
char namebuf[NAMEBUF_SIZ] = "";
char *header_guard;
FILE *outfile;
FxConstTableInit();
if (argc < 2) {
outfile = stdout;
header_guard = "NITRO_FX_FX_CONST_H_";