Removed ResamplerFilterDifference

It takes 1 extra multiply to calculate the correct interpolation,
but I think the improvement in cache locality (and binary size) outweighs that.
main
Brick 2023-08-23 19:09:03 +01:00 committed by Ryan C. Gordon
parent 9f7a22fa45
commit fba6e1e3d3
3 changed files with 20 additions and 538 deletions

View File

@ -50,6 +50,7 @@ gcc -o genfilter build-scripts/gen_audio_resampler_filter.c -lm && ./genfilter >
#define RESAMPLER_BITS_PER_ZERO_CROSSING ((RESAMPLER_BITS_PER_SAMPLE / 2) + 1)
#define RESAMPLER_SAMPLES_PER_ZERO_CROSSING (1 << RESAMPLER_BITS_PER_ZERO_CROSSING)
#define RESAMPLER_FILTER_SIZE (RESAMPLER_SAMPLES_PER_ZERO_CROSSING * RESAMPLER_ZERO_CROSSINGS)
#define RESAMPLER_TABLE_SIZE (RESAMPLER_FILTER_SIZE + RESAMPLER_ZERO_CROSSINGS)
/* This is a "modified" bessel function, so you can't use POSIX j0() */
static double
@ -75,25 +76,21 @@ bessel(const double x)
/* build kaiser table with cardinal sine applied to it, and array of differences between elements. */
static void
kaiser_and_sinc(double *table, double *diffs, const int tablelen, const double beta)
kaiser_and_sinc(double *table, const int tablelen, const double beta)
{
const double bessel_beta = bessel(beta);
int i;
table[0] = 1.0;
diffs[tablelen - 1] = 0.0;
for (i = 1; i < tablelen; i++) {
const double kaiser = bessel(beta * sqrt(1.0 - pow((double)i / (double)(tablelen - 1), 2.0))) / bessel_beta;
const double kaiser = bessel(beta * sqrt(1.0 - pow((double)i / (double)(tablelen), 2.0))) / bessel_beta;
const double x = (((double) i) / ((double) RESAMPLER_SAMPLES_PER_ZERO_CROSSING)) * M_PI;
table[i] = kaiser * (sin(x) / x);
diffs[i - 1] = table[i] - table[i - 1];
}
}
static double ResamplerFilter[RESAMPLER_FILTER_SIZE + 1];
static double ResamplerFilterDifference[RESAMPLER_FILTER_SIZE + 1];
static double ResamplerFilter[RESAMPLER_FILTER_SIZE];
static void
PrepareResampleFilter(void)
@ -101,7 +98,7 @@ PrepareResampleFilter(void)
/* if dB > 50, beta=(0.1102 * (dB - 8.7)), according to Matlab. */
const double dB = 80.0;
const double beta = 0.1102 * (dB - 8.7);
kaiser_and_sinc(ResamplerFilter, ResamplerFilterDifference, RESAMPLER_FILTER_SIZE + 1, beta);
kaiser_and_sinc(ResamplerFilter, RESAMPLER_FILTER_SIZE, beta);
}
int main(void)
@ -139,20 +136,18 @@ int main(void)
"#define RESAMPLER_BITS_PER_ZERO_CROSSING ((RESAMPLER_BITS_PER_SAMPLE / 2) + 1)\n"
"#define RESAMPLER_SAMPLES_PER_ZERO_CROSSING (1 << RESAMPLER_BITS_PER_ZERO_CROSSING)\n"
"#define RESAMPLER_FILTER_SIZE (RESAMPLER_SAMPLES_PER_ZERO_CROSSING * RESAMPLER_ZERO_CROSSINGS)\n"
"#define RESAMPLER_TABLE_SIZE (RESAMPLER_FILTER_SIZE + RESAMPLER_ZERO_CROSSINGS)\n"
"\n", RESAMPLER_ZERO_CROSSINGS, RESAMPLER_BITS_PER_SAMPLE
);
printf("static const float ResamplerFilter[RESAMPLER_FILTER_SIZE] = {");
for (i = 0; i < RESAMPLER_FILTER_SIZE; i++) {
j = (i % RESAMPLER_ZERO_CROSSINGS) * RESAMPLER_SAMPLES_PER_ZERO_CROSSING + (i / RESAMPLER_ZERO_CROSSINGS);
printf("%s%12.9ff,", (i % RESAMPLER_ZERO_CROSSINGS) ? "" : "\n ", ResamplerFilter[j]);
}
printf("\n};\n\n");
printf("static const float ResamplerFilterDifference[RESAMPLER_FILTER_SIZE] = {");
for (i = 0; i < RESAMPLER_FILTER_SIZE; i++) {
j = (i % RESAMPLER_ZERO_CROSSINGS) * RESAMPLER_SAMPLES_PER_ZERO_CROSSING + (i / RESAMPLER_ZERO_CROSSINGS);
printf("%s%12.9ff,", (i % RESAMPLER_ZERO_CROSSINGS) ? "" : "\n ", ResamplerFilterDifference[j]);
printf("static const float ResamplerFilter[RESAMPLER_TABLE_SIZE] = {");
for (i = 0; i < RESAMPLER_TABLE_SIZE; i++) {
double v = 0.0;
if (i < RESAMPLER_FILTER_SIZE) {
j = (i % RESAMPLER_ZERO_CROSSINGS) * RESAMPLER_SAMPLES_PER_ZERO_CROSSING + (i / RESAMPLER_ZERO_CROSSINGS);
v = ResamplerFilter[j];
}
printf("%s%12.9ff,", (i % RESAMPLER_ZERO_CROSSINGS) ? "" : "\n ", v);
}
printf("\n};\n\n");

View File

@ -26,8 +26,9 @@
#define RESAMPLER_BITS_PER_ZERO_CROSSING ((RESAMPLER_BITS_PER_SAMPLE / 2) + 1)
#define RESAMPLER_SAMPLES_PER_ZERO_CROSSING (1 << RESAMPLER_BITS_PER_ZERO_CROSSING)
#define RESAMPLER_FILTER_SIZE (RESAMPLER_SAMPLES_PER_ZERO_CROSSING * RESAMPLER_ZERO_CROSSINGS)
#define RESAMPLER_TABLE_SIZE (RESAMPLER_FILTER_SIZE + RESAMPLER_ZERO_CROSSINGS)
static const float ResamplerFilter[RESAMPLER_FILTER_SIZE] = {
static const float ResamplerFilter[RESAMPLER_TABLE_SIZE] = {
1.000000000f, 0.000000000f,-0.000000000f, 0.000000000f,-0.000000000f,
0.999993165f,-0.001679888f, 0.000529080f,-0.000151513f, 0.000027455f,
0.999972661f,-0.003351212f, 0.001055794f,-0.000302183f, 0.000054683f,
@ -540,520 +541,6 @@ static const float ResamplerFilter[RESAMPLER_FILTER_SIZE] = {
0.005090874f,-0.001601309f, 0.000459559f,-0.000083727f, 0.000003250f,
0.003385399f,-0.001065208f, 0.000305539f,-0.000055591f, 0.000002140f,
0.001688435f,-0.000531434f, 0.000152351f,-0.000027682f, 0.000001057f,
};
static const float ResamplerFilterDifference[RESAMPLER_FILTER_SIZE] = {
-0.000006835f,-0.001679888f, 0.000529080f,-0.000151513f, 0.000027455f,
-0.000020504f,-0.001671324f, 0.000526714f,-0.000150671f, 0.000027228f,
-0.000034173f,-0.001662743f, 0.000524335f,-0.000149826f, 0.000027001f,
-0.000047841f,-0.001654144f, 0.000521943f,-0.000148978f, 0.000026775f,
-0.000061508f,-0.001645530f, 0.000519539f,-0.000148128f, 0.000026548f,
-0.000075173f,-0.001636899f, 0.000517123f,-0.000147274f, 0.000026321f,
-0.000088836f,-0.001628252f, 0.000514695f,-0.000146418f, 0.000026095f,
-0.000102496f,-0.001619589f, 0.000512255f,-0.000145560f, 0.000025868f,
-0.000116154f,-0.001610911f, 0.000509804f,-0.000144699f, 0.000025642f,
-0.000129809f,-0.001602218f, 0.000507340f,-0.000143835f, 0.000025415f,
-0.000143460f,-0.001593510f, 0.000504866f,-0.000142969f, 0.000025189f,
-0.000157107f,-0.001584788f, 0.000502380f,-0.000142101f, 0.000024963f,
-0.000170750f,-0.001576051f, 0.000499883f,-0.000141230f, 0.000024738f,
-0.000184388f,-0.001567301f, 0.000497375f,-0.000140357f, 0.000024512f,
-0.000198021f,-0.001558537f, 0.000494856f,-0.000139481f, 0.000024287f,
-0.000211649f,-0.001549759f, 0.000492327f,-0.000138604f, 0.000024061f,
-0.000225271f,-0.001540969f, 0.000489787f,-0.000137724f, 0.000023836f,
-0.000238887f,-0.001532166f, 0.000487237f,-0.000136842f, 0.000023612f,
-0.000252497f,-0.001523351f, 0.000484677f,-0.000135959f, 0.000023387f,
-0.000266100f,-0.001514523f, 0.000482106f,-0.000135073f, 0.000023163f,
-0.000279695f,-0.001505684f, 0.000479526f,-0.000134185f, 0.000022939f,
-0.000293283f,-0.001496833f, 0.000476936f,-0.000133296f, 0.000022715f,
-0.000306863f,-0.001487971f, 0.000474337f,-0.000132404f, 0.000022492f,
-0.000320435f,-0.001479098f, 0.000471728f,-0.000131511f, 0.000022269f,
-0.000333998f,-0.001470214f, 0.000469110f,-0.000130617f, 0.000022046f,
-0.000347551f,-0.001461320f, 0.000466483f,-0.000129720f, 0.000021824f,
-0.000361096f,-0.001452416f, 0.000463846f,-0.000128822f, 0.000021601f,
-0.000374631f,-0.001443503f, 0.000461201f,-0.000127923f, 0.000021380f,
-0.000388155f,-0.001434579f, 0.000458548f,-0.000127022f, 0.000021158f,
-0.000401669f,-0.001425647f, 0.000455885f,-0.000126119f, 0.000020937f,
-0.000415172f,-0.001416706f, 0.000453215f,-0.000125216f, 0.000020717f,
-0.000428664f,-0.001407756f, 0.000450536f,-0.000124311f, 0.000020496f,
-0.000442144f,-0.001398798f, 0.000447850f,-0.000123404f, 0.000020277f,
-0.000455612f,-0.001389831f, 0.000445155f,-0.000122497f, 0.000020057f,
-0.000469068f,-0.001380858f, 0.000442453f,-0.000121588f, 0.000019838f,
-0.000482511f,-0.001371876f, 0.000439743f,-0.000120678f, 0.000019620f,
-0.000495941f,-0.001362888f, 0.000437025f,-0.000119767f, 0.000019402f,
-0.000509358f,-0.001353893f, 0.000434301f,-0.000118855f, 0.000019184f,
-0.000522761f,-0.001344891f, 0.000431569f,-0.000117942f, 0.000018967f,
-0.000536149f,-0.001335883f, 0.000428830f,-0.000117029f, 0.000018750f,
-0.000549523f,-0.001326869f, 0.000426084f,-0.000116114f, 0.000018534f,
-0.000562883f,-0.001317849f, 0.000423332f,-0.000115199f, 0.000018318f,
-0.000576227f,-0.001308824f, 0.000420573f,-0.000114282f, 0.000018103f,
-0.000589555f,-0.001299794f, 0.000417808f,-0.000113365f, 0.000017889f,
-0.000602868f,-0.001290759f, 0.000415036f,-0.000112448f, 0.000017675f,
-0.000616164f,-0.001281720f, 0.000412258f,-0.000111530f, 0.000017461f,
-0.000629443f,-0.001272676f, 0.000409475f,-0.000110611f, 0.000017248f,
-0.000642705f,-0.001263628f, 0.000406685f,-0.000109692f, 0.000017036f,
-0.000655950f,-0.001254577f, 0.000403890f,-0.000108772f, 0.000016824f,
-0.000669178f,-0.001245523f, 0.000401090f,-0.000107852f, 0.000016612f,
-0.000682387f,-0.001236465f, 0.000398284f,-0.000106932f, 0.000016402f,
-0.000695577f,-0.001227404f, 0.000395473f,-0.000106011f, 0.000016192f,
-0.000708749f,-0.001218341f, 0.000392656f,-0.000105090f, 0.000015982f,
-0.000721902f,-0.001209276f, 0.000389835f,-0.000104169f, 0.000015773f,
-0.000735035f,-0.001200209f, 0.000387009f,-0.000103247f, 0.000015565f,
-0.000748148f,-0.001191140f, 0.000384179f,-0.000102326f, 0.000015358f,
-0.000761241f,-0.001182070f, 0.000381343f,-0.000101404f, 0.000015151f,
-0.000774314f,-0.001172999f, 0.000378504f,-0.000100483f, 0.000014944f,
-0.000787365f,-0.001163927f, 0.000375660f,-0.000099561f, 0.000014739f,
-0.000800396f,-0.001154854f, 0.000372812f,-0.000098640f, 0.000014534f,
-0.000813404f,-0.001145781f, 0.000369961f,-0.000097718f, 0.000014330f,
-0.000826391f,-0.001136708f, 0.000367105f,-0.000096797f, 0.000014126f,
-0.000839355f,-0.001127635f, 0.000364246f,-0.000095876f, 0.000013923f,
-0.000852297f,-0.001118564f, 0.000361384f,-0.000094956f, 0.000013721f,
-0.000865216f,-0.001109492f, 0.000358518f,-0.000094035f, 0.000013520f,
-0.000878111f,-0.001100422f, 0.000355648f,-0.000093115f, 0.000013319f,
-0.000890983f,-0.001091354f, 0.000352776f,-0.000092195f, 0.000013119f,
-0.000903830f,-0.001082287f, 0.000349901f,-0.000091276f, 0.000012920f,
-0.000916653f,-0.001073222f, 0.000347023f,-0.000090358f, 0.000012721f,
-0.000929452f,-0.001064159f, 0.000344142f,-0.000089439f, 0.000012524f,
-0.000942225f,-0.001055099f, 0.000341259f,-0.000088522f, 0.000012327f,
-0.000954973f,-0.001046042f, 0.000338374f,-0.000087605f, 0.000012130f,
-0.000967695f,-0.001036988f, 0.000335486f,-0.000086688f, 0.000011935f,
-0.000980391f,-0.001027937f, 0.000332596f,-0.000085773f, 0.000011740f,
-0.000993061f,-0.001018890f, 0.000329704f,-0.000084858f, 0.000011546f,
-0.001005704f,-0.001009846f, 0.000326810f,-0.000083944f, 0.000011353f,
-0.001018320f,-0.001000807f, 0.000323915f,-0.000083030f, 0.000011161f,
-0.001030908f,-0.000991772f, 0.000321018f,-0.000082118f, 0.000010970f,
-0.001043469f,-0.000982742f, 0.000318119f,-0.000081206f, 0.000010779f,
-0.001056001f,-0.000973717f, 0.000315220f,-0.000080296f, 0.000010589f,
-0.001068505f,-0.000964697f, 0.000312319f,-0.000079386f, 0.000010400f,
-0.001080981f,-0.000955682f, 0.000309417f,-0.000078478f, 0.000010212f,
-0.001093427f,-0.000946674f, 0.000306514f,-0.000077570f, 0.000010025f,
-0.001105844f,-0.000937671f, 0.000303610f,-0.000076664f, 0.000009838f,
-0.001118231f,-0.000928674f, 0.000300706f,-0.000075759f, 0.000009653f,
-0.001130588f,-0.000919685f, 0.000297802f,-0.000074855f, 0.000009468f,
-0.001142915f,-0.000910702f, 0.000294897f,-0.000073952f, 0.000009284f,
-0.001155211f,-0.000901726f, 0.000291991f,-0.000073051f, 0.000009101f,
-0.001167476f,-0.000892757f, 0.000289086f,-0.000072151f, 0.000008919f,
-0.001179709f,-0.000883796f, 0.000286180f,-0.000071252f, 0.000008738f,
-0.001191911f,-0.000874843f, 0.000283275f,-0.000070355f, 0.000008557f,
-0.001204081f,-0.000865898f, 0.000280370f,-0.000069459f, 0.000008378f,
-0.001216218f,-0.000856961f, 0.000277466f,-0.000068565f, 0.000008199f,
-0.001228323f,-0.000848033f, 0.000274562f,-0.000067672f, 0.000008022f,
-0.001240395f,-0.000839114f, 0.000271658f,-0.000066781f, 0.000007845f,
-0.001252434f,-0.000830204f, 0.000268756f,-0.000065891f, 0.000007669f,
-0.001264439f,-0.000821304f, 0.000265854f,-0.000065003f, 0.000007494f,
-0.001276410f,-0.000812413f, 0.000262954f,-0.000064117f, 0.000007320f,
-0.001288347f,-0.000803532f, 0.000260054f,-0.000063232f, 0.000007147f,
-0.001300249f,-0.000794661f, 0.000257156f,-0.000062349f, 0.000006975f,
-0.001312117f,-0.000785800f, 0.000254260f,-0.000061468f, 0.000006804f,
-0.001323950f,-0.000776950f, 0.000251364f,-0.000060589f, 0.000006634f,
-0.001335747f,-0.000768112f, 0.000248471f,-0.000059711f, 0.000006464f,
-0.001347508f,-0.000759284f, 0.000245579f,-0.000058836f, 0.000006296f,
-0.001359233f,-0.000750467f, 0.000242689f,-0.000057962f, 0.000006129f,
-0.001370922f,-0.000741663f, 0.000239802f,-0.000057090f, 0.000005962f,
-0.001382574f,-0.000732870f, 0.000236916f,-0.000056221f, 0.000005797f,
-0.001394189f,-0.000724089f, 0.000234033f,-0.000055353f, 0.000005632f,
-0.001405767f,-0.000715321f, 0.000231152f,-0.000054488f, 0.000005469f,
-0.001417308f,-0.000706565f, 0.000228273f,-0.000053624f, 0.000005306f,
-0.001428810f,-0.000697823f, 0.000225397f,-0.000052763f, 0.000005145f,
-0.001440275f,-0.000689093f, 0.000222524f,-0.000051904f, 0.000004984f,
-0.001451701f,-0.000680376f, 0.000219654f,-0.000051047f, 0.000004825f,
-0.001463088f,-0.000671674f, 0.000216787f,-0.000050192f, 0.000004666f,
-0.001474436f,-0.000662985f, 0.000213923f,-0.000049339f, 0.000004509f,
-0.001485745f,-0.000654310f, 0.000211062f,-0.000048489f, 0.000004352f,
-0.001497014f,-0.000645649f, 0.000208204f,-0.000047641f, 0.000004196f,
-0.001508244f,-0.000637003f, 0.000205350f,-0.000046796f, 0.000004042f,
-0.001519433f,-0.000628372f, 0.000202499f,-0.000045953f, 0.000003888f,
-0.001530582f,-0.000619756f, 0.000199652f,-0.000045112f, 0.000003736f,
-0.001541690f,-0.000611154f, 0.000196809f,-0.000044274f, 0.000003584f,
-0.001552757f,-0.000602569f, 0.000193969f,-0.000043438f, 0.000003434f,
-0.001563782f,-0.000593999f, 0.000191134f,-0.000042605f, 0.000003284f,
-0.001574766f,-0.000585445f, 0.000188303f,-0.000041774f, 0.000003136f,
-0.001585708f,-0.000576907f, 0.000185476f,-0.000040946f, 0.000002988f,
-0.001596608f,-0.000568385f, 0.000182653f,-0.000040120f, 0.000002842f,
-0.001607466f,-0.000559880f, 0.000179835f,-0.000039297f, 0.000002696f,
-0.001618281f,-0.000551392f, 0.000177021f,-0.000038477f, 0.000002552f,
-0.001629053f,-0.000542921f, 0.000174212f,-0.000037660f, 0.000002408f,
-0.001639782f,-0.000534467f, 0.000171408f,-0.000036845f, 0.000002266f,
-0.001650467f,-0.000526031f, 0.000168608f,-0.000036033f, 0.000002125f,
-0.001661108f,-0.000517612f, 0.000165814f,-0.000035223f, 0.000001985f,
-0.001671706f,-0.000509211f, 0.000163025f,-0.000034417f, 0.000001845f,
-0.001682259f,-0.000500828f, 0.000160240f,-0.000033613f, 0.000001707f,
-0.001692767f,-0.000492464f, 0.000157461f,-0.000032813f, 0.000001570f,
-0.001703231f,-0.000484118f, 0.000154688f,-0.000032015f, 0.000001434f,
-0.001713650f,-0.000475791f, 0.000151920f,-0.000031220f, 0.000001299f,
-0.001724023f,-0.000467483f, 0.000149157f,-0.000030427f, 0.000001165f,
-0.001734351f,-0.000459194f, 0.000146400f,-0.000029638f, 0.000001032f,
-0.001744632f,-0.000450925f, 0.000143649f,-0.000028852f, 0.000000900f,
-0.001754868f,-0.000442675f, 0.000140904f,-0.000028069f, 0.000000769f,
-0.001765057f,-0.000434445f, 0.000138165f,-0.000027289f, 0.000000639f,
-0.001775200f,-0.000426235f, 0.000135432f,-0.000026512f, 0.000000511f,
-0.001785296f,-0.000418045f, 0.000132705f,-0.000025738f, 0.000000383f,
-0.001795345f,-0.000409876f, 0.000129985f,-0.000024967f, 0.000000256f,
-0.001805346f,-0.000401727f, 0.000127270f,-0.000024200f, 0.000000131f,
-0.001815300f,-0.000393599f, 0.000124563f,-0.000023435f, 0.000000006f,
-0.001825206f,-0.000385493f, 0.000121861f,-0.000022674f,-0.000000117f,
-0.001835064f,-0.000377407f, 0.000119167f,-0.000021916f,-0.000000240f,
-0.001844874f,-0.000369343f, 0.000116479f,-0.000021161f,-0.000000361f,
-0.001854635f,-0.000361300f, 0.000113798f,-0.000020409f,-0.000000481f,
-0.001864347f,-0.000353280f, 0.000111124f,-0.000019660f,-0.000000601f,
-0.001874010f,-0.000345281f, 0.000108457f,-0.000018915f,-0.000000719f,
-0.001883624f,-0.000337305f, 0.000105797f,-0.000018174f,-0.000000836f,
-0.001893189f,-0.000329351f, 0.000103145f,-0.000017435f,-0.000000952f,
-0.001902703f,-0.000321419f, 0.000100499f,-0.000016700f,-0.000001067f,
-0.001912168f,-0.000313511f, 0.000097861f,-0.000015968f,-0.000001181f,
-0.001921583f,-0.000305625f, 0.000095231f,-0.000015240f,-0.000001294f,
-0.001930947f,-0.000297763f, 0.000092608f,-0.000014515f,-0.000001406f,
-0.001940261f,-0.000289924f, 0.000089993f,-0.000013793f,-0.000001517f,
-0.001949524f,-0.000282108f, 0.000087385f,-0.000013075f,-0.000001626f,
-0.001958735f,-0.000274316f, 0.000084785f,-0.000012361f,-0.000001735f,
-0.001967896f,-0.000266548f, 0.000082194f,-0.000011650f,-0.000001843f,
-0.001977005f,-0.000258804f, 0.000079610f,-0.000010942f,-0.000001949f,
-0.001986062f,-0.000251085f, 0.000077034f,-0.000010238f,-0.000002055f,
-0.001995068f,-0.000243389f, 0.000074466f,-0.000009538f,-0.000002159f,
-0.002004021f,-0.000235719f, 0.000071907f,-0.000008841f,-0.000002262f,
-0.002012922f,-0.000228073f, 0.000069356f,-0.000008147f,-0.000002365f,
-0.002021771f,-0.000220452f, 0.000066813f,-0.000007458f,-0.000002466f,
-0.002030566f,-0.000212856f, 0.000064279f,-0.000006772f,-0.000002566f,
-0.002039309f,-0.000205286f, 0.000061753f,-0.000006089f,-0.000002666f,
-0.002047999f,-0.000197741f, 0.000059236f,-0.000005410f,-0.000002764f,
-0.002056635f,-0.000190222f, 0.000056728f,-0.000004735f,-0.000002861f,
-0.002065218f,-0.000182728f, 0.000054229f,-0.000004064f,-0.000002957f,
-0.002073747f,-0.000175261f, 0.000051738f,-0.000003396f,-0.000003052f,
-0.002082222f,-0.000167819f, 0.000049256f,-0.000002732f,-0.000003146f,
-0.002090643f,-0.000160404f, 0.000046784f,-0.000002071f,-0.000003239f,
-0.002099010f,-0.000153016f, 0.000044320f,-0.000001415f,-0.000003331f,
-0.002107322f,-0.000145654f, 0.000041866f,-0.000000762f,-0.000003421f,
-0.002115579f,-0.000138319f, 0.000039420f,-0.000000113f,-0.000003511f,
-0.002123782f,-0.000131010f, 0.000036985f, 0.000000532f,-0.000003600f,
-0.002131930f,-0.000123729f, 0.000034558f, 0.000001174f,-0.000003688f,
-0.002140022f,-0.000116475f, 0.000032141f, 0.000001812f,-0.000003774f,
-0.002148059f,-0.000109249f, 0.000029733f, 0.000002445f,-0.000003860f,
-0.002156041f,-0.000102050f, 0.000027335f, 0.000003075f,-0.000003945f,
-0.002163966f,-0.000094879f, 0.000024947f, 0.000003702f,-0.000004028f,
-0.002171836f,-0.000087735f, 0.000022568f, 0.000004324f,-0.000004111f,
-0.002179650f,-0.000080620f, 0.000020200f, 0.000004942f,-0.000004193f,
-0.002187407f,-0.000073533f, 0.000017841f, 0.000005557f,-0.000004273f,
-0.002195108f,-0.000066474f, 0.000015492f, 0.000006168f,-0.000004353f,
-0.002202752f,-0.000059444f, 0.000013153f, 0.000006774f,-0.000004431f,
-0.002210340f,-0.000052442f, 0.000010824f, 0.000007377f,-0.000004509f,
-0.002217870f,-0.000045469f, 0.000008505f, 0.000007976f,-0.000004585f,
-0.002225344f,-0.000038524f, 0.000006196f, 0.000008571f,-0.000004661f,
-0.002232760f,-0.000031609f, 0.000003897f, 0.000009162f,-0.000004735f,
-0.002240119f,-0.000024723f, 0.000001609f, 0.000009749f,-0.000004809f,
-0.002247421f,-0.000017866f,-0.000000669f, 0.000010332f,-0.000004881f,
-0.002254664f,-0.000011039f,-0.000002936f, 0.000010911f,-0.000004953f,
-0.002261850f,-0.000004241f,-0.000005193f, 0.000011486f,-0.000005023f,
-0.002268978f, 0.000002527f,-0.000007440f, 0.000012057f,-0.000005093f,
-0.002276047f, 0.000009265f,-0.000009676f, 0.000012625f,-0.000005161f,
-0.002283059f, 0.000015974f,-0.000011901f, 0.000013188f,-0.000005229f,
-0.002290012f, 0.000022652f,-0.000014115f, 0.000013747f,-0.000005295f,
-0.002296906f, 0.000029300f,-0.000016319f, 0.000014302f,-0.000005361f,
-0.002303742f, 0.000035918f,-0.000018512f, 0.000014853f,-0.000005425f,
-0.002310518f, 0.000042505f,-0.000020694f, 0.000015400f,-0.000005489f,
-0.002317236f, 0.000049062f,-0.000022865f, 0.000015943f,-0.000005551f,
-0.002323895f, 0.000055588f,-0.000025026f, 0.000016482f,-0.000005613f,
-0.002330494f, 0.000062083f,-0.000027175f, 0.000017016f,-0.000005674f,
-0.002337034f, 0.000068548f,-0.000029313f, 0.000017547f,-0.000005734f,
-0.002343515f, 0.000074981f,-0.000031440f, 0.000018074f,-0.000005792f,
-0.002349936f, 0.000081383f,-0.000033556f, 0.000018596f,-0.000005850f,
-0.002356297f, 0.000087754f,-0.000035660f, 0.000019115f,-0.000005907f,
-0.002362598f, 0.000094094f,-0.000037754f, 0.000019629f,-0.000005963f,
-0.002368839f, 0.000100402f,-0.000039836f, 0.000020140f,-0.000006018f,
-0.002375020f, 0.000106678f,-0.000041907f, 0.000020646f,-0.000006072f,
-0.002381141f, 0.000112923f,-0.000043966f, 0.000021148f,-0.000006125f,
-0.002387202f, 0.000119136f,-0.000046014f, 0.000021646f,-0.000006177f,
-0.002393202f, 0.000125317f,-0.000048050f, 0.000022140f,-0.000006228f,
-0.002399142f, 0.000131466f,-0.000050075f, 0.000022630f,-0.000006279f,
-0.002405021f, 0.000137583f,-0.000052088f, 0.000023115f,-0.000006328f,
-0.002410839f, 0.000143667f,-0.000054090f, 0.000023597f,-0.000006377f,
-0.002416596f, 0.000149720f,-0.000056080f, 0.000024074f,-0.000006424f,
-0.002422293f, 0.000155740f,-0.000058058f, 0.000024547f,-0.000006471f,
-0.002427928f, 0.000161727f,-0.000060024f, 0.000025017f,-0.000006517f,
-0.002433502f, 0.000167682f,-0.000061979f, 0.000025482f,-0.000006561f,
-0.002439015f, 0.000173604f,-0.000063922f, 0.000025943f,-0.000006605f,
-0.002444467f, 0.000179493f,-0.000065853f, 0.000026399f,-0.000006648f,
-0.002449857f, 0.000185350f,-0.000067772f, 0.000026852f,-0.000006690f,
-0.002455186f, 0.000191173f,-0.000069679f, 0.000027300f,-0.000006732f,
-0.002460453f, 0.000196963f,-0.000071575f, 0.000027745f,-0.000006772f,
-0.002465658f, 0.000202721f,-0.000073458f, 0.000028185f,-0.000006811f,
-0.002470801f, 0.000208445f,-0.000075329f, 0.000028621f,-0.000006850f,
-0.002475883f, 0.000214135f,-0.000077188f, 0.000029053f,-0.000006888f,
-0.002480903f, 0.000219792f,-0.000079035f, 0.000029481f,-0.000006925f,
-0.002485860f, 0.000225416f,-0.000080870f, 0.000029904f,-0.000006961f,
-0.002490756f, 0.000231006f,-0.000082693f, 0.000030324f,-0.000006996f,
-0.002495590f, 0.000236563f,-0.000084503f, 0.000030739f,-0.000007030f,
-0.002500361f, 0.000242086f,-0.000086301f, 0.000031150f,-0.000007064f,
-0.002505070f, 0.000247575f,-0.000088087f, 0.000031557f,-0.000007096f,
-0.002509716f, 0.000253030f,-0.000089861f, 0.000031960f,-0.000007128f,
-0.002514301f, 0.000258451f,-0.000091623f, 0.000032359f,-0.000007159f,
-0.002518822f, 0.000263839f,-0.000093372f, 0.000032754f,-0.000007189f,
-0.002523281f, 0.000269192f,-0.000095108f, 0.000033144f,-0.000007218f,
-0.002527678f, 0.000274511f,-0.000096833f, 0.000033531f,-0.000007247f,
-0.002532012f, 0.000279796f,-0.000098544f, 0.000033913f,-0.000007274f,
-0.002536283f, 0.000285046f,-0.000100244f, 0.000034291f,-0.000007301f,
-0.002540492f, 0.000290263f,-0.000101931f, 0.000034665f,-0.000007327f,
-0.002544637f, 0.000295444f,-0.000103605f, 0.000035035f,-0.000007352f,
-0.002548720f, 0.000300592f,-0.000105267f, 0.000035401f,-0.000007377f,
-0.002552740f, 0.000305705f,-0.000106917f, 0.000035763f,-0.000007400f,
-0.002556697f, 0.000310783f,-0.000108553f, 0.000036120f,-0.000007423f,
-0.002560591f, 0.000315827f,-0.000110178f, 0.000036474f,-0.000007445f,
-0.002564422f, 0.000320836f,-0.000111789f, 0.000036823f,-0.000007466f,
-0.002568189f, 0.000325810f,-0.000113388f, 0.000037169f,-0.000007487f,
-0.002571894f, 0.000330749f,-0.000114975f, 0.000037510f,-0.000007506f,
-0.002575536f, 0.000335654f,-0.000116549f, 0.000037847f,-0.000007525f,
-0.002579114f, 0.000340524f,-0.000118110f, 0.000038180f,-0.000007543f,
-0.002582629f, 0.000345359f,-0.000119658f, 0.000038509f,-0.000007561f,
-0.002586081f, 0.000350158f,-0.000121194f, 0.000038834f,-0.000007577f,
-0.002589470f, 0.000354923f,-0.000122717f, 0.000039155f,-0.000007593f,
-0.002592796f, 0.000359653f,-0.000124227f, 0.000039472f,-0.000007608f,
-0.002596058f, 0.000364347f,-0.000125725f, 0.000039784f,-0.000007623f,
-0.002599257f, 0.000369007f,-0.000127209f, 0.000040093f,-0.000007637f,
-0.002602393f, 0.000373631f,-0.000128681f, 0.000040398f,-0.000007649f,
-0.002605465f, 0.000378220f,-0.000130141f, 0.000040698f,-0.000007662f,
-0.002608474f, 0.000382774f,-0.000131587f, 0.000040995f,-0.000007673f,
-0.002611419f, 0.000387292f,-0.000133020f, 0.000041288f,-0.000007684f,
-0.002614301f, 0.000391775f,-0.000134441f, 0.000041576f,-0.000007694f,
-0.002617120f, 0.000396223f,-0.000135849f, 0.000041861f,-0.000007704f,
-0.002619876f, 0.000400636f,-0.000137244f, 0.000042141f,-0.000007712f,
-0.002622568f, 0.000405012f,-0.000138627f, 0.000042418f,-0.000007720f,
-0.002625197f, 0.000409354f,-0.000139996f, 0.000042690f,-0.000007728f,
-0.002627762f, 0.000413660f,-0.000141353f, 0.000042959f,-0.000007734f,
-0.002630264f, 0.000417930f,-0.000142696f, 0.000043224f,-0.000007740f,
-0.002632702f, 0.000422165f,-0.000144027f, 0.000043484f,-0.000007745f,
-0.002635078f, 0.000426365f,-0.000145345f, 0.000043741f,-0.000007750f,
-0.002637389f, 0.000430528f,-0.000146650f, 0.000043994f,-0.000007754f,
-0.002639638f, 0.000434657f,-0.000147942f, 0.000044243f,-0.000007757f,
-0.002641823f, 0.000438749f,-0.000149222f, 0.000044488f,-0.000007760f,
-0.002643945f, 0.000442806f,-0.000150488f, 0.000044729f,-0.000007762f,
-0.002646004f, 0.000446827f,-0.000151742f, 0.000044966f,-0.000007763f,
-0.002647999f, 0.000450813f,-0.000152982f, 0.000045199f,-0.000007764f,
-0.002649931f, 0.000454763f,-0.000154210f, 0.000045428f,-0.000007764f,
-0.002651800f, 0.000458677f,-0.000155425f, 0.000045654f,-0.000007764f,
-0.002653606f, 0.000462556f,-0.000156627f, 0.000045876f,-0.000007763f,
-0.002655348f, 0.000466399f,-0.000157816f, 0.000046093f,-0.000007761f,
-0.002657027f, 0.000470206f,-0.000158992f, 0.000046307f,-0.000007758f,
-0.002658644f, 0.000473977f,-0.000160156f, 0.000046517f,-0.000007756f,
-0.002660197f, 0.000477713f,-0.000161306f, 0.000046724f,-0.000007752f,
-0.002661687f, 0.000481413f,-0.000162444f, 0.000046926f,-0.000007748f,
-0.002663114f, 0.000485077f,-0.000163569f, 0.000047125f,-0.000007743f,
-0.002664478f, 0.000488705f,-0.000164680f, 0.000047320f,-0.000007738f,
-0.002665779f, 0.000492298f,-0.000165780f, 0.000047511f,-0.000007732f,
-0.002667018f, 0.000495855f,-0.000166866f, 0.000047698f,-0.000007725f,
-0.002668193f, 0.000499377f,-0.000167939f, 0.000047882f,-0.000007718f,
-0.002669306f, 0.000502862f,-0.000169000f, 0.000048061f,-0.000007711f,
-0.002670356f, 0.000506312f,-0.000170047f, 0.000048237f,-0.000007703f,
-0.002671344f, 0.000509726f,-0.000171082f, 0.000048410f,-0.000007694f,
-0.002672268f, 0.000513105f,-0.000172104f, 0.000048578f,-0.000007685f,
-0.002673130f, 0.000516447f,-0.000173113f, 0.000048743f,-0.000007675f,
-0.002673930f, 0.000519754f,-0.000174110f, 0.000048905f,-0.000007665f,
-0.002674667f, 0.000523026f,-0.000175093f, 0.000049062f,-0.000007654f,
-0.002675342f, 0.000526262f,-0.000176064f, 0.000049216f,-0.000007642f,
-0.002675955f, 0.000529462f,-0.000177022f, 0.000049367f,-0.000007631f,
-0.002676505f, 0.000532626f,-0.000177968f, 0.000049513f,-0.000007618f,
-0.002676993f, 0.000535755f,-0.000178900f, 0.000049656f,-0.000007605f,
-0.002677419f, 0.000538848f,-0.000179820f, 0.000049796f,-0.000007592f,
-0.002677783f, 0.000541906f,-0.000180728f, 0.000049932f,-0.000007578f,
-0.002678085f, 0.000544928f,-0.000181622f, 0.000050064f,-0.000007564f,
-0.002678325f, 0.000547915f,-0.000182504f, 0.000050193f,-0.000007549f,
-0.002678503f, 0.000550866f,-0.000183373f, 0.000050318f,-0.000007533f,
-0.002678619f, 0.000553782f,-0.000184230f, 0.000050440f,-0.000007518f,
-0.002678674f, 0.000556662f,-0.000185074f, 0.000050558f,-0.000007501f,
-0.002678667f, 0.000559507f,-0.000185905f, 0.000050673f,-0.000007484f,
-0.002678599f, 0.000562316f,-0.000186724f, 0.000050784f,-0.000007467f,
-0.002678469f, 0.000565090f,-0.000187530f, 0.000050891f,-0.000007450f,
-0.002678278f, 0.000567829f,-0.000188324f, 0.000050996f,-0.000007431f,
-0.002678025f, 0.000570532f,-0.000189105f, 0.000051096f,-0.000007413f,
-0.002677712f, 0.000573200f,-0.000189873f, 0.000051194f,-0.000007394f,
-0.002677337f, 0.000575833f,-0.000190629f, 0.000051288f,-0.000007374f,
-0.002676902f, 0.000578431f,-0.000191373f, 0.000051378f,-0.000007355f,
-0.002676406f, 0.000580993f,-0.000192104f, 0.000051465f,-0.000007334f,
-0.002675848f, 0.000583521f,-0.000192823f, 0.000051549f,-0.000007314f,
-0.002675231f, 0.000586013f,-0.000193529f, 0.000051629f,-0.000007293f,
-0.002674552f, 0.000588471f,-0.000194223f, 0.000051706f,-0.000007271f,
-0.002673814f, 0.000590893f,-0.000194905f, 0.000051780f,-0.000007249f,
-0.002673015f, 0.000593280f,-0.000195574f, 0.000051850f,-0.000007227f,
-0.002672155f, 0.000595633f,-0.000196231f, 0.000051918f,-0.000007204f,
-0.002671236f, 0.000597950f,-0.000196876f, 0.000051981f,-0.000007181f,
-0.002670256f, 0.000600233f,-0.000197508f, 0.000052042f,-0.000007158f,
-0.002669217f, 0.000602481f,-0.000198128f, 0.000052099f,-0.000007134f,
-0.002668118f, 0.000604694f,-0.000198736f, 0.000052153f,-0.000007110f,
-0.002666959f, 0.000606873f,-0.000199332f, 0.000052204f,-0.000007085f,
-0.002665741f, 0.000609017f,-0.000199916f, 0.000052252f,-0.000007060f,
-0.002664463f, 0.000611126f,-0.000200487f, 0.000052296f,-0.000007035f,
-0.002663126f, 0.000613201f,-0.000201047f, 0.000052338f,-0.000007009f,
-0.002661730f, 0.000615242f,-0.000201594f, 0.000052376f,-0.000006983f,
-0.002660275f, 0.000617248f,-0.000202130f, 0.000052411f,-0.000006957f,
-0.002658761f, 0.000619219f,-0.000202653f, 0.000052443f,-0.000006930f,
-0.002657188f, 0.000621157f,-0.000203164f, 0.000052472f,-0.000006903f,
-0.002655556f, 0.000623060f,-0.000203664f, 0.000052498f,-0.000006876f,
-0.002653866f, 0.000624929f,-0.000204151f, 0.000052520f,-0.000006848f,
-0.002652118f, 0.000626764f,-0.000204627f, 0.000052540f,-0.000006820f,
-0.002650311f, 0.000628565f,-0.000205091f, 0.000052557f,-0.000006792f,
-0.002648446f, 0.000630332f,-0.000205543f, 0.000052570f,-0.000006764f,
-0.002646523f, 0.000632065f,-0.000205983f, 0.000052581f,-0.000006735f,
-0.002644543f, 0.000633764f,-0.000206411f, 0.000052589f,-0.000006706f,
-0.002642504f, 0.000635429f,-0.000206828f, 0.000052593f,-0.000006676f,
-0.002640408f, 0.000637061f,-0.000207233f, 0.000052595f,-0.000006647f,
-0.002638255f, 0.000638659f,-0.000207626f, 0.000052594f,-0.000006617f,
-0.002636045f, 0.000640224f,-0.000208008f, 0.000052590f,-0.000006586f,
-0.002633777f, 0.000641754f,-0.000208378f, 0.000052583f,-0.000006556f,
-0.002631453f, 0.000643252f,-0.000208737f, 0.000052573f,-0.000006525f,
-0.002629071f, 0.000644716f,-0.000209084f, 0.000052560f,-0.000006494f,
-0.002626634f, 0.000646147f,-0.000209419f, 0.000052545f,-0.000006463f,
-0.002624139f, 0.000647545f,-0.000209744f, 0.000052527f,-0.000006431f,
-0.002621589f, 0.000648909f,-0.000210056f, 0.000052505f,-0.000006400f,
-0.002618982f, 0.000650241f,-0.000210358f, 0.000052482f,-0.000006368f,
-0.002616319f, 0.000651539f,-0.000210648f, 0.000052455f,-0.000006335f,
-0.002613600f, 0.000652805f,-0.000210927f, 0.000052425f,-0.000006303f,
-0.002610826f, 0.000654038f,-0.000211194f, 0.000052393f,-0.000006270f,
-0.002607996f, 0.000655238f,-0.000211451f, 0.000052359f,-0.000006237f,
-0.002605111f, 0.000656406f,-0.000211696f, 0.000052321f,-0.000006204f,
-0.002602171f, 0.000657541f,-0.000211930f, 0.000052281f,-0.000006171f,
-0.002599176f, 0.000658643f,-0.000212153f, 0.000052238f,-0.000006137f,
-0.002596126f, 0.000659713f,-0.000212365f, 0.000052193f,-0.000006104f,
-0.002593021f, 0.000660751f,-0.000212566f, 0.000052144f,-0.000006070f,
-0.002589862f, 0.000661756f,-0.000212756f, 0.000052094f,-0.000006035f,
-0.002586648f, 0.000662730f,-0.000212935f, 0.000052041f,-0.000006001f,
-0.002583381f, 0.000663671f,-0.000213104f, 0.000051985f,-0.000005967f,
-0.002580059f, 0.000664581f,-0.000213261f, 0.000051926f,-0.000005932f,
-0.002576684f, 0.000665458f,-0.000213408f, 0.000051866f,-0.000005897f,
-0.002573255f, 0.000666304f,-0.000213544f, 0.000051802f,-0.000005862f,
-0.002569773f, 0.000667118f,-0.000213669f, 0.000051736f,-0.000005827f,
-0.002566238f, 0.000667901f,-0.000213783f, 0.000051668f,-0.000005792f,
-0.002562650f, 0.000668652f,-0.000213887f, 0.000051597f,-0.000005756f,
-0.002559009f, 0.000669372f,-0.000213980f, 0.000051524f,-0.000005721f,
-0.002555315f, 0.000670060f,-0.000214063f, 0.000051449f,-0.000005685f,
-0.002551569f, 0.000670717f,-0.000214136f, 0.000051371f,-0.000005649f,
-0.002547771f, 0.000671343f,-0.000214197f, 0.000051290f,-0.000005613f,
-0.002543920f, 0.000671938f,-0.000214249f, 0.000051208f,-0.000005577f,
-0.002540018f, 0.000672503f,-0.000214290f, 0.000051123f,-0.000005540f,
-0.002536065f, 0.000673036f,-0.000214321f, 0.000051036f,-0.000005504f,
-0.002532059f, 0.000673539f,-0.000214342f, 0.000050946f,-0.000005467f,
-0.002528003f, 0.000674011f,-0.000214352f, 0.000050854f,-0.000005431f,
-0.002523895f, 0.000674453f,-0.000214352f, 0.000050760f,-0.000005394f,
-0.002519737f, 0.000674864f,-0.000214342f, 0.000050664f,-0.000005357f,
-0.002515528f, 0.000675245f,-0.000214322f, 0.000050565f,-0.000005320f,
-0.002511269f, 0.000675596f,-0.000214292f, 0.000050465f,-0.000005283f,
-0.002506959f, 0.000675917f,-0.000214253f, 0.000050362f,-0.000005246f,
-0.002502600f, 0.000676208f,-0.000214203f, 0.000050257f,-0.000005208f,
-0.002498191f, 0.000676469f,-0.000214143f, 0.000050149f,-0.000005171f,
-0.002493732f, 0.000676700f,-0.000214074f, 0.000050040f,-0.000005134f,
-0.002489224f, 0.000676902f,-0.000213994f, 0.000049929f,-0.000005096f,
-0.002484666f, 0.000677074f,-0.000213905f, 0.000049815f,-0.000005059f,
-0.002480060f, 0.000677217f,-0.000213807f, 0.000049700f,-0.000005021f,
-0.002475405f, 0.000677330f,-0.000213698f, 0.000049582f,-0.000004983f,
-0.002470702f, 0.000677414f,-0.000213581f, 0.000049463f,-0.000004945f,
-0.002465950f, 0.000677470f,-0.000213453f, 0.000049341f,-0.000004908f,
-0.002461150f, 0.000677496f,-0.000213317f, 0.000049218f,-0.000004870f,
-0.002456302f, 0.000677494f,-0.000213170f, 0.000049092f,-0.000004832f,
-0.002451407f, 0.000677462f,-0.000213015f, 0.000048965f,-0.000004794f,
-0.002446465f, 0.000677403f,-0.000212850f, 0.000048835f,-0.000004756f,
-0.002441475f, 0.000677314f,-0.000212676f, 0.000048704f,-0.000004718f,
-0.002436438f, 0.000677198f,-0.000212492f, 0.000048571f,-0.000004680f,
-0.002431355f, 0.000677053f,-0.000212300f, 0.000048436f,-0.000004641f,
-0.002426225f, 0.000676880f,-0.000212098f, 0.000048299f,-0.000004603f,
-0.002421049f, 0.000676679f,-0.000211888f, 0.000048161f,-0.000004565f,
-0.002415827f, 0.000676450f,-0.000211668f, 0.000048020f,-0.000004527f,
-0.002410559f, 0.000676193f,-0.000211439f, 0.000047878f,-0.000004489f,
-0.002405246f, 0.000675909f,-0.000211202f, 0.000047734f,-0.000004450f,
-0.002399888f, 0.000675597f,-0.000210956f, 0.000047589f,-0.000004412f,
-0.002394484f, 0.000675258f,-0.000210701f, 0.000047441f,-0.000004374f,
-0.002389035f, 0.000674892f,-0.000210437f, 0.000047292f,-0.000004336f,
-0.002383542f, 0.000674498f,-0.000210164f, 0.000047141f,-0.000004297f,
-0.002378005f, 0.000674078f,-0.000209883f, 0.000046989f,-0.000004259f,
-0.002372423f, 0.000673630f,-0.000209594f, 0.000046835f,-0.000004221f,
-0.002366798f, 0.000673156f,-0.000209295f, 0.000046679f,-0.000004183f,
-0.002361129f, 0.000672656f,-0.000208989f, 0.000046522f,-0.000004144f,
-0.002355417f, 0.000672128f,-0.000208674f, 0.000046363f,-0.000004106f,
-0.002349661f, 0.000671575f,-0.000208350f, 0.000046202f,-0.000004068f,
-0.002343863f, 0.000670995f,-0.000208019f, 0.000046040f,-0.000004030f,
-0.002338022f, 0.000670389f,-0.000207679f, 0.000045877f,-0.000003992f,
-0.002332139f, 0.000669757f,-0.000207331f, 0.000045712f,-0.000003954f,
-0.002326213f, 0.000669099f,-0.000206975f, 0.000045545f,-0.000003916f,
-0.002320246f, 0.000668416f,-0.000206610f, 0.000045377f,-0.000003878f,
-0.002314237f, 0.000667707f,-0.000206238f, 0.000045208f,-0.000003840f,
-0.002308187f, 0.000666972f,-0.000205858f, 0.000045037f,-0.000003802f,
-0.002302095f, 0.000666213f,-0.000205470f, 0.000044864f,-0.000003764f,
-0.002295963f, 0.000665428f,-0.000205074f, 0.000044691f,-0.000003726f,
-0.002289790f, 0.000664618f,-0.000204670f, 0.000044516f,-0.000003688f,
-0.002283577f, 0.000663783f,-0.000204259f, 0.000044339f,-0.000003651f,
-0.002277323f, 0.000662923f,-0.000203840f, 0.000044162f,-0.000003613f,
-0.002271030f, 0.000662039f,-0.000203413f, 0.000043982f,-0.000003575f,
-0.002264697f, 0.000661130f,-0.000202979f, 0.000043802f,-0.000003538f,
-0.002258325f, 0.000660197f,-0.000202537f, 0.000043620f,-0.000003501f,
-0.002251914f, 0.000659240f,-0.000202088f, 0.000043438f,-0.000003463f,
-0.002245464f, 0.000658258f,-0.000201632f, 0.000043253f,-0.000003426f,
-0.002238975f, 0.000657253f,-0.000201168f, 0.000043068f,-0.000003389f,
-0.002232449f, 0.000656224f,-0.000200697f, 0.000042882f,-0.000003351f,
-0.002225884f, 0.000655171f,-0.000200218f, 0.000042694f,-0.000003314f,
-0.002219281f, 0.000654094f,-0.000199733f, 0.000042505f,-0.000003277f,
-0.002212641f, 0.000652995f,-0.000199240f, 0.000042315f,-0.000003241f,
-0.002205964f, 0.000651872f,-0.000198741f, 0.000042124f,-0.000003204f,
-0.002199250f, 0.000650726f,-0.000198234f, 0.000041931f,-0.000003167f,
-0.002192499f, 0.000649557f,-0.000197721f, 0.000041738f,-0.000003130f,
-0.002185712f, 0.000648365f,-0.000197200f, 0.000041544f,-0.000003094f,
-0.002178889f, 0.000647151f,-0.000196673f, 0.000041348f,-0.000003057f,
-0.002172030f, 0.000645914f,-0.000196139f, 0.000041152f,-0.000003021f,
-0.002165135f, 0.000644654f,-0.000195599f, 0.000040954f,-0.000002985f,
-0.002158205f, 0.000643373f,-0.000195052f, 0.000040756f,-0.000002949f,
-0.002151240f, 0.000642069f,-0.000194498f, 0.000040556f,-0.000002913f,
-0.002144240f, 0.000640743f,-0.000193938f, 0.000040356f,-0.000002877f,
-0.002137205f, 0.000639396f,-0.000193371f, 0.000040154f,-0.000002841f,
-0.002130137f, 0.000638027f,-0.000192798f, 0.000039952f,-0.000002806f,
-0.002123034f, 0.000636636f,-0.000192219f, 0.000039749f,-0.000002770f,
-0.002115898f, 0.000635224f,-0.000191633f, 0.000039544f,-0.000002735f,
-0.002108728f, 0.000633791f,-0.000191041f, 0.000039339f,-0.000002699f,
-0.002101526f, 0.000632337f,-0.000190443f, 0.000039134f,-0.000002664f,
-0.002094290f, 0.000630862f,-0.000189839f, 0.000038927f,-0.000002629f,
-0.002087022f, 0.000629366f,-0.000189229f, 0.000038719f,-0.000002594f,
-0.002079722f, 0.000627849f,-0.000188613f, 0.000038511f,-0.000002560f,
-0.002072389f, 0.000626313f,-0.000187991f, 0.000038302f,-0.000002525f,
-0.002065025f, 0.000624755f,-0.000187363f, 0.000038092f,-0.000002491f,
-0.002057630f, 0.000623178f,-0.000186730f, 0.000037882f,-0.000002456f,
-0.002050203f, 0.000621580f,-0.000186090f, 0.000037670f,-0.000002422f,
-0.002042746f, 0.000619963f,-0.000185445f, 0.000037458f,-0.000002388f,
-0.002035258f, 0.000618326f,-0.000184795f, 0.000037246f,-0.000002354f,
-0.002027739f, 0.000616669f,-0.000184139f, 0.000037032f,-0.000002320f,
-0.002020191f, 0.000614993f,-0.000183477f, 0.000036818f,-0.000002287f,
-0.002012613f, 0.000613298f,-0.000182810f, 0.000036604f,-0.000002253f,
-0.002005005f, 0.000611583f,-0.000182137f, 0.000036388f,-0.000002220f,
-0.001997369f, 0.000609850f,-0.000181460f, 0.000036172f,-0.000002187f,
-0.001989703f, 0.000608097f,-0.000180777f, 0.000035956f,-0.000002154f,
-0.001982009f, 0.000606326f,-0.000180088f, 0.000035739f,-0.000002121f,
-0.001974287f, 0.000604537f,-0.000179395f, 0.000035521f,-0.000002088f,
-0.001966536f, 0.000602729f,-0.000178696f, 0.000035303f,-0.000002056f,
-0.001958758f, 0.000600903f,-0.000177993f, 0.000035085f,-0.000002023f,
-0.001950952f, 0.000599059f,-0.000177285f, 0.000034865f,-0.000001991f,
-0.001943120f, 0.000597197f,-0.000176571f, 0.000034646f,-0.000001959f,
-0.001935260f, 0.000595317f,-0.000175853f, 0.000034426f,-0.000001927f,
-0.001927374f, 0.000593420f,-0.000175130f, 0.000034205f,-0.000001896f,
-0.001919461f, 0.000591505f,-0.000174403f, 0.000033984f,-0.000001864f,
-0.001911523f, 0.000589573f,-0.000173670f, 0.000033763f,-0.000001833f,
-0.001903559f, 0.000587624f,-0.000172933f, 0.000033541f,-0.000001802f,
-0.001895569f, 0.000585657f,-0.000172192f, 0.000033318f,-0.000001771f,
-0.001887555f, 0.000583674f,-0.000171446f, 0.000033096f,-0.000001740f,
-0.001879515f, 0.000581675f,-0.000170696f, 0.000032873f,-0.000001709f,
-0.001871451f, 0.000579658f,-0.000169941f, 0.000032650f,-0.000001679f,
-0.001863363f, 0.000577626f,-0.000169182f, 0.000032426f,-0.000001649f,
-0.001855251f, 0.000575577f,-0.000168419f, 0.000032202f,-0.000001619f,
-0.001847115f, 0.000573512f,-0.000167651f, 0.000031978f,-0.000001589f,
-0.001838956f, 0.000571431f,-0.000166879f, 0.000031753f,-0.000001559f,
-0.001830774f, 0.000569335f,-0.000166104f, 0.000031528f,-0.000001529f,
-0.001822569f, 0.000567222f,-0.000165324f, 0.000031303f,-0.000001500f,
-0.001814342f, 0.000565095f,-0.000164541f, 0.000031078f,-0.000001471f,
-0.001806092f, 0.000562952f,-0.000163753f, 0.000030853f,-0.000001442f,
-0.001797821f, 0.000560794f,-0.000162962f, 0.000030627f,-0.000001413f,
-0.001789528f, 0.000558621f,-0.000162166f, 0.000030401f,-0.000001385f,
-0.001781213f, 0.000556433f,-0.000161368f, 0.000030175f,-0.000001356f,
-0.001772878f, 0.000554231f,-0.000160565f, 0.000029949f,-0.000001328f,
-0.001764522f, 0.000552014f,-0.000159759f, 0.000029723f,-0.000001300f,
-0.001756146f, 0.000549782f,-0.000158949f, 0.000029496f,-0.000001272f,
-0.001747749f, 0.000547537f,-0.000158136f, 0.000029270f,-0.000001245f,
-0.001739333f, 0.000545277f,-0.000157320f, 0.000029043f,-0.000001217f,
-0.001730897f, 0.000543004f,-0.000156500f, 0.000028816f,-0.000001190f,
-0.001722442f, 0.000540717f,-0.000155676f, 0.000028590f,-0.000001163f,
-0.001713968f, 0.000538416f,-0.000154850f, 0.000028363f,-0.000001136f,
-0.001705475f, 0.000536102f,-0.000154020f, 0.000028136f,-0.000001110f,
-0.001696964f, 0.000533774f,-0.000153187f, 0.000027909f,-0.000001083f,
-0.001688435f, 0.000531434f,-0.000152351f, 0.000027682f,-0.000001057f,
0.000000000f, 0.000000000f, 0.000000000f, 0.000000000f, 0.000000000f,
};

View File

@ -109,10 +109,10 @@ static void ResampleAudio(const int chans, const float *inbuf, const int inframe
for (j = 0; j < RESAMPLER_ZERO_CROSSINGS; j++) {
const int filt_ind1 = filterindex + j;
const int filt_ind2 = RESAMPLER_FILTER_SIZE - 1 - filt_ind1;
const int filt_ind2 = (RESAMPLER_FILTER_SIZE - 1) - filt_ind1;
const float scale1 = ResamplerFilter[filt_ind1] + (interpolation1 * ResamplerFilterDifference[filt_ind1]);
const float scale2 = ResamplerFilter[filt_ind2] + (interpolation2 * ResamplerFilterDifference[filt_ind2]);
const float scale1 = (ResamplerFilter[filt_ind1] * interpolation2) + (ResamplerFilter[filt_ind1 + RESAMPLER_ZERO_CROSSINGS] * interpolation1);
const float scale2 = (ResamplerFilter[filt_ind2] * interpolation1) + (ResamplerFilter[filt_ind2 + RESAMPLER_ZERO_CROSSINGS] * interpolation2);
const int srcframe1 = srcindex - j;
const int srcframe2 = srcframe1 + RESAMPLER_ZERO_CROSSINGS;