1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
|
const SWB_OFFSET_48K_LONG: [usize; 49+1] = [
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 48, 56, 64, 72, 80,
88, 96, 108, 120, 132, 144, 160, 176,
196, 216, 240, 264, 292, 320, 352, 384,
416, 448, 480, 512, 544, 576, 608, 640,
672, 704, 736, 768, 800, 832, 864, 896,
928, 1024
];
const SWB_OFFSET_48K_SHORT: [usize; 14+1] = [
0, 4, 8, 12, 16, 20, 28, 36, 44, 56, 68, 80, 96, 112, 128
];
const SWB_OFFSET_32K_LONG: [usize; 51+1] = [
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 48, 56, 64, 72, 80,
88, 96, 108, 120, 132, 144, 160, 176,
196, 216, 240, 264, 292, 320, 352, 384,
416, 448, 480, 512, 544, 576, 608, 640,
672, 704, 736, 768, 800, 832, 864, 896,
928, 960, 992, 1024
];
const SWB_OFFSET_8K_LONG: [usize; 40+1] = [
0, 12, 24, 36, 48, 60, 72, 84,
96, 108, 120, 132, 144, 156, 172, 188,
204, 220, 236, 252, 268, 288, 308, 328,
348, 372, 396, 420, 448, 476, 508, 544,
580, 620, 664, 712, 764, 820, 880, 944,
1024
];
const SWB_OFFSET_8K_SHORT: [usize; 15+1] = [
0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 60, 72, 88, 108, 128
];
const SWB_OFFSET_16K_LONG: [usize; 43+1] = [
0, 8, 16, 24, 32, 40, 48, 56,
64, 72, 80, 88, 100, 112, 124, 136,
148, 160, 172, 184, 196, 212, 228, 244,
260, 280, 300, 320, 344, 368, 396, 424,
456, 492, 532, 572, 616, 664, 716, 772,
832, 896, 960, 1024
];
const SWB_OFFSET_16K_SHORT: [usize; 15+1] = [
0, 4, 8, 12, 16, 20, 24, 28, 32, 40, 48, 60, 72, 88, 108, 128
];
const SWB_OFFSET_24K_LONG: [usize; 47+1] = [
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 52, 60, 68, 76,
84, 92, 100, 108, 116, 124, 136, 148,
160, 172, 188, 204, 220, 240, 260, 284,
308, 336, 364, 396, 432, 468, 508, 552,
600, 652, 704, 768, 832, 896, 960, 1024
];
const SWB_OFFSET_24K_SHORT: [usize; 15+1] = [
0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 64, 76, 92, 108, 128
];
const SWB_OFFSET_64K_LONG: [usize; 47+1] = [
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 100, 112, 124, 140, 156,
172, 192, 216, 240, 268, 304, 344, 384,
424, 464, 504, 544, 584, 624, 664, 704,
744, 784, 824, 864, 904, 944, 984, 1024
];
const SWB_OFFSET_64K_SHORT: [usize; 12+1] = [
0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
];
const SWB_OFFSET_96K_LONG: [usize; 41+1] = [
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 96, 108, 120, 132, 144,
156, 172, 188, 212, 240, 276, 320, 384,
448, 512, 576, 640, 704, 768, 832, 896,
960, 1024
];
#[derive(Clone,Copy)]
pub struct GASubbandInfo {
pub min_srate: u32,
pub long_bands: &'static [usize],
pub short_bands: &'static [usize],
}
impl GASubbandInfo {
pub fn find(srate: u32) -> GASubbandInfo {
for sbi in AAC_SUBBAND_INFO.iter() {
if srate >= sbi.min_srate {
return *sbi;
}
}
unreachable!("")
}
pub fn find_idx(srate: u32) -> usize {
for (i, sbi) in AAC_SUBBAND_INFO.iter().enumerate() {
if srate >= sbi.min_srate {
return i;
}
}
unreachable!("")
}
}
pub const AAC_SUBBAND_INFO: [GASubbandInfo; 12] = [
GASubbandInfo { min_srate: 92017, long_bands: &SWB_OFFSET_96K_LONG, short_bands: &SWB_OFFSET_64K_SHORT }, //96K
GASubbandInfo { min_srate: 75132, long_bands: &SWB_OFFSET_96K_LONG, short_bands: &SWB_OFFSET_64K_SHORT }, //88.2K
GASubbandInfo { min_srate: 55426, long_bands: &SWB_OFFSET_64K_LONG, short_bands: &SWB_OFFSET_64K_SHORT }, //64K
GASubbandInfo { min_srate: 46009, long_bands: &SWB_OFFSET_48K_LONG, short_bands: &SWB_OFFSET_48K_SHORT }, //48K
GASubbandInfo { min_srate: 37566, long_bands: &SWB_OFFSET_48K_LONG, short_bands: &SWB_OFFSET_48K_SHORT }, //44.1K
GASubbandInfo { min_srate: 27713, long_bands: &SWB_OFFSET_32K_LONG, short_bands: &SWB_OFFSET_48K_SHORT }, //32K
GASubbandInfo { min_srate: 23004, long_bands: &SWB_OFFSET_24K_LONG, short_bands: &SWB_OFFSET_24K_SHORT }, //24K
GASubbandInfo { min_srate: 18783, long_bands: &SWB_OFFSET_24K_LONG, short_bands: &SWB_OFFSET_24K_SHORT }, //22.05K
GASubbandInfo { min_srate: 13856, long_bands: &SWB_OFFSET_16K_LONG, short_bands: &SWB_OFFSET_16K_SHORT }, //16K
GASubbandInfo { min_srate: 11502, long_bands: &SWB_OFFSET_16K_LONG, short_bands: &SWB_OFFSET_16K_SHORT }, //12K
GASubbandInfo { min_srate: 9391, long_bands: &SWB_OFFSET_16K_LONG, short_bands: &SWB_OFFSET_16K_SHORT }, //11.025K
GASubbandInfo { min_srate: 0, long_bands: &SWB_OFFSET_8K_LONG, short_bands: &SWB_OFFSET_8K_SHORT }, //8K
];
pub const CBRT_TAB: [f32; 1024] = [
0.00000000000000000000, 1.00000000000000000000,
2.51984209978974632951, 4.32674871092222514692,
6.34960420787279789894, 8.54987973338348494669,
10.90272355699283795323, 13.39051827940672370829,
16.00000000000000000000, 18.72075440746713703075,
21.54434690031883721721, 24.46378099626247073259,
27.47314182127996482685, 30.56735094036984736325,
33.74199169845321980556, 36.99318111495705152207,
40.31747359663594127180, 43.71178704119000104200,
47.17334509576013892806, 50.69963132571695247884,
54.28835233189813142998, 57.93740770400353405834,
61.64486527441851665347, 65.40894053658600598618,
69.22797937475560235079, 73.10044345532165163727,
77.02489777859163322491, 81.00000000000000000000,
85.02449121251855054238, 89.09718794488957150508,
93.21697517861576600561, 97.38280022413318313809,
101.59366732596476638327, 105.84863288986227408821,
110.14680124343443505670, 114.48732085660064048617,
118.86938096020656061830, 123.29220851090027062178,
127.75506545836060596244, 132.25724627755250371381,
136.79807573413575914734, 141.37690685569194574577,
145.99311908523089104057, 150.64611659662913933484,
155.33532675434677209529, 160.06019870205282626894,
164.82020206673353832582, 169.61482576651865039408,
174.44357691188540725200, 179.30597979112560434389,
184.20157493201933028622, 189.12991823257566310337,
194.09058015449690863083, 199.08314497371681634792,
204.10721008296945269011, 209.16238534187653901861,
214.24829247050757933085, 219.36456448277788891331,
224.51084515641221133822, 229.68678853652237223860,
234.89205847013181572378, 240.12632816923256494511,
245.38927980018513969113, 250.68060409747268715691,
256.00000000000000000000, 261.34717430828876844414,
266.72184136106455787047, 272.12372272986054586756,
277.55254693037966879699, 283.00804914946197900670,
288.48997098659897735513, 293.99806020902258074661,
299.53207051947419248945, 305.09176133582992811722,
310.67689758182217143506, 316.28724948815596606218,
321.92259240337188045261, 327.58270661385544475227,
333.26737717243751234639, 338.97639373507036181617,
344.70955040510139547588, 350.46664558470023690369,
356.24748183302617593933, 362.05186573075151786620,
367.87960775058269831798, 373.73052213344523844239,
379.60442677002092443080, 385.50114308734617184858,
391.42049594019953172189, 397.36231350702384937148,
403.32642719014482378002, 409.31267152006274646544,
415.32088406360812690827, 421.35090533576482825936,
427.40257871497632601129, 433.47575036176183911002,
439.57026914047943723453, 445.68598654408286118715,
451.82275662172776382183, 457.98043590909143751160,
464.15888336127788923421, 470.35796028818739866912,
476.57753029223648782021, 482.81745920832057938659,
489.07761504591755781262, 495.35786793323600251610,
501.65809006331706535811, 507.97815564200383854506,
514.31794083769662981941, 520.67732373281684917378,
527.05618427690623677486, 533.45440424129194197023,
539.87186717525151688967, 546.30845836361522948115,
552.76406478574624458604, 559.23857507584218167368,
565.73187948450434582522, 572.24386984152355579202,
578.77443951983397081167, 585.32348340058865499255,
591.89089783931282434796, 598.47658063309280506205,
605.08043098876069996084, 611.70234949203662112128,
618.34223807759210601741, 625.00000000000000000000,
631.67553980553766357232, 638.36876330481185599386,
645.07957754617506035597, 651.80789078990435598324,
658.55361248311521501881, 665.31665323538380544696,
672.09692479505252760063, 678.89434002619459701705,
685.70881288621451907474, 692.54025840406228068201,
699.38859265904001667978, 706.25373276018079478853,
713.13559682618000593854, 720.03410396586064910582,
726.94917425915456366424, 733.88072873858238939593,
740.82868937121572754752, 747.79297904110563613885,
754.77352153216222284228, 761.77024151147069871214,
768.78306451302982865267, 775.81191692189926159948,
782.85672595874274425816, 789.91741966475472119892,
796.99392688695829953156, 804.08617726386301105625,
811.19410121147123967046, 818.31762990962259694715,
825.45669528866592656295, 832.61123001644899795861,
839.78116748561631393306, 846.96644180120580445741,
854.16698776853551318295, 861.38274088137170167004,
868.61363731037010287198, 875.85961389178234827331,
883.12060811641987421145, 890.39655811886788240221,
897.68740266694218788475, 904.99308115138203573017,
912.31353357577220569881, 919.64870054668795194525,
926.99852326405654493458, 934.36294351172939189390,
941.74190364825891581901, 949.13534659787456579093,
956.54321584165251919905, 963.96545540887381510030,
971.40200986856583079545, 978.85282432122217951383,
986.31784439069626646659, 993.79701621626389429314,
1001.29028644485045643113, 1008.79760222341839923538,
1016.31891119151077035601, 1023.85416147394680285920,
1031.40330167366561163045, 1038.96628086471420034155,
1046.54304858537609578013, 1054.13355483143703939331,
1061.73775004958427555737, 1069.35558513093608150558,
1076.98701140469828584568, 1084.63198063194462037109,
1092.29044499951784480280, 1099.96235711404867558273,
1107.64766999608963760287, 1115.34633707436104324401,
1123.05831218010638496227, 1130.78354954155450739684,
1138.52200377848600103792, 1146.27362989690133392041,
1154.03838328378830932881, 1161.81621970198650622225,
1169.60709528514642619770, 1177.41096653278113548740,
1185.22779030540825227308, 1193.05752381978019055519,
1200.90012464420063014857, 1208.75555069392523822539,
1216.62376022664472328393, 1224.50471183804835456776,
1232.39836445746613159991, 1240.30467734358783752798,
1248.22361008025725843679, 1256.15512257233989682593,
1264.09917504166255217108, 1272.05572802302318588953,
1280.02474236026952900065, 1288.00617920244493252267,
1296.00000000000000000000, 1304.00616650106857938578,
1312.02464074780672969490, 1320.05538507279331269587,
1328.09836209549089589253, 1336.15353471876568627698,
1344.22086612546524725007, 1352.30031977505278348508,
1360.39185940029680869324, 1368.49544900401504159392,
1376.61105285587140485715, 1384.73863548922502932755,
1392.87816169803019348869, 1401.02959653378615546822,
1409.19290530253585926207, 1417.36805356191252347223,
1425.55500711823314408286, 1433.75373202363796717790,
1441.96419457327500999135, 1450.18636130252873140401,
1458.42019898429197439581, 1466.66567462628032426218,
1474.92275546838804685322, 1483.19140898008479051460,
1491.47160285785225609146, 1499.76330502266005625343,
1508.06648361748000563721, 1516.38110700483809947476,
1524.70714376440345704507, 1533.04456269061352195578,
1541.39333279033482841517, 1549.75342328055865850746,
1558.12480358613093022677, 1566.50744333751567235576,
1574.90131236859145593904, 1583.30638071448016673656,
1591.72261860940751701829, 1600.14999648459470852119,
1608.58848496618067173372, 1617.03805487317431896934,
1625.49867721543626211788, 1633.97032319168945711235,
1642.45296418755824970353, 1650.94657177363530877346,
1659.45111770357594371603, 1667.96657391221931470762,
1676.49291251373605427623, 1685.03010579980182968210,
1693.57812623779638539637, 1702.13694646902761503054,
1710.70653930698022150790, 1719.28687773558853417906,
1727.87793490753306001649, 1736.47968414256035553342,
1745.09209892582581461053, 1753.71515290625897572481,
1762.34881989495096090911, 1770.99307386356366605273,
1779.64788894276033072739, 1788.31323942065712335581,
1796.98909974129538437048, 1805.67544450313417848685,
1814.37224845756281313162, 1823.07948650743298813106,
1831.79713370561024778071, 1840.52516525354441361073,
1849.26355649985868223639, 1858.01228293895707941129,
1866.77132020964996733055, 1875.54064409379730829778,
1884.32023051496939389886, 1893.11005553712475456384,
1901.91009536330496989490, 1910.72032633434610589043,
1919.54072492760651020272, 1928.37126775571070221481,
1937.21193156530909970921, 1946.06269323585332867860,
1954.92352977838686823377, 1963.79441833435078658320,
1972.67533617440432995075, 1981.56626069726012933804,
1990.46716942853379578240, 1999.37804001960767870357,
2008.29885024650856563799, 2017.22957800879910723013,
2026.17020132848275375266, 2035.12069834892199446178,
2044.08104733376969540137, 2053.05122666591333334706,
2062.03121484643192958368, 2071.02099049356548902559,
2080.02053234169675459475, 2089.02981924034509042325,
2098.04883015317231039884, 2107.07754415700027205791,
2116.11594044084005944439, 2125.16399830493258112277,
2134.22169715980041368706, 2143.28901652531072254494,
2152.36593602974909707389, 2161.45243540890413759114,
2170.54849450516263667159, 2179.65409326661519891827,
2188.76921174617214635986, 2197.89383010068955948111,
2207.02792859010530656136, 2216.17148757658491620189,
2225.32448752367715099525, 2234.48690899547914244191,
2243.65873265581094990134, 2252.83993926739940822900,
2262.03050969107113193485, 2271.23042488495454521456,
2280.43966590369080978218, 2289.65821389765352475883,
2298.88605011217707485783, 2308.12315588679350497977,
2317.36951265447780206959, 2326.62510194090146635951,
2335.88990536369425665173, 2345.16390463171399625936,
2354.44708154432432710568, 2363.73941799068030339571,
2373.04089594902171590868, 2382.35149748597404119111,
2391.67120475585691100925, 2401.00000000000000000000,
2410.33786554606622936004, 2419.68478380738218880719,
2429.04073728227567767649, 2438.40570855342027001293,
2447.77968028718680898823, 2457.16263523300173722970,
2466.55455622271217223446, 2475.95542616995763639656,
2485.36522806954835350253, 2494.78394499685002421155,
2504.21156010717499516846, 2513.64805663517973736423,
2523.09341789426855039372, 2532.54762727600341175530,
2542.01066824951988970990, 2551.48252436094904179178,
2560.96317923284522030583, 2570.45261656361970836095,
2579.95082012698011153459, 2589.45777377137543011521,
2598.97346141944673962837, 2608.49786706748340700482,
2618.03097478488477244764, 2627.57276871362722634970,
2637.12323306773661321603, 2646.68235213276589484101,
2656.25011026527800629933, 2665.82649189233383886000,
2675.41148151098528600189, 2685.00506368777328803208,
2694.60722305823081375417, 2704.21794432639071681693,
2713.83721226429840630831, 2723.46501171152927180431,
2733.10132757471080422102, 2742.74614482704935401302,
2752.39944850786146976073, 2762.06122372210976129745,
2771.73145563994323122640, 2781.41012949624202083838,
2791.09723059016651603505, 2800.79274428471076089283,
2810.49665600626012615697, 2820.20895124415318114955,
2829.92961555024771902502, 2839.65863453849088445739,
2849.39599388449335539114, 2859.14167932510752976443,
2868.89567665800966950546, 2878.65797174128595490861,
2888.42855049302240274501, 2898.20739889089860213409,
2907.99450297178522342112, 2917.78984883134525549784,
2927.59342262363892738373, 2937.40521056073227132648,
2947.22519891230928461227, 2957.05337400528764764422,
2966.88972222343795795776, 2976.73423000700643820062,
2986.58688385234107848682, 2996.44767031152117328537,
3006.31657599199021347845, 3016.19358755619209563972,
3026.07869172121060962696, 3035.97187525841216786546,
3045.87312499309173830491, 3055.78242780412194573689,
3065.69977062360530431151, 3075.62514043652954696498,
3085.55852428042601551033, 3095.49990924503107792656,
3105.44928247195053809670, 3115.40663115432700493820,
3125.37194253651018711372, 3135.34520391373008166446,
3145.32640263177302305956, 3155.31552608666056211642,
3165.31256172433114230614, 3175.31749704032454349396,
3185.33031957946906157026, 3195.35101693557139501636,
3205.37957675110920726017, 3215.41598671692633695265,
3225.46023457193062612391, 3235.51230810279433813198,
3245.57219514365713714379, 3255.63988357583160145749,
3265.71536132751124304541, 3275.79861637348100614534,
3285.88963673483021850807, 3295.98841047866796875294,
3306.09492571784088369122, 3316.20917061065327974332,
3326.33113336058966400132, 3336.46080221603955851080,
3346.59816547002462430149, 3356.74321145992806000841,
3366.89592856722625133717, 3377.05630521722264744393,
3387.22432987878384105568, 3397.39999106407782850466,
3407.58327732831442777872, 3417.77417726948783081903,
3427.97267952812126929741, 3438.17877278701376998757,
3448.39244577098897963983, 3458.61368724664603711446,
3468.84248602211247151468, 3479.07883094679910570283,
3489.32271091115694452744, 3499.57411484643602694966,
3509.83303172444622261685, 3520.09945055731995207868,
3530.37336039727681180980, 3540.65475033639008443415,
3550.94360950635511419560, 3561.23992707825953026111,
3571.54369226235529746609, 3581.85489430783257756550,
3592.17352250259538137946, 3602.49956617303899469964,
3612.83301468382916011676, 3623.17385743768299671973,
3633.52208387515164043012, 3643.87768347440458818515,
3654.24064575101572849320, 3664.61096025775104210727,
3674.98861658435795582168, 3685.37360435735633314170,
3695.76591323983108607973, 3706.16553293122639147692,
3716.57245316714149657125, 3726.98666371912809803252,
3737.40815439448927900602, 3747.83691503607998890009,
3758.27293552210905158456, 3768.71620576594268574038,
3779.16671571590952406431, 3789.62445535510711613307,
3800.08941470120990058954, 3810.56158380627863273143,
3821.04095275657125316944, 3831.52751167235518402572,
3842.02125070772103908753, 3852.52216005039773354970,
3863.03022992156898112320, 3873.54545057569116485685,
3884.06781230031256788788, 3894.59730541589395251890,
3905.13392027563047362763, 3915.67764726527491511764,
3926.22847680296223506229, 3936.78639933903540953137,
3947.35140535587256080042, 3957.92348536771535935521,
3968.50262992049868683036, 3979.08882959168154890793,
3989.68207499007922574244, 4000.28235675569664914646,
4010.88966555956299447478, 4021.50399210356747655837,
4032.12532712029633791399, 4042.75366137287101918383,
4053.38898565478749960955, 4064.03129078975679807556,
4074.68056763154662330038, 4085.33680706382416263069,
4096.00000000000000000000, 4106.67013738307315078222,
4117.34721018547720623528, 4128.03120940892757431586,
4138.72212608426980951926, 4149.41995127132902020943,
4160.12467605876034467899, 4170.83629156390048577850,
4181.55478893262029506899, 4192.28015933917839616801,
4203.01239398607583929801, 4213.75148410391177646350,
4224.49742095124014948910, 4235.25019581442738064250,
4246.00980000751105750209, 4256.77622487205960371218,
4267.54946177703292593209, 4278.32950211864402879055,
4289.11633732022158978791, 4299.90995883207348494138,
4310.71035813135125700262, 4321.51752672191551845492,
4332.33145613420228011936, 4343.15213792509019866919,
4353.97956367776873388570, 4364.81372500160720769251,
4375.65461353202475838577, 4386.50222093036118091515,
4397.35653888374864582436, 4408.21755910498429043578,
4419.08527333240367268619, 4429.95967332975508245848,
4440.84075088607470071224, 4451.72849781556260149140,
4462.62290595745958760268, 4473.52396717592485378736,
4484.43167335991447074703, 4495.34601642306068195203,
4506.26698830355200656809, 4517.19458096401414299031,
4528.12878639139166406679, 4539.06959659683049913613,
4550.01700361556119502535, 4560.97099950678295016481,
4571.93157635354841514175, 4582.89872626264925288657,
4593.87244136450245283440, 4604.85271381303739213234,
4615.83953578558363764099, 4626.83289948275948335408,
4637.83279712836121605897, 4648.83922096925310379868,
4659.85216327525810113911, 4670.87161633904926523501,
4681.89757247604187653725, 4692.93002402428625872167,
4703.96896334436129199791, 4715.01438281926861376317,
4726.06627485432750178902, 4737.12463187707043306490,
4748.18944633713931411373, 4759.26071070618237639862,
4770.33841747775173168417, 4781.42255916720158215385,
4792.51312831158707983646, 4803.61011746956382960024,
4814.71351922128803175051, 4825.82332616831725755390,
4836.93953093351185357207, 4848.06212616093696991768,
4859.19110451576520574858, 4870.32645868417987021484,
4881.46818137327884988080, 4892.61626531097908148277,
4903.77070324592162282226, 4914.93148794737731830133,
4926.09861220515305304894, 4937.27206882949859286685,
4948.45185065101400370761, 4959.63795052055764637908,
4970.83036130915474296638, 4982.02907590790650920278,
4993.23408722789984897689, 5004.44538820011760647470,
5015.66297177534937157352, 5026.88683092410283414352,
5038.11695863651568266957, 5049.35334792226804374128,
5060.59599181049545700030, 5071.84488334970238307574,
5083.10001560767623794548, 5094.36138167140195238055,
5105.62897464697705021443, 5116.90278765952724278460,
5128.18281385312253464555, 5139.46904639069383739266,
5150.76147845395008724735, 5162.06010324329586226046,
5173.36491397774949620901, 5184.67590389486168473015,
5195.99306625063457946696, 5207.31639431944136777275,
5218.64588139394633349310, 5229.98152078502539476210,
5241.32330582168711604207, 5252.67122985099419082825,
5264.02528623798539017136, 5275.38546836559797512686,
5286.75176963459056894345, 5298.12418346346648492902,
5309.50270328839750768337, 5320.88732256314812363853,
5332.27803475900019749466, 5343.67483336467809167120,
5355.07771188627422464538, 5366.48666384717506608493,
5377.90168278798756453909, 5389.32276226646600480462,
5400.74989585743929171310, 5412.18307715273865739103,
5423.62229976112578906462, 5435.06755730822137274201,
5446.51884343643405268681, 5457.97615180488980016543,
5469.43947608936169134078, 5480.90880998220008944137,
5492.38414719226322928148, 5503.86548144484820056943,
5515.35280648162232767522, 5526.84611606055494206099,
5538.34540395584954594062, 5549.85066395787636263065,
5561.36188987310527215822, 5572.87907552403912848766,
5584.40221474914745648420, 5595.93130140280052425440,
5607.46632935520379040912, 5619.00729249233272160991,
5630.55418471586797863175, 5642.10699994313096796533,
5653.66573210701975733484, 5665.23037515594535039405,
5676.80092305376832011338, 5688.37736977973579808574,
5699.95970932841881497846, 5711.54793570964999330223,
5723.14204294846158631490, 5734.74202508502386342409,
5746.34787617458383784274, 5757.95959028740433508500,
5769.57716150870339937682, 5781.20058393859403575522,
5792.82985169202428586548, 5804.46495889871763400807,
5816.10589970311374244488, 5827.75266826430951326733,
5839.40525875600047331188, 5851.06366536642248232785,
5862.72788229829375934747, 5874.39790376875722747797,
5886.07372400932317303513, 5897.75533726581221821409,
5909.44273779829860414349, 5921.13591988105378255449,
5932.83487780249031468554, 5944.53960586510607315938,
5956.25009838542874748271, 5967.96634969396064926063,
5979.68835413512381508465, 5991.41610606720540610287,
6003.14959986230340175701, 6014.88882990627258469111,
6026.63379059867081659247, 6038.38447635270560190282,
6050.14088159518093714526, 6061.90300076644444515159,
6073.67082832033479083862, 6085.44435872412937778478,
6097.22358645849232292250, 6109.00850601742270810388,
6120.79911190820310563222, 6132.59539865134837750251,
6144.39736078055474512803, 6156.20499284264912773514,
6168.01828939753874964564, 6179.83724501816101087963,
6191.66185429043362385814, 6203.49211181320501021897,
6215.32801219820495899381, 6227.16955006999554278829,
6239.01672006592229121176, 6250.86951683606561894385,
6262.72793504319250755710, 6274.59196936270843845418,
6286.46161448260957694235, 6298.33686510343520349244,
6310.21771593822039276018, 6322.10416171244893688591,
6333.99619716400651305005, 6345.89381704313409249180,
6357.79701611238158988695, 6369.70578914656175197088,
6381.62013093270428235943, 6393.54003627001020304581,
6405.46549996980644951853, 6417.39651685550069817135,
6429.33308176253642558822, 6441.27518953834819653438,
6453.22283504231718055181, 6465.17601314572689473778,
6477.13471873171917212961, 6489.09894669525035361295,
6501.06869194304770142251, 6513.04394939356603447102,
6525.02471397694458232645, 6537.01098063496405738785,
6549.00274432100394351959, 6561.00000000000000000000,
6573.00274264840197907197, 6585.01096725413155631842,
6597.02466881654047148971, 6609.04384234636887939973,
6621.06848286570390962714, 6633.09858540793843229335,
6645.13414501773003047301, 6657.17515675096017665240,
6669.22161567469361224125, 6681.27351686713792941814,
6693.33085541760335312165, 6705.39362642646272231859,
6717.46182500511166973889, 6729.53544627592899810861,
6741.61448537223725215708, 6753.69893743826348483974,
6765.78879762910021658207, 6777.88406111066658705365,
6789.98472305966969690639, 6802.09077866356613942311,
6814.20222312052372075341, 6826.31905163938336666512,
6838.44125943962121618801, 6850.56884175131089945917,
6862.70179381508599938037, 6874.84011088210269634835,
6886.98378821400259399540, 6899.13282108287572501106,
6911.28720477122373691708, 6923.44693457192325563853,
6935.61200578818942583722, 6947.78241373353962741599,
6959.95815373175736693294, 6972.13922111685634302592,
6984.32561123304468356362, 6996.51731943468935607670,
7008.71434108628074710341, 7020.91667156239741249389,
7033.12430624767099576007, 7045.33724053675131321109,
7057.55546983427160692410, 7069.77898955481396265025,
7082.00779512287489161680, 7094.24188197283107686025,
7106.48124554890528130421, 7118.72588130513241758149,
7130.97578470532577893077, 7143.23095122304342902888,
7155.49137634155475034353, 7167.75705555380715104744,
7180.02798436239292783509, 7192.30415827951628499159,
7204.58557282696050807078, 7216.87222353605529190470,
7229.16410594764422115706, 7241.46121561205240328318,
7253.76354808905425274642, 7266.07109894784142525374,
7278.38386376699090206390, 7290.70183813443322186472,
7303.02501764742086110393, 7315.35339791249676095048,
7327.68697454546300019352, 7340.02574317134961247545,
7352.36969942438354907735, 7364.71883894795778397085,
7377.07315739460056168550, 7389.43265042594478740465,
7401.79731371269755702865, 7414.16714293460982776414,
7426.54213378044622775532, 7438.92228194795500484219,
7451.30758314383811142479, 7463.69803308372142754257,
7476.09362749212511916383, 7488.49436210243413217391,
7500.90023265686882001713, 7513.31123490645570638402,
7525.72736461099837871413, 7538.14861753904851599415,
7550.57498946787704637205, 7563.00647618344543624577,
7575.44307348037710802987, 7587.88477716192898884021,
7600.33158303996318558849, 7612.78348693491878936343,
7625.24048467578380513161, 7637.70257210006720890322,
7650.16974505377112961555, 7662.64199939136315583508,
7675.11933097574876712015, 7687.60173567824388692928,
7700.08920937854756073745, 7712.58174796471475346778,
7725.07934733312927027112, 7737.58200338847679579618,
7750.08971204371805550856, 7762.60246922006209438555,
7775.12027084693967473241, 7787.64311286197679203067,
7800.17099121096830812588, 7812.70390184785169990017,
7825.24184073468092493210, 7837.78480384160040191734,
7850.33278714681910501999, 7862.88578663658477368105,
7875.44379830515823408240, 7888.00681815478783417799,
7900.57484219568399051786, 7913.14786644599384617545,
7925.72588693177604026621, 7938.30889968697558637233,
7950.89690075339886199671, 7963.48988618068870553391,
7976.08785202629962245361, 7988.69079435547309920497,
8001.29870924121302363592, 8013.91159276426121269163,
8026.52944101307304565823, 8039.15225008379320278156,
8051.78001608023150890370, 8064.41273511383888132599,
8077.05040330368338082659, 8089.69301677642636665882,
8102.34057166629875317403, 8114.99306411507736889548,
8127.65049027206141672979, 8140.31284629404903582077,
8152.98012834531396217282, 8165.65233259758229072790,
8178.32945523000933527156, 8191.01149242915658802209,
8203.69844038896877663000, 8216.39029531075101944113,
8229.08705340314607703717, 8241.78871088211170136849,
8254.49526397089807995722, 8267.20670890002537611481,
8279.92304190726136400070, 8292.64425923759915859953,
8305.37035714323503855602, 8318.10133188354636412492,
8330.83717972506958670621, 8343.57789694147835174732,
8356.32347981356169273434, 8369.07392462920231766098,
8381.82922768335498620538, 8394.58938527802497683936,
8407.35439372224664477349, 8420.12424933206206896317,
8432.89894843049978849116, 8445.67848734755362729685,
8458.46286242016160747911, 8471.25206999218494970727,
8484.04610641438716120590, 8496.84496804441321059084,
8509.64865124676878864997, 8522.45715239279965516631,
8535.27046786067107144753, 8548.08859403534731718578,
8560.91152730857129187036, 8573.73926407884420113728,
8586.57180075140532568189, 8599.40913373821187349859,
8612.25125945791891603130, 8625.09817433585940440776,
8637.94987480402427015764, 8650.80635730104260524297,
8663.66761827216192428881, 8676.53365416922850688004,
8689.40446145066782060646, 8702.28003658146502360539,
8715.16037603314554565620, 8728.04547628375574998272,
8740.93533381784367170779, 8753.82994512643983591489,
8766.72930670703815266216, 8779.63341506357688956440,
8792.54226670641972103486, 8805.45585815233685463950,
8818.37418592448623295485, 8831.29724655239481182245,
8844.22503657193991329768, 8857.15755252533065409682,
8870.09479096108944853748, 8883.03674843403358526677,
8895.98342150525687870682, 8908.93480674211139299288,
8921.89090071818923967331, 8934.85170001330444790407,
8947.81720121347490669911, 8960.78740091090438026442,
8973.76229570396459291488, 8986.74188219717738752686,
8999.72615700119695318995, 9012.71511673279212446349,
9025.70875801482875019123, 9038.70707747625213191330,
9051.71007175206953312281, 9064.71773748333275594355,
9077.73007131712078715054, 9090.74706990652251368607,
9103.76872991061950484766, 9116.79504799446886251108,
9129.82602082908613942191, 9142.86164509142832424162,
9155.90191746437689268222, 9168.94683463672092627827,
9181.99639330314029606730, 9195.05059016418891276019,
9208.10942192627804188897, 9221.17288530165968454069,
9234.24097700841002200150, 9247.31369377041292633080,
9260.39103231734353299664, 9273.47298938465187946356,
9286.55956171354660560232, 9299.65074605097871845192,
9312.74653914962541915552, 9325.84693776787399248864,
9338.95193866980575913278, 9352.06153862518008973572,
9365.17573440941847989094, 9378.29452280358868760422,
9391.41790059438893098935, 9404.54586457413214701816,
9417.67841154073031065777, 9430.81553829767881457275,
9443.95724165404090730863, 9457.10351842443219324286,
9470.25436542900518957756, 9483.40977949343394413155,
9496.56975744889871041871, 9509.73429613207068207016,
9522.90339238509678525100, 9536.07704305558452818162,
9549.25524499658690982059, 9562.43799506658738376092,
9575.62529012948488100320, 9588.81712705457888830451,
9602.01350271655458365615, 9615.21441399546802737649,
9628.41985777673141016949, 9641.62983095109835478100,
9654.84433041464927614229, 9668.06335306877679352549,
9681.28689582017119948074, 9694.51495558080598280444,
9707.74752926792340594895, 9720.98461380402013630368,
9734.22620611683293173133, 9747.47230313932437868574,
9760.72290180966868520666, 9773.97799907123752523169,
9787.23759187258593795101, 9800.50167716743827644733,
9813.77025191467421224699, 9827.04331307831478939152,
9840.32085762750853119418, 9853.60288253651759901763,
9866.88938478470400149335, 9880.18036135651585503519,
9893.47580924147369628929, 9906.77572543415684308519,
9920.08010693418980803143, 9933.38895074622876047662,
9946.70225387994803934974, 9960.02001335002671561073,
9973.34222617613520310298, 9986.66888938292192045504,
10000.00000000000000000000, 10013.33555506193404666240,
10026.67555160822694520477, 10040.01998668330671538322,
10053.36885733651341520795, 10066.72216062208609227387,
10080.07989359914978294520, 10093.44205333170255827926,
10106.80863688860261716795, 10120.17964134355542735065,
10133.55506377510091249443, 10146.93490126660068500663,
10160.31915090622532695087, 10173.70780978694171573050,
10187.10087500650039581928, 10200.49834366742299677666,
10213.90021287698969591272, 10227.30647974722672687969,
10240.71714139489393278014, 10254.13219494147236458541,
10267.55163751315192418952, 10280.97546624081905065854,
10294.40367826004445332739, 10307.83627071107088560176
];
|