1#![allow(clippy::excessive_precision)]
2
3use jgenesis_common::audio::fir_resampler::LpfCoefficients;
4
5pub const LPF_TAPS: usize = 299;

generated by uv run remez-lpf.py -fs 2097152 -n 299 -fp 2000 Cutoff frequency around 11000 Hz, stopband begins at 24000 Hz, 60 dB attenuation in stopband

9pub const LPF_COEFFICIENTS: &LpfCoefficients<LPF_TAPS> = &LpfCoefficients([
10    -0.000542017702979681,
11    -0.00012324900140755517,
12    -0.00013693852221119667,
13    -0.00015144614607874005,
14    -0.00016670813564644018,
15    -0.00018276225301970254,
16    -0.00019953641782354293,
17    -0.0002170746756689258,
18    -0.00023530312662955688,
19    -0.00025426085072714614,
20    -0.0002738825666868655,
21    -0.000294228188949382,
22    -0.00031523025487028916,
23    -0.00033694250192362643,
24    -0.00035927510694184263,
25    -0.00038225660208575303,
26    -0.00040574952570244556,
27    -0.0004297547599795764,
28    -0.0004541189040616433,
29    -0.0004788780020246539,
30    -0.0005039148378960004,
31    -0.0005293268768047006,
32    -0.0005549952069629919,
33    -0.0005809757579399389,
34    -0.0006069631056747582,
35    -0.000632878022679555,
36    -0.0006583943624602174,
37    -0.0006838559184059419,
38    -0.0007093328631876209,
39    -0.0007350811381767329,
40    -0.0007588200777961091,
41    -0.0007832690669985747,
42    -0.0008067290333460748,
43    -0.000829318526596656,
44    -0.0008512092261792635,
45    -0.000871986891288314,
46    -0.0008917822439071981,
47    -0.0009102866519266756,
48    -0.0009275344644050966,
49    -0.000943261934822268,
50    -0.000957452590717145,
51    -0.0009698495337293533,
52    -0.0009804195184227214,
53    -0.0009889427270581793,
54    -0.0009953896207162952,
55    -0.0009995510197170867,
56    -0.0010013769878307595,
57    -0.0010006378629202253,
58    -0.000997249974076748,
59    -0.0009909802186672447,
60    -0.0009817868248977592,
61    -0.0009695029734751899,
62    -0.0009541068900266478,
63    -0.0009353466198853113,
64    -0.0009131081316747676,
65    -0.0008871578010769332,
66    -0.0008575757363752601,
67    -0.000824202725224998,
68    -0.0007868926457982072,
69    -0.0007451935066729421,
70    -0.0006996778292501002,
71    -0.0006496767927473354,
72    -0.0005952841986068475,
73    -0.0005364690337753642,
74    -0.00047298667112226106,
75    -0.00040489054169585986,
76    -0.0003319894935291644,
77    -0.00025430467410914335,
78    -0.00017171932681278766,
79    -8.423170418734929e-05,
80    8.26321937748217e-06,
81    0.00010576565083420494,
82    0.000208353850613688,
83    0.00031601730837036536,
84    0.00042879852556483025,
85    0.0005466544820671007,
86    0.0006696114587118304,
87    0.0007976434354404755,
88    0.0009307804289165027,
89    0.0010689546937942597,
90    0.001212129517271176,
91    0.001360211062548152,
92    0.0015132020872660624,
93    0.0016710287601577082,
94    0.0018336257914070696,
95    0.0020008055764613487,
96    0.002172516460831946,
97    0.0023486952960701454,
98    0.0025292483289786672,
99    0.0027138482716072025,
100    0.002902592633249353,
101    0.0030951946876928726,
102    0.0032914812587761955,
103    0.003491363922854213,
104    0.0036945641787656234,
105    0.003900993029360773,
106    0.0041103720354499365,
107    0.004322542121874745,
108    0.004537249977975477,
109    0.004754303174564428,
110    0.004973431846659376,
111    0.005194433848178536,
112    0.005417046722098796,
113    0.005641037068978875,
114    0.005866108066557182,
115    0.00609201496560416,
116    0.00631848229374332,
117    0.006545265387448299,
118    0.006772051925532718,
119    0.006998555587869114,
120    0.007224472763758691,
121    0.0074495586979838714,
122    0.007673513534129556,
123    0.00789603369889125,
124    0.008116780092916796,
125    0.008335498052499241,
126    0.008551911303743023,
127    0.008765686194371944,
128    0.008976500349135438,
129    0.009184148909586205,
130    0.009388264319241146,
131    0.00958857434207032,
132    0.009784816626844826,
133    0.00997666464887413,
134    0.01016390346053274,
135    0.01034619588441402,
136    0.010523320900610048,
137    0.010695002737714695,
138    0.010860991534455133,
139    0.011021019964393431,
140    0.011174874126741154,
141    0.011322321796947001,
142    0.011463137788189555,
143    0.011597087721683108,
144    0.011723980066773373,
145    0.011843633722956763,
146    0.011955874128032838,
147    0.012060508406856067,
148    0.012157364743403901,
149    0.012246301536306651,
150    0.012327202508446933,
151    0.012399939842030375,
152    0.012464378950642256,
153    0.012520418895094837,
154    0.012567991158877174,
155    0.012607034750702992,
156    0.012637438588993521,
157    0.012659198301503877,
158    0.012672272771579741,
159    0.012676630802974825,
160    0.012672272771579741,
161    0.012659198301503877,
162    0.012637438588993521,
163    0.012607034750702992,
164    0.012567991158877174,
165    0.012520418895094837,
166    0.012464378950642256,
167    0.012399939842030375,
168    0.012327202508446933,
169    0.012246301536306651,
170    0.012157364743403901,
171    0.012060508406856067,
172    0.011955874128032838,
173    0.011843633722956763,
174    0.011723980066773373,
175    0.011597087721683108,
176    0.011463137788189555,
177    0.011322321796947001,
178    0.011174874126741154,
179    0.011021019964393431,
180    0.010860991534455133,
181    0.010695002737714695,
182    0.010523320900610048,
183    0.01034619588441402,
184    0.01016390346053274,
185    0.00997666464887413,
186    0.009784816626844826,
187    0.00958857434207032,
188    0.009388264319241146,
189    0.009184148909586205,
190    0.008976500349135438,
191    0.008765686194371944,
192    0.008551911303743023,
193    0.008335498052499241,
194    0.008116780092916796,
195    0.00789603369889125,
196    0.007673513534129556,
197    0.0074495586979838714,
198    0.007224472763758691,
199    0.006998555587869114,
200    0.006772051925532718,
201    0.006545265387448299,
202    0.00631848229374332,
203    0.00609201496560416,
204    0.005866108066557182,
205    0.005641037068978875,
206    0.005417046722098796,
207    0.005194433848178536,
208    0.004973431846659376,
209    0.004754303174564428,
210    0.004537249977975477,
211    0.004322542121874745,
212    0.0041103720354499365,
213    0.003900993029360773,
214    0.0036945641787656234,
215    0.003491363922854213,
216    0.0032914812587761955,
217    0.0030951946876928726,
218    0.002902592633249353,
219    0.0027138482716072025,
220    0.0025292483289786672,
221    0.0023486952960701454,
222    0.002172516460831946,
223    0.0020008055764613487,
224    0.0018336257914070696,
225    0.0016710287601577082,
226    0.0015132020872660624,
227    0.001360211062548152,
228    0.001212129517271176,
229    0.0010689546937942597,
230    0.0009307804289165027,
231    0.0007976434354404755,
232    0.0006696114587118304,
233    0.0005466544820671007,
234    0.00042879852556483025,
235    0.00031601730837036536,
236    0.000208353850613688,
237    0.00010576565083420494,
238    8.26321937748217e-06,
239    -8.423170418734929e-05,
240    -0.00017171932681278766,
241    -0.00025430467410914335,
242    -0.0003319894935291644,
243    -0.00040489054169585986,
244    -0.00047298667112226106,
245    -0.0005364690337753642,
246    -0.0005952841986068475,
247    -0.0006496767927473354,
248    -0.0006996778292501002,
249    -0.0007451935066729421,
250    -0.0007868926457982072,
251    -0.000824202725224998,
252    -0.0008575757363752601,
253    -0.0008871578010769332,
254    -0.0009131081316747676,
255    -0.0009353466198853113,
256    -0.0009541068900266478,
257    -0.0009695029734751899,
258    -0.0009817868248977592,
259    -0.0009909802186672447,
260    -0.000997249974076748,
261    -0.0010006378629202253,
262    -0.0010013769878307595,
263    -0.0009995510197170867,
264    -0.0009953896207162952,
265    -0.0009889427270581793,
266    -0.0009804195184227214,
267    -0.0009698495337293533,
268    -0.000957452590717145,
269    -0.000943261934822268,
270    -0.0009275344644050966,
271    -0.0009102866519266756,
272    -0.0008917822439071981,
273    -0.000871986891288314,
274    -0.0008512092261792635,
275    -0.000829318526596656,
276    -0.0008067290333460748,
277    -0.0007832690669985747,
278    -0.0007588200777961091,
279    -0.0007350811381767329,
280    -0.0007093328631876209,
281    -0.0006838559184059419,
282    -0.0006583943624602174,
283    -0.000632878022679555,
284    -0.0006069631056747582,
285    -0.0005809757579399389,
286    -0.0005549952069629919,
287    -0.0005293268768047006,
288    -0.0005039148378960004,
289    -0.0004788780020246539,
290    -0.0004541189040616433,
291    -0.0004297547599795764,
292    -0.00040574952570244556,
293    -0.00038225660208575303,
294    -0.00035927510694184263,
295    -0.00033694250192362643,
296    -0.00031523025487028916,
297    -0.000294228188949382,
298    -0.0002738825666868655,
299    -0.00025426085072714614,
300    -0.00023530312662955688,
301    -0.0002170746756689258,
302    -0.00019953641782354293,
303    -0.00018276225301970254,
304    -0.00016670813564644018,
305    -0.00015144614607874005,
306    -0.00013693852221119667,
307    -0.00012324900140755517,
308    -0.000542017702979681,
309]);