-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtan.h
196 lines (191 loc) · 5.38 KB
/
tan.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
#include "crlibm.h"
#include "crlibm_private.h"
static const scs cste_poly[3]=
/* ~5.396825e-02 */
{{{0x03743743, 0x1d0dd0dd, 0x03743743, 0x1d0dd0dd,
0x03743743, 0x1d0dd0dd, 0x03743743, 0x1d0dd0dd},
DB_ONE, -1, 1 }
,
/* ~1.333333e-01 */
{{0x08888888, 0x22222222, 0x08888888, 0x22222222,
0x08888888, 0x22222222, 0x08888888, 0x22222222},
DB_ONE, -1, 1 }
,
/* ~3.333333e-01 */
{{0x15555555, 0x15555555, 0x15555555, 0x15555555,
0x15555555, 0x15555555, 0x15555555, 0x15555555},
DB_ONE, -1, 1 }
};
#define cste_poly_ptr (scs_ptr)&cste_poly
static const scs constant_poly[34]=
/* ~1.603843e-12 */
{{{0x001c3711, 0x0a6636b6, 0x08846c6b, 0x0b9d7fec,
0x29a1108f, 0x20360652, 0x35452ed2, 0x36fb612a},
DB_ONE, -2, 1 }
,
/* ~-6.635127e-12 */
{{0x0074b9f5, 0x03c966c5, 0x316eb000, 0x17eed5d5,
0x2a8f15c7, 0x0b819a5b, 0x0e283fee, 0x1fa185f4},
DB_ONE, -2, -1 }
,
/* ~1.701774e-11 */
{{0x012b6111, 0x0a48e24c, 0x3b1f8f6f, 0x1572c64e,
0x22390338, 0x2cbdc2c2, 0x2cee61bf, 0x0558a950},
DB_ONE, -2, 1 }
,
/* ~-2.487184e-11 */
{{0x01b58cd4, 0x01a69a24, 0x0f0b1c22, 0x16f356c0,
0x3d9c5416, 0x0b95bd25, 0x393d5492, 0x1f3e8d8a},
DB_ONE, -2, -1 }
,
/* ~3.414062e-11 */
{{0x02589ba9, 0x3107062c, 0x1f1cd369, 0x1cc300e5,
0x2cfae113, 0x11c3bda5, 0x1ca26b21, 0x26a468a3},
DB_ONE, -2, 1 }
,
/* ~-1.936593e-11 */
{{0x0154b066, 0x27b79430, 0x32c3d796, 0x0a76ca34,
0x2aab74bf, 0x0d441ecf, 0x289775ac, 0x356dfab9},
DB_ONE, -2, -1 }
,
/* ~4.092540e-11 */
{{0x02cff79c, 0x22cc1d06, 0x10f0b3f3, 0x3929eb6a,
0x2fef33c1, 0x0cf34274, 0x112b6551, 0x0865eb5d},
DB_ONE, -2, 1 }
,
/* ~3.945621e-11 */
{{0x02b61ef7, 0x1615e1b2, 0x2af4321f, 0x3306fbfb,
0x219f1375, 0x3dfeb879, 0x02802c09, 0x103f1ad3},
DB_ONE, -2, 1 }
,
/* ~1.325474e-10 */
{{0x091bcc96, 0x031df2b1, 0x26d36518, 0x14dcdda2,
0x0aa2e379, 0x1ad373c3, 0x1df22468, 0x3aff23bf},
DB_ONE, -2, 1 }
,
/* ~3.102255e-10 */
{{0x15518b50, 0x1778b3d1, 0x02edef58, 0x0946f1bd,
0x1ad740a0, 0x2727ea7c, 0x0d6f8ff6, 0x28b03ce4},
DB_ONE, -2, 1 }
,
/* ~7.722337e-10 */
{{0x3511476d, 0x3a6a043c, 0x02273600, 0x25b2193a,
0x0d4fa0e5, 0x23ef4ea7, 0x046a4ce0, 0x20a0c5b1},
DB_ONE, -2, 1 }
,
/* ~1.903087e-09 */
{{0x00000002, 0x02c77760, 0x3cd4d0ec, 0x1f69a101,
0x29f87132, 0x059e717d, 0x0138d55e, 0x24b885cb},
DB_ONE, -1, 1 }
,
/* ~4.696359e-09 */
{{0x00000005, 0x02bb3727, 0x05833615, 0x308e90f6,
0x105e98e0, 0x23811a32, 0x348f6c06, 0x2a6e420c},
DB_ONE, -1, 1 }
,
/* ~1.158763e-08 */
{{0x0000000c, 0x1c4bc14e, 0x39b2b9e5, 0x0c03ce97,
0x2dd47cfc, 0x291833ea, 0x1e9e060c, 0x0ca14238},
DB_ONE, -1, 1 }
,
/* ~2.859137e-08 */
{{0x0000001e, 0x2cc8af90, 0x1522a1fb, 0x27ef6ebb,
0x1ccb6d95, 0x38bcb073, 0x2b193c72, 0x347b55c4},
DB_ONE, -1, 1 }
,
/* ~7.054637e-08 */
{{0x0000004b, 0x2fe8d966, 0x3994ea3c, 0x277743e6,
0x048ddcaf, 0x3c7238cb, 0x33360cfd, 0x0286b083},
DB_ONE, -1, 1 }
,
/* ~1.740662e-07 */
{{0x000000ba, 0x39bccb07, 0x26da1385, 0x3bca2a63,
0x04e9a30c, 0x39074670, 0x108e16f7, 0x2dc4328b},
DB_ONE, -1, 1 }
,
/* ~4.294911e-07 */
{{0x000001cd, 0x0a677924, 0x0f7da25e, 0x194896cf,
0x21f0ad05, 0x28b7f59a, 0x2eb4664d, 0x367d7a84},
DB_ONE, -1, 1 }
,
/* ~1.059727e-06 */
{{0x00000471, 0x37df95c2, 0x1e732119, 0x2f5ee9fd,
0x30cd0e84, 0x362a1be3, 0x27dd27e0, 0x2539a7ec},
DB_ONE, -1, 1 }
,
/* ~2.614771e-06 */
{{0x00000af7, 0x25b48e9c, 0x29e2e604, 0x040ae6f5,
0x2924ab30, 0x12a6a4d0, 0x1a327d65, 0x3de9f6d9},
DB_ONE, -1, 1 }
,
/* ~6.451689e-06 */
{{0x00001b0f, 0x1cb4fb89, 0x0ed5f2b2, 0x0fc386a5,
0x34bec2b5, 0x3e84224c, 0x0fd28c38, 0x2f024dff},
DB_ONE, -1, 1 }
,
/* ~1.591891e-05 */
{{0x000042c4, 0x32d39a60, 0x140fcf93, 0x1e013323,
0x25bc5fe8, 0x284e6fe7, 0x0185aa5a, 0x0e937e51},
DB_ONE, -1, 1 }
,
/* ~3.927832e-05 */
{{0x0000a4be, 0x31dd44a4, 0x2c9a2186, 0x34b10dfc,
0x2b9692a8, 0x2d61a81e, 0x1fc08230, 0x348c1d11},
DB_ONE, -1, 1 }
,
/* ~9.691538e-05 */
{{0x0001967e, 0x062bf2be, 0x2c8a25e8, 0x1e4d3882,
0x2e2c92ba, 0x1e3988cf, 0x20e35b9b, 0x0b83fe85},
DB_ONE, -1, 1 }
,
/* ~2.391291e-04 */
{{0x0003eafa, 0x3b9a68b3, 0x08435577, 0x367c784b,
0x02bedebd, 0x10cebefb, 0x0e842ff1, 0x29c1434c},
DB_ONE, -1, 1 }
,
/* ~5.900274e-04 */
{{0x0009aac1, 0x09006ce8, 0x22911b2a, 0x1dd4bcbe,
0x03c350a0, 0x03291917, 0x394eb2c0, 0x24b6dfb5},
DB_ONE, -1, 1 }
,
/* ~1.455834e-03 */
{{0x0017da36, 0x114add78, 0x2b6a1d93, 0x17fc46c9,
0x3bba22d1, 0x398c9d17, 0x19ac22f3, 0x207f379c},
DB_ONE, -1, 1 }
,
/* ~3.592128e-03 */
{{0x003ada7a, 0x070abeef, 0x36bf981b, 0x12e3b4c5,
0x2c6f684f, 0x2671cd76, 0x178ab686, 0x0d9af269},
DB_ONE, -1, 1 }
,
/* ~8.863236e-03 */
{{0x0091371a, 0x2bcd8479, 0x07ada8e1, 0x32e9f8a6,
0x2095d28b, 0x360391b7, 0x24681998, 0x0543c654},
DB_ONE, -1, 1 }
,
/* ~2.186949e-02 */
{{0x01664f48, 0x20b043e7, 0x332d6bba, 0x12776056,
0x1878308f, 0x29979b47, 0x0448638b, 0x38be5633},
DB_ONE, -1, 1 }
,
/* ~5.396825e-02 */
{{0x03743743, 0x1d0dd0dd, 0x03743743, 0x1d0dd0dd,
0x040561f0, 0x251b7ca6, 0x093f3bec, 0x24c62fe3},
DB_ONE, -1, 1 }
,
/* ~1.333333e-01 */
{{0x08888888, 0x22222222, 0x08888888, 0x22222222,
0x08885f6e, 0x231032e4, 0x3dd964f9, 0x03356a6d},
DB_ONE, -1, 1 }
,
/* ~3.333333e-01 */
{{0x15555555, 0x15555555, 0x15555555, 0x15555555,
0x15555557, 0x11542814, 0x197fcecd, 0x313a1283},
DB_ONE, -1, 1 }
,
/* ~1.000000e+00 */
{{0x00000001, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000},
DB_ONE, 0, 1 }
};
#define constant_poly_ptr (scs_ptr)&constant_poly