7 int32_t starting_phase;
10 {0x04CCCCCC, 0x00000000},
11 {0x09999999, 0x80000000},
12 {0x0E666666, 0x00000000},
13 {0x13333333, 0x00000000},
14 {0x18000000, 0x00000000},
15 {0x21999999, 0x00000000},
16 {0x2B333333, 0x00000000},
17 {0x30000000, 0x00000000},
18 {0x34CCCCCC, 0x80000000},
19 {0x3E666666, 0x00000000},
20 {0x43333333, 0x00000000},
21 {0x48000000, 0x80000000},
22 {0x51999999, 0x00000000},
23 {0x56666666, 0x80000000},
24 {0x5B333333, 0x00000000},
25 {0x60000000, 0x80000000},
26 {0x64CCCCCC, 0x80000000},
27 {0x69999999, 0x80000000},
28 {0x6E666666, 0x80000000},
29 {0x73333333, 0x00000000},
30 {0x78000000, 0x00000000}
33#define LINE_PROBE_SAMPLES 160
35#if defined(SPANDSP_USE_FIXED_POINTx)
36static const int16_t line_probe_samples[LINE_PROBE_SAMPLES] =
38static const float line_probe_samples[LINE_PROBE_SAMPLES] =
41 LINE_PROBE_SCALE( 24903.28f),
42 LINE_PROBE_SCALE( 24514.95f),
43 LINE_PROBE_SCALE( 1310.90f),
44 LINE_PROBE_SCALE(-16258.72f),
45 LINE_PROBE_SCALE( 9817.84f),
46 LINE_PROBE_SCALE(-24025.86f),
47 LINE_PROBE_SCALE( 8281.32f),
48 LINE_PROBE_SCALE( -6871.09f),
49 LINE_PROBE_SCALE( -1708.98f),
50 LINE_PROBE_SCALE( 7508.05f),
51 LINE_PROBE_SCALE(-21770.92f),
52 LINE_PROBE_SCALE( 22231.72f),
53 LINE_PROBE_SCALE( 15049.83f),
54 LINE_PROBE_SCALE( 19801.68f),
55 LINE_PROBE_SCALE(-16424.84f),
56 LINE_PROBE_SCALE( 5252.57f),
57 LINE_PROBE_SCALE( 22274.17f),
58 LINE_PROBE_SCALE( 14530.10f),
59 LINE_PROBE_SCALE(-19975.32f),
60 LINE_PROBE_SCALE( -3076.90f),
61 LINE_PROBE_SCALE( 1458.80f),
62 LINE_PROBE_SCALE(-23447.22f),
63 LINE_PROBE_SCALE( 19443.63f),
64 LINE_PROBE_SCALE( 2000.17f),
65 LINE_PROBE_SCALE(-22319.84f),
66 LINE_PROBE_SCALE( -8546.17f),
67 LINE_PROBE_SCALE(-17045.09f),
68 LINE_PROBE_SCALE(-22641.13f),
69 LINE_PROBE_SCALE( -7647.30f),
70 LINE_PROBE_SCALE(-18923.08f),
71 LINE_PROBE_SCALE(-11525.04f),
72 LINE_PROBE_SCALE( 22730.19f),
73 LINE_PROBE_SCALE(-11137.09f),
74 LINE_PROBE_SCALE(-13550.21f),
75 LINE_PROBE_SCALE( 8957.77f),
76 LINE_PROBE_SCALE(-23987.32f),
77 LINE_PROBE_SCALE( 5328.12f),
78 LINE_PROBE_SCALE( 20795.55f),
79 LINE_PROBE_SCALE( 16732.44f),
80 LINE_PROBE_SCALE(-17855.91f),
81 LINE_PROBE_SCALE( 9961.31f),
82 LINE_PROBE_SCALE( 17258.87f),
83 LINE_PROBE_SCALE( 22939.52f),
84 LINE_PROBE_SCALE( -6971.65f),
85 LINE_PROBE_SCALE(-10695.69f),
86 LINE_PROBE_SCALE( 13711.92f),
87 LINE_PROBE_SCALE(-18119.58f),
88 LINE_PROBE_SCALE( 15541.35f),
89 LINE_PROBE_SCALE(-22274.17f),
90 LINE_PROBE_SCALE( 1702.23f),
91 LINE_PROBE_SCALE( -5479.98f),
92 LINE_PROBE_SCALE(-11407.13f),
93 LINE_PROBE_SCALE( 21227.27f),
94 LINE_PROBE_SCALE( 25013.07f),
95 LINE_PROBE_SCALE( 25168.02f),
96 LINE_PROBE_SCALE( 13430.54f),
97 LINE_PROBE_SCALE(-18701.18f),
98 LINE_PROBE_SCALE( 6183.88f),
99 LINE_PROBE_SCALE(-13160.21f),
100 LINE_PROBE_SCALE( -8287.47f),
101 LINE_PROBE_SCALE( 8502.51f),
102 LINE_PROBE_SCALE(-15974.55f),
103 LINE_PROBE_SCALE( 18099.42f),
104 LINE_PROBE_SCALE(-23453.54f),
105 LINE_PROBE_SCALE( 11137.09f),
106 LINE_PROBE_SCALE( 18037.90f),
107 LINE_PROBE_SCALE( 21093.02f),
108 LINE_PROBE_SCALE( -4873.47f),
109 LINE_PROBE_SCALE( -8707.18f),
110 LINE_PROBE_SCALE( 22003.29f),
111 LINE_PROBE_SCALE( 18853.32f),
112 LINE_PROBE_SCALE( -7950.18f),
113 LINE_PROBE_SCALE(-17037.87f),
114 LINE_PROBE_SCALE( 11000.25f),
115 LINE_PROBE_SCALE(-24223.48f),
116 LINE_PROBE_SCALE( 6126.40f),
117 LINE_PROBE_SCALE( 15472.35f),
118 LINE_PROBE_SCALE(-20246.24f),
119 LINE_PROBE_SCALE(-13154.89f),
120 LINE_PROBE_SCALE(-11026.84f),
121 LINE_PROBE_SCALE(-24903.28f),
122 LINE_PROBE_SCALE(-11026.84f),
123 LINE_PROBE_SCALE(-13154.89f),
124 LINE_PROBE_SCALE(-20246.24f),
125 LINE_PROBE_SCALE( 15472.35f),
126 LINE_PROBE_SCALE( 6126.40f),
127 LINE_PROBE_SCALE(-24223.48f),
128 LINE_PROBE_SCALE( 11000.25f),
129 LINE_PROBE_SCALE(-17037.87f),
130 LINE_PROBE_SCALE( -7950.18f),
131 LINE_PROBE_SCALE( 18853.32f),
132 LINE_PROBE_SCALE( 22003.29f),
133 LINE_PROBE_SCALE( -8707.18f),
134 LINE_PROBE_SCALE( -4873.47f),
135 LINE_PROBE_SCALE( 21093.02f),
136 LINE_PROBE_SCALE( 18037.90f),
137 LINE_PROBE_SCALE( 11137.09f),
138 LINE_PROBE_SCALE(-23453.54f),
139 LINE_PROBE_SCALE( 18099.42f),
140 LINE_PROBE_SCALE(-15974.55f),
141 LINE_PROBE_SCALE( 8502.51f),
142 LINE_PROBE_SCALE( -8287.47f),
143 LINE_PROBE_SCALE(-13160.21f),
144 LINE_PROBE_SCALE( 6183.88f),
145 LINE_PROBE_SCALE(-18701.18f),
146 LINE_PROBE_SCALE( 13430.54f),
147 LINE_PROBE_SCALE( 25168.02f),
148 LINE_PROBE_SCALE( 25013.07f),
149 LINE_PROBE_SCALE( 21227.27f),
150 LINE_PROBE_SCALE(-11407.13f),
151 LINE_PROBE_SCALE( -5479.98f),
152 LINE_PROBE_SCALE( 1702.23f),
153 LINE_PROBE_SCALE(-22274.17f),
154 LINE_PROBE_SCALE( 15541.35f),
155 LINE_PROBE_SCALE(-18119.58f),
156 LINE_PROBE_SCALE( 13711.92f),
157 LINE_PROBE_SCALE(-10695.69f),
158 LINE_PROBE_SCALE( -6971.65f),
159 LINE_PROBE_SCALE( 22939.52f),
160 LINE_PROBE_SCALE( 17258.87f),
161 LINE_PROBE_SCALE( 9961.31f),
162 LINE_PROBE_SCALE(-17855.91f),
163 LINE_PROBE_SCALE( 16732.44f),
164 LINE_PROBE_SCALE( 20795.55f),
165 LINE_PROBE_SCALE( 5328.12f),
166 LINE_PROBE_SCALE(-23987.32f),
167 LINE_PROBE_SCALE( 8957.77f),
168 LINE_PROBE_SCALE(-13550.21f),
169 LINE_PROBE_SCALE(-11137.09f),
170 LINE_PROBE_SCALE( 22730.19f),
171 LINE_PROBE_SCALE(-11525.04f),
172 LINE_PROBE_SCALE(-18923.08f),
173 LINE_PROBE_SCALE( -7647.30f),
174 LINE_PROBE_SCALE(-22641.13f),
175 LINE_PROBE_SCALE(-17045.09f),
176 LINE_PROBE_SCALE( -8546.17f),
177 LINE_PROBE_SCALE(-22319.84f),
178 LINE_PROBE_SCALE( 2000.17f),
179 LINE_PROBE_SCALE( 19443.63f),
180 LINE_PROBE_SCALE(-23447.22f),
181 LINE_PROBE_SCALE( 1458.80f),
182 LINE_PROBE_SCALE( -3076.90f),
183 LINE_PROBE_SCALE(-19975.32f),
184 LINE_PROBE_SCALE( 14530.10f),
185 LINE_PROBE_SCALE( 22274.17f),
186 LINE_PROBE_SCALE( 5252.57f),
187 LINE_PROBE_SCALE(-16424.84f),
188 LINE_PROBE_SCALE( 19801.68f),
189 LINE_PROBE_SCALE( 15049.83f),
190 LINE_PROBE_SCALE( 22231.72f),
191 LINE_PROBE_SCALE(-21770.92f),
192 LINE_PROBE_SCALE( 7508.05f),
193 LINE_PROBE_SCALE( -1708.98f),
194 LINE_PROBE_SCALE( -6871.09f),
195 LINE_PROBE_SCALE( 8281.32f),
196 LINE_PROBE_SCALE(-24025.86f),
197 LINE_PROBE_SCALE( 9817.84f),
198 LINE_PROBE_SCALE(-16258.72f),
199 LINE_PROBE_SCALE( 1310.90f),
200 LINE_PROBE_SCALE( 24514.95f)
206#define PP_SYMBOLS (8*PP_REPEATS)
208#if defined(SPANDSP_USE_FIXED_POINTx)
211static const complexf_t pp_symbols[PP_SYMBOLS] =
214 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
215 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
216 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
217 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
218 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
219 {PP_SYMBOL_SCALE(-0.8660254f), PP_SYMBOL_SCALE( 0.5000000f)},
220 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
221 {PP_SYMBOL_SCALE(-0.8660254f), PP_SYMBOL_SCALE(-0.5000000f)},
222 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
223 {PP_SYMBOL_SCALE( 0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
224 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
225 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
226 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
227 {PP_SYMBOL_SCALE( 0.0000000f), PP_SYMBOL_SCALE( 1.0000000f)},
228 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
229 {PP_SYMBOL_SCALE(-0.0000000f), PP_SYMBOL_SCALE(-1.0000000f)},
230 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
231 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE(-0.8660254f)},
232 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE(-0.0000000f)},
233 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
234 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
235 {PP_SYMBOL_SCALE(-0.8660254f), PP_SYMBOL_SCALE( 0.5000000f)},
236 {PP_SYMBOL_SCALE( 0.5000000f), PP_SYMBOL_SCALE(-0.8660254f)},
237 {PP_SYMBOL_SCALE( 0.0000000f), PP_SYMBOL_SCALE( 1.0000000f)},
238 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
239 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
240 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE(-0.0000000f)},
241 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
242 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
243 {PP_SYMBOL_SCALE( 0.8660254f), PP_SYMBOL_SCALE(-0.5000000f)},
244 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
245 {PP_SYMBOL_SCALE( 0.8660254f), PP_SYMBOL_SCALE( 0.5000000f)},
246 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
247 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE(-0.8660254f)},
248 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
249 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE(-0.0000000f)},
250 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
251 {PP_SYMBOL_SCALE(-0.0000000f), PP_SYMBOL_SCALE(-1.0000000f)},
252 {PP_SYMBOL_SCALE(-1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
253 {PP_SYMBOL_SCALE( 0.0000000f), PP_SYMBOL_SCALE( 1.0000000f)},
254 {PP_SYMBOL_SCALE(-0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
255 {PP_SYMBOL_SCALE( 0.5000000f), PP_SYMBOL_SCALE( 0.8660254f)},
256 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE(-0.0000000f)},
257 {PP_SYMBOL_SCALE( 0.5000000f), PP_SYMBOL_SCALE(-0.8660254f)},
258 {PP_SYMBOL_SCALE( 1.0000000f), PP_SYMBOL_SCALE( 0.0000000f)},
259 {PP_SYMBOL_SCALE( 0.8660254f), PP_SYMBOL_SCALE(-0.5000000f)},
260 {PP_SYMBOL_SCALE( 0.5000000f), PP_SYMBOL_SCALE(-0.8660254f)},
261 {PP_SYMBOL_SCALE(-0.0000000f), PP_SYMBOL_SCALE(-1.0000000f)}
267#define PPH_SYMBOLS (8*PPH_REPEATS)
269#if defined(SPANDSP_USE_FIXED_POINTx)
272static const complexf_t pph_symbols[PPH_SYMBOLS] =
275 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
276 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
277 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
278 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
279 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
280 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
281 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
282 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
283 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
284 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
285 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
286 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
287 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
288 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
289 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
290 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
291 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
292 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
293 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
294 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
295 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
296 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
297 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
298 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
299 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
300 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
301 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
302 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
303 {PP_SYMBOL_SCALE( 0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
304 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},
305 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE( 0.7071068f)},
306 {PP_SYMBOL_SCALE(-0.7071068f), PP_SYMBOL_SCALE(-0.7071068f)},