Commit b5f52fb1 by Edward Smith-Rowland

...and actually resture the *new* testcase.

From-SVN: r260172
parent 841c9597
// { dg-do run { target c++11 } } // { dg-do run { target c++11 } }
// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__ -ffp-contract=off" } // { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__ -ffp-contract=off" }
// Copyright (C) 2016-2017 Free Software Foundation, Inc. // Copyright (C) 2016-2018 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -148,53 +148,53 @@ const double toler002 = 2.5000000000000020e-13; ...@@ -148,53 +148,53 @@ const double toler002 = 2.5000000000000020e-13;
// Test data for l=1, m=1. // Test data for l=1, m=1.
// max(|f - f_GSL|): 2.2204460492503131e-16 at index 12 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 12
// max(|f - f_GSL| / |f_GSL|): 2.4227052612512390e-16 // max(|f - f_GSL| / |f_GSL|): 2.4227052612512390e-16
// mean(f - f_GSL): 1.0573552615477681e-17 // mean(f - f_GSL): -1.0573552615477681e-17
// variance(f - f_GSL): 5.8695007828944331e-36 // variance(f - f_GSL): 5.8695007828944331e-36
// stddev(f - f_GSL): 2.4227052612512388e-18 // stddev(f - f_GSL): 2.4227052612512388e-18
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data003[21] = data003[21] =
{ {
{ -0.0000000000000000, 1, 1, { 0.0000000000000000, 1, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -0.43588989435406728, 1, 1, { 0.43588989435406728, 1, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ -0.59999999999999987, 1, 1, { 0.59999999999999987, 1, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ -0.71414284285428509, 1, 1, { 0.71414284285428509, 1, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -0.80000000000000004, 1, 1, { 0.80000000000000004, 1, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ -0.86602540378443860, 1, 1, { 0.86602540378443860, 1, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ -0.91651513899116799, 1, 1, { 0.91651513899116799, 1, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ -0.95393920141694555, 1, 1, { 0.95393920141694555, 1, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -0.97979589711327120, 1, 1, { 0.97979589711327120, 1, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -0.99498743710661997, 1, 1, { 0.99498743710661997, 1, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -1.0000000000000000, 1, 1, { 1.0000000000000000, 1, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -0.99498743710661997, 1, 1, { 0.99498743710661997, 1, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -0.97979589711327120, 1, 1, { 0.97979589711327120, 1, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -0.95393920141694577, 1, 1, { 0.95393920141694577, 1, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -0.91651513899116788, 1, 1, { 0.91651513899116788, 1, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -0.86602540378443860, 1, 1, { 0.86602540378443860, 1, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ -0.79999999999999993, 1, 1, { 0.79999999999999993, 1, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -0.71414284285428475, 1, 1, { 0.71414284285428475, 1, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -0.59999999999999987, 1, 1, { 0.59999999999999987, 1, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -0.43588989435406711, 1, 1, { 0.43588989435406711, 1, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ -0.0000000000000000, 1, 1, { 0.0000000000000000, 1, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler003 = 2.5000000000000020e-13; const double toler003 = 2.5000000000000020e-13;
...@@ -256,53 +256,53 @@ const double toler004 = 2.5000000000000020e-13; ...@@ -256,53 +256,53 @@ const double toler004 = 2.5000000000000020e-13;
// Test data for l=2, m=1. // Test data for l=2, m=1.
// max(|f - f_GSL|): 2.2204460492503131e-16 at index 3 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 3
// max(|f - f_GSL| / |f_GSL|): 3.7770554319736585e-16 // max(|f - f_GSL| / |f_GSL|): 3.7770554319736585e-16
// mean(f - f_GSL): -1.0573552615477681e-17 // mean(f - f_GSL): 1.0573552615477681e-17
// variance(f - f_GSL): 5.8695007828944331e-36 // variance(f - f_GSL): 5.8695007828944331e-36
// stddev(f - f_GSL): 2.4227052612512388e-18 // stddev(f - f_GSL): 2.4227052612512388e-18
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data005[21] = data005[21] =
{ {
{ 0.0000000000000000, 2, 1, { -0.0000000000000000, 2, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ 1.1769027147559816, 2, 1, { -1.1769027147559816, 2, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 1.4399999999999999, 2, 1, { -1.4399999999999999, 2, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 1.4996999699939983, 2, 1, { -1.4996999699939983, 2, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ 1.4399999999999999, 2, 1, { -1.4399999999999999, 2, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ 1.2990381056766580, 2, 1, { -1.2990381056766580, 2, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ 1.0998181667894014, 2, 1, { -1.0998181667894014, 2, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 0.85854528127525076, 2, 1, { -0.85854528127525076, 2, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ 0.58787753826796263, 2, 1, { -0.58787753826796263, 2, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ 0.29849623113198592, 2, 1, { -0.29849623113198592, 2, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -0.0000000000000000, 2, 1, { 0.0000000000000000, 2, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -0.29849623113198626, 2, 1, { 0.29849623113198626, 2, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -0.58787753826796330, 2, 1, { 0.58787753826796330, 2, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -0.85854528127525132, 2, 1, { 0.85854528127525132, 2, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -1.0998181667894018, 2, 1, { 1.0998181667894018, 2, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -1.2990381056766580, 2, 1, { 1.2990381056766580, 2, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ -1.4400000000000002, 2, 1, { 1.4400000000000002, 2, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -1.4996999699939983, 2, 1, { 1.4996999699939983, 2, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -1.4399999999999999, 2, 1, { 1.4399999999999999, 2, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -1.1769027147559812, 2, 1, { 1.1769027147559812, 2, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ -0.0000000000000000, 2, 1, { 0.0000000000000000, 2, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler005 = 2.5000000000000020e-13; const double toler005 = 2.5000000000000020e-13;
...@@ -418,53 +418,53 @@ const double toler007 = 2.5000000000000020e-13; ...@@ -418,53 +418,53 @@ const double toler007 = 2.5000000000000020e-13;
// Test data for l=5, m=1. // Test data for l=5, m=1.
// max(|f - f_GSL|): 6.6613381477509392e-16 at index 14 // max(|f - f_GSL|): 6.6613381477509392e-16 at index 14
// max(|f - f_GSL| / |f_GSL|): 5.5186908001167120e-16 // max(|f - f_GSL| / |f_GSL|): 5.5186908001167120e-16
// mean(f - f_GSL): -1.0573552615477681e-17 // mean(f - f_GSL): 1.0573552615477681e-17
// variance(f - f_GSL): 5.8695007828944331e-36 // variance(f - f_GSL): 5.8695007828944331e-36
// stddev(f - f_GSL): 2.4227052612512388e-18 // stddev(f - f_GSL): 2.4227052612512388e-18
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data008[21] = data008[21] =
{ {
{ 0.0000000000000000, 5, 1, { -0.0000000000000000, 5, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -2.8099369608350981, 5, 1, { 2.8099369608350981, 5, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ -0.72180000000000089, 5, 1, { 0.72180000000000089, 5, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 1.0951826834447254, 5, 1, { -1.0951826834447254, 5, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ 1.9775999999999998, 5, 1, { -1.9775999999999998, 5, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ 1.9282596881137892, 5, 1, { -1.9282596881137892, 5, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ 1.2070504380513671, 5, 1, { -1.2070504380513671, 5, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 0.16079837663884300, 5, 1, { -0.16079837663884300, 5, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -0.87005875663658538, 5, 1, { 0.87005875663658538, 5, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -1.6083350053680323, 5, 1, { 1.6083350053680323, 5, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -1.8750000000000000, 5, 1, { 1.8750000000000000, 5, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -1.6083350053680314, 5, 1, { 1.6083350053680314, 5, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -0.87005875663658327, 5, 1, { 0.87005875663658327, 5, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ 0.16079837663884422, 5, 1, { -0.16079837663884422, 5, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ 1.2070504380513694, 5, 1, { -1.2070504380513694, 5, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ 1.9282596881137892, 5, 1, { -1.9282596881137892, 5, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ 1.9775999999999998, 5, 1, { -1.9775999999999998, 5, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ 1.0951826834447216, 5, 1, { -1.0951826834447216, 5, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -0.72180000000000089, 5, 1, { 0.72180000000000089, 5, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -2.8099369608350999, 5, 1, { 2.8099369608350999, 5, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 5, 1, { -0.0000000000000000, 5, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler008 = 2.5000000000000020e-13; const double toler008 = 2.5000000000000020e-13;
...@@ -526,53 +526,53 @@ const double toler009 = 2.5000000000000020e-13; ...@@ -526,53 +526,53 @@ const double toler009 = 2.5000000000000020e-13;
// Test data for l=5, m=5. // Test data for l=5, m=5.
// max(|f - f_GSL|): 1.0231815394945443e-12 at index 12 // max(|f - f_GSL|): 1.0231815394945443e-12 at index 12
// max(|f - f_GSL| / |f_GSL|): 1.1990652164995755e-15 // max(|f - f_GSL| / |f_GSL|): 1.1990652164995755e-15
// mean(f - f_GSL): 3.1128538899966297e-14 // mean(f - f_GSL): -3.1128538899966297e-14
// variance(f - f_GSL): 5.0871761537452526e-29 // variance(f - f_GSL): 5.0871761537452526e-29
// stddev(f - f_GSL): 7.1324442891236469e-15 // stddev(f - f_GSL): 7.1324442891236469e-15
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data010[21] = data010[21] =
{ {
{ -0.0000000000000000, 5, 5, { 0.0000000000000000, 5, 5,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -14.870165800941818, 5, 5, { 14.870165800941818, 5, 5,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ -73.483199999999925, 5, 5, { 73.483199999999925, 5, 5,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ -175.53238298794764, 5, 5, { 175.53238298794764, 5, 5,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -309.65760000000006, 5, 5, { 309.65760000000006, 5, 5,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ -460.34662869916559, 5, 5, { 460.34662869916559, 5, 5,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ -611.12496255819883, 5, 5, { 611.12496255819883, 5, 5,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ -746.50941479523703, 5, 5, { 746.50941479523703, 5, 5,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -853.31600434671316, 5, 5, { 853.31600434671316, 5, 5,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -921.55189181724734, 5, 5, { 921.55189181724734, 5, 5,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -945.00000000000000, 5, 5, { 945.00000000000000, 5, 5,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -921.55189181724734, 5, 5, { 921.55189181724734, 5, 5,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -853.31600434671316, 5, 5, { 853.31600434671316, 5, 5,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -746.50941479523760, 5, 5, { 746.50941479523760, 5, 5,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -611.12496255819838, 5, 5, { 611.12496255819838, 5, 5,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -460.34662869916559, 5, 5, { 460.34662869916559, 5, 5,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ -309.65759999999989, 5, 5, { 309.65759999999989, 5, 5,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -175.53238298794724, 5, 5, { 175.53238298794724, 5, 5,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -73.483199999999925, 5, 5, { 73.483199999999925, 5, 5,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -14.870165800941789, 5, 5, { 14.870165800941789, 5, 5,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ -0.0000000000000000, 5, 5, { 0.0000000000000000, 5, 5,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler010 = 2.5000000000000020e-13; const double toler010 = 2.5000000000000020e-13;
...@@ -634,53 +634,53 @@ const double toler011 = 2.5000000000000020e-13; ...@@ -634,53 +634,53 @@ const double toler011 = 2.5000000000000020e-13;
// Test data for l=10, m=1. // Test data for l=10, m=1.
// max(|f - f_GSL|): 1.3322676295501878e-15 at index 14 // max(|f - f_GSL|): 1.3322676295501878e-15 at index 14
// max(|f - f_GSL| / |f_GSL|): 5.3672431731635395e-16 // max(|f - f_GSL| / |f_GSL|): 5.3672431731635395e-16
// mean(f - f_GSL): 6.3441315692866085e-17 // mean(f - f_GSL): -6.3441315692866085e-17
// variance(f - f_GSL): 2.1130202818419960e-34 // variance(f - f_GSL): 2.1130202818419960e-34
// stddev(f - f_GSL): 1.4536231567507432e-17 // stddev(f - f_GSL): 1.4536231567507432e-17
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data012[21] = data012[21] =
{ {
{ -0.0000000000000000, 10, 1, { 0.0000000000000000, 10, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -3.0438748781479039, 10, 1, { 3.0438748781479039, 10, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ -0.87614260800000254, 10, 1, { 0.87614260800000254, 10, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 2.9685359952934527, 10, 1, { -2.9685359952934527, 10, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ 1.2511825919999997, 10, 1, { -1.2511825919999997, 10, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ -2.0066877394361260, 10, 1, { 2.0066877394361260, 10, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ -2.4822196173476647, 10, 1, { 2.4822196173476647, 10, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ -0.12309508907433593, 10, 1, { 0.12309508907433593, 10, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ 2.2468221751958413, 10, 1, { -2.2468221751958413, 10, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ 2.2472659777983512, 10, 1, { -2.2472659777983512, 10, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -0.0000000000000000, 10, 1, { 0.0000000000000000, 10, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -2.2472659777983535, 10, 1, { 2.2472659777983535, 10, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -2.2468221751958377, 10, 1, { 2.2468221751958377, 10, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ 0.12309508907433910, 10, 1, { -0.12309508907433910, 10, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ 2.4822196173476669, 10, 1, { -2.4822196173476669, 10, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ 2.0066877394361260, 10, 1, { -2.0066877394361260, 10, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ -1.2511825920000037, 10, 1, { 1.2511825920000037, 10, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -2.9685359952934505, 10, 1, { 2.9685359952934505, 10, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ 0.87614260800000254, 10, 1, { -0.87614260800000254, 10, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ 3.0438748781478981, 10, 1, { -3.0438748781478981, 10, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 10, 1, { -0.0000000000000000, 10, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler012 = 2.5000000000000020e-13; const double toler012 = 2.5000000000000020e-13;
...@@ -742,53 +742,53 @@ const double toler013 = 2.5000000000000020e-13; ...@@ -742,53 +742,53 @@ const double toler013 = 2.5000000000000020e-13;
// Test data for l=10, m=5. // Test data for l=10, m=5.
// max(|f - f_GSL|): 2.9103830456733704e-11 at index 12 // max(|f - f_GSL|): 2.9103830456733704e-11 at index 12
// max(|f - f_GSL| / |f_GSL|): 1.4825078449301893e-15 // max(|f - f_GSL| / |f_GSL|): 1.4825078449301893e-15
// mean(f - f_GSL): 2.4253192047278085e-12 // mean(f - f_GSL): -2.4253192047278085e-12
// variance(f - f_GSL): 3.0881409535313035e-25 // variance(f - f_GSL): 3.0881409535313035e-25
// stddev(f - f_GSL): 5.5571044200476413e-13 // stddev(f - f_GSL): 5.5571044200476413e-13
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data014[21] = data014[21] =
{ {
{ 0.0000000000000000, 10, 5, { -0.0000000000000000, 10, 5,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ 21343.618518164680, 10, 5, { -21343.618518164680, 10, 5,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 40457.016407807983, 10, 5, { -40457.016407807983, 10, 5,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 20321.279317331315, 10, 5, { -20321.279317331315, 10, 5,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -14410.820616192004, 10, 5, { 14410.820616192004, 10, 5,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ -30086.169706116176, 10, 5, { 30086.169706116176, 10, 5,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ -17177.549337582834, 10, 5, { 17177.549337582834, 10, 5,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 9272.5119495412546, 10, 5, { -9272.5119495412546, 10, 5,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ 26591.511184414714, 10, 5, { -26591.511184414714, 10, 5,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ 21961.951238504211, 10, 5, { -21961.951238504211, 10, 5,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -0.0000000000000000, 10, 5, { 0.0000000000000000, 10, 5,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -21961.951238504229, 10, 5, { 21961.951238504229, 10, 5,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -26591.511184414703, 10, 5, { 26591.511184414703, 10, 5,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -9272.5119495412364, 10, 5, { 9272.5119495412364, 10, 5,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ 17177.549337582877, 10, 5, { -17177.549337582877, 10, 5,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ 30086.169706116176, 10, 5, { -30086.169706116176, 10, 5,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ 14410.820616191972, 10, 5, { -14410.820616191972, 10, 5,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -20321.279317331391, 10, 5, { 20321.279317331391, 10, 5,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -40457.016407807983, 10, 5, { 40457.016407807983, 10, 5,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -21343.618518164636, 10, 5, { 21343.618518164636, 10, 5,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 10, 5, { -0.0000000000000000, 10, 5,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler014 = 2.5000000000000020e-13; const double toler014 = 2.5000000000000020e-13;
...@@ -904,53 +904,53 @@ const double toler016 = 2.5000000000000020e-13; ...@@ -904,53 +904,53 @@ const double toler016 = 2.5000000000000020e-13;
// Test data for l=20, m=1. // Test data for l=20, m=1.
// max(|f - f_GSL|): 1.3322676295501878e-15 at index 12 // max(|f - f_GSL|): 1.3322676295501878e-15 at index 12
// max(|f - f_GSL| / |f_GSL|): 1.0752784502271902e-15 // max(|f - f_GSL| / |f_GSL|): 1.0752784502271902e-15
// mean(f - f_GSL): 1.4274296030894871e-16 // mean(f - f_GSL): -1.4274296030894871e-16
// variance(f - f_GSL): 1.0697165176825104e-33 // variance(f - f_GSL): 1.0697165176825104e-33
// stddev(f - f_GSL): 3.2706521026891724e-17 // stddev(f - f_GSL): 3.2706521026891724e-17
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data017[21] = data017[21] =
{ {
{ 0.0000000000000000, 20, 1, { -0.0000000000000000, 20, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ 4.3838334818220499, 20, 1, { -4.3838334818220499, 20, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ -0.63138296146340844, 20, 1, { 0.63138296146340844, 20, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 0.72274871413391395, 20, 1, { -0.72274871413391395, 20, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -2.3203528743824910, 20, 1, { 2.3203528743824910, 20, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ 3.7399919228791405, 20, 1, { -3.7399919228791405, 20, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ -3.1692202279270085, 20, 1, { 3.1692202279270085, 20, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 0.15804468835345031, 20, 1, { -0.15804468835345031, 20, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ 3.0366182393271171, 20, 1, { -3.0366182393271171, 20, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -3.2115523815580209, 20, 1, { 3.2115523815580209, 20, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ 0.0000000000000000, 20, 1, { -0.0000000000000000, 20, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ 3.2115523815580169, 20, 1, { -3.2115523815580169, 20, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -3.0366182393271259, 20, 1, { 3.0366182393271259, 20, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -0.15804468835344135, 20, 1, { 0.15804468835344135, 20, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ 3.1692202279269970, 20, 1, { -3.1692202279269970, 20, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -3.7399919228791405, 20, 1, { 3.7399919228791405, 20, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ 2.3203528743824995, 20, 1, { -2.3203528743824995, 20, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -0.72274871413393793, 20, 1, { 0.72274871413393793, 20, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ 0.63138296146340844, 20, 1, { -0.63138296146340844, 20, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -4.3838334818220686, 20, 1, { 4.3838334818220686, 20, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 20, 1, { -0.0000000000000000, 20, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler017 = 2.5000000000000020e-13; const double toler017 = 2.5000000000000020e-13;
...@@ -1012,53 +1012,53 @@ const double toler018 = 2.5000000000000020e-13; ...@@ -1012,53 +1012,53 @@ const double toler018 = 2.5000000000000020e-13;
// Test data for l=20, m=5. // Test data for l=20, m=5.
// max(|f - f_GSL|): 1.2805685400962830e-09 at index 14 // max(|f - f_GSL|): 1.2805685400962830e-09 at index 14
// max(|f - f_GSL| / |f_GSL|): 2.0861530799041223e-15 // max(|f - f_GSL| / |f_GSL|): 2.0861530799041223e-15
// mean(f - f_GSL): 1.1641532182693481e-10 // mean(f - f_GSL): -1.1641532182693481e-10
// variance(f - f_GSL): 7.1150767569361226e-22 // variance(f - f_GSL): 7.1150767569361226e-22
// stddev(f - f_GSL): 2.6674101216228678e-11 // stddev(f - f_GSL): 2.6674101216228678e-11
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data019[21] = data019[21] =
{ {
{ -0.0000000000000000, 20, 5, { 0.0000000000000000, 20, 5,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -315702.32715134218, 20, 5, { 315702.32715134218, 20, 5,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 503060.91484852589, 20, 5, { -503060.91484852589, 20, 5,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ -298127.28360361955, 20, 5, { 298127.28360361955, 20, 5,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -114444.61447464029, 20, 5, { 114444.61447464029, 20, 5,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ 543428.40914592845, 20, 5, { -543428.40914592845, 20, 5,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ -613842.07728185481, 20, 5, { 613842.07728185481, 20, 5,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 143765.42411271061, 20, 5, { -143765.42411271061, 20, 5,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ 472600.45321372285, 20, 5, { -472600.45321372285, 20, 5,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -563861.76771496492, 20, 5, { 563861.76771496492, 20, 5,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ 0.0000000000000000, 20, 5, { -0.0000000000000000, 20, 5,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ 563861.76771496458, 20, 5, { -563861.76771496458, 20, 5,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ -472600.45321372483, 20, 5, { 472600.45321372483, 20, 5,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -143765.42411270936, 20, 5, { 143765.42411270936, 20, 5,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ 613842.07728185353, 20, 5, { -613842.07728185353, 20, 5,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -543428.40914592845, 20, 5, { 543428.40914592845, 20, 5,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ 114444.61447464178, 20, 5, { -114444.61447464178, 20, 5,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ 298127.28360361519, 20, 5, { -298127.28360361519, 20, 5,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -503060.91484852589, 20, 5, { 503060.91484852589, 20, 5,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ 315702.32715133618, 20, 5, { -315702.32715133618, 20, 5,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 20, 5, { -0.0000000000000000, 20, 5,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler019 = 2.5000000000000020e-13; const double toler019 = 2.5000000000000020e-13;
...@@ -1228,53 +1228,53 @@ const double toler022 = 2.5000000000000020e-13; ...@@ -1228,53 +1228,53 @@ const double toler022 = 2.5000000000000020e-13;
// Test data for l=50, m=1. // Test data for l=50, m=1.
// max(|f - f_GSL|): 4.4408920985006262e-15 at index 3 // max(|f - f_GSL|): 4.4408920985006262e-15 at index 3
// max(|f - f_GSL| / |f_GSL|): 6.6657627150738456e-16 // max(|f - f_GSL| / |f_GSL|): 6.6657627150738456e-16
// mean(f - f_GSL): 6.3441315692866085e-17 // mean(f - f_GSL): -6.3441315692866085e-17
// variance(f - f_GSL): 2.1130202818419960e-34 // variance(f - f_GSL): 2.1130202818419960e-34
// stddev(f - f_GSL): 1.4536231567507432e-17 // stddev(f - f_GSL): 1.4536231567507432e-17
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data023[21] = data023[21] =
{ {
{ 0.0000000000000000, 50, 1, { -0.0000000000000000, 50, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -0.13424149984449490, 50, 1, { 0.13424149984449490, 50, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 2.2011219672413018, 50, 1, { -2.2011219672413018, 50, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 6.6622414993232004, 50, 1, { -6.6622414993232004, 50, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ 5.5772846936919249, 50, 1, { -5.5772846936919249, 50, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ 5.8787148815607608, 50, 1, { -5.8787148815607608, 50, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ 5.5473459458634080, 50, 1, { -5.5473459458634080, 50, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 1.8444956647620248, 50, 1, { -1.8444956647620248, 50, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -3.8722014306642127, 50, 1, { 3.8722014306642127, 50, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -5.3488751322285628, 50, 1, { 5.3488751322285628, 50, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -0.0000000000000000, 50, 1, { 0.0000000000000000, 50, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ 5.3488751322285522, 50, 1, { -5.3488751322285522, 50, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ 3.8722014306642620, 50, 1, { -3.8722014306642620, 50, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -1.8444956647619930, 50, 1, { 1.8444956647619930, 50, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -5.5473459458633814, 50, 1, { 5.5473459458633814, 50, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -5.8787148815607608, 50, 1, { 5.8787148815607608, 50, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ -5.5772846936919453, 50, 1, { 5.5772846936919453, 50, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -6.6622414993232182, 50, 1, { 6.6622414993232182, 50, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -2.2011219672413018, 50, 1, { 2.2011219672413018, 50, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ 0.13424149984438935, 50, 1, { -0.13424149984438935, 50, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 50, 1, { -0.0000000000000000, 50, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler023 = 2.5000000000000020e-13; const double toler023 = 2.5000000000000020e-13;
...@@ -1336,53 +1336,53 @@ const double toler024 = 5.0000000000000039e-13; ...@@ -1336,53 +1336,53 @@ const double toler024 = 5.0000000000000039e-13;
// Test data for l=50, m=5. // Test data for l=50, m=5.
// max(|f - f_GSL|): 7.4505805969238281e-08 at index 14 // max(|f - f_GSL|): 7.4505805969238281e-08 at index 14
// max(|f - f_GSL| / |f_GSL|): 2.0088060426072767e-15 // max(|f - f_GSL| / |f_GSL|): 2.0088060426072767e-15
// mean(f - f_GSL): -6.3862119402204238e-09 // mean(f - f_GSL): 6.3862119402204238e-09
// variance(f - f_GSL): 2.1411444046342303e-18 // variance(f - f_GSL): 2.1411444046342303e-18
// stddev(f - f_GSL): 1.4632649810045447e-09 // stddev(f - f_GSL): 1.4632649810045447e-09
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data025[21] = data025[21] =
{ {
{ -0.0000000000000000, 50, 5, { 0.0000000000000000, 50, 5,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ -27340473.952132829, 50, 5, { 27340473.952132829, 50, 5,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 27753716.768532373, 50, 5, { -27753716.768532373, 50, 5,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ 40808153.913493633, 50, 5, { -40808153.913493633, 50, 5,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ 32071189.035790090, 50, 5, { -32071189.035790090, 50, 5,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ 36265736.218529105, 50, 5, { -36265736.218529105, 50, 5,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ 37089596.700204931, 50, 5, { -37089596.700204931, 50, 5,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 14562029.629244687, 50, 5, { -14562029.629244687, 50, 5,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -23686895.217517190, 50, 5, { 23686895.217517190, 50, 5,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ -34878992.965676002, 50, 5, { 34878992.965676002, 50, 5,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ -0.0000000000000000, 50, 5, { 0.0000000000000000, 50, 5,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ 34878992.965675958, 50, 5, { -34878992.965675958, 50, 5,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ 23686895.217517529, 50, 5, { -23686895.217517529, 50, 5,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -14562029.629244499, 50, 5, { 14562029.629244499, 50, 5,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -37089596.700204782, 50, 5, { 37089596.700204782, 50, 5,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ -36265736.218529105, 50, 5, { 36265736.218529105, 50, 5,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ -32071189.035790242, 50, 5, { 32071189.035790242, 50, 5,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ -40808153.913493834, 50, 5, { 40808153.913493834, 50, 5,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -27753716.768532373, 50, 5, { 27753716.768532373, 50, 5,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ 27340473.952132136, 50, 5, { -27340473.952132136, 50, 5,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 50, 5, { -0.0000000000000000, 50, 5,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler025 = 2.5000000000000020e-13; const double toler025 = 2.5000000000000020e-13;
...@@ -1606,53 +1606,53 @@ const double toler029 = 5.0000000000000039e-13; ...@@ -1606,53 +1606,53 @@ const double toler029 = 5.0000000000000039e-13;
// Test data for l=100, m=1. // Test data for l=100, m=1.
// max(|f - f_GSL|): 1.1546319456101628e-14 at index 3 // max(|f - f_GSL|): 1.1546319456101628e-14 at index 3
// max(|f - f_GSL| / |f_GSL|): 2.1111954004946762e-15 // max(|f - f_GSL| / |f_GSL|): 2.1111954004946762e-15
// mean(f - f_GSL): -8.0358999877630379e-16 // mean(f - f_GSL): 8.0358999877630379e-16
// variance(f - f_GSL): 3.3902236521998243e-32 // variance(f - f_GSL): 3.3902236521998243e-32
// stddev(f - f_GSL): 1.8412559985509414e-16 // stddev(f - f_GSL): 1.8412559985509414e-16
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data030[21] = data030[21] =
{ {
{ -0.0000000000000000, 100, 1, { 0.0000000000000000, 100, 1,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ 6.5200167187780345, 100, 1, { -6.5200167187780345, 100, 1,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 9.0065170007027486, 100, 1, { -9.0065170007027486, 100, 1,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ -5.4690908541180976, 100, 1, { 5.4690908541180976, 100, 1,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -8.6275439170430790, 100, 1, { 8.6275439170430790, 100, 1,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ -6.0909031663448454, 100, 1, { 6.0909031663448454, 100, 1,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ 4.1160338699560395, 100, 1, { -4.1160338699560395, 100, 1,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 5.8491043010758634, 100, 1, { -5.8491043010758634, 100, 1,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -7.9435138723089826, 100, 1, { 7.9435138723089826, 100, 1,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ 4.7996285823989355, 100, 1, { -4.7996285823989355, 100, 1,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ 0.0000000000000000, 100, 1, { -0.0000000000000000, 100, 1,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -4.7996285823990101, 100, 1, { 4.7996285823990101, 100, 1,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ 7.9435138723090155, 100, 1, { -7.9435138723090155, 100, 1,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -5.8491043010758013, 100, 1, { 5.8491043010758013, 100, 1,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -4.1160338699562162, 100, 1, { 4.1160338699562162, 100, 1,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ 6.0909031663448454, 100, 1, { -6.0909031663448454, 100, 1,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ 8.6275439170430470, 100, 1, { -8.6275439170430470, 100, 1,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ 5.4690908541178693, 100, 1, { -5.4690908541178693, 100, 1,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -9.0065170007027486, 100, 1, { 9.0065170007027486, 100, 1,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -6.5200167187777787, 100, 1, { 6.5200167187777787, 100, 1,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 100, 1, { -0.0000000000000000, 100, 1,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler030 = 2.5000000000000020e-13; const double toler030 = 2.5000000000000020e-13;
...@@ -1714,53 +1714,53 @@ const double toler031 = 2.5000000000000020e-13; ...@@ -1714,53 +1714,53 @@ const double toler031 = 2.5000000000000020e-13;
// Test data for l=100, m=5. // Test data for l=100, m=5.
// max(|f - f_GSL|): 1.4305114746093750e-06 at index 14 // max(|f - f_GSL|): 1.4305114746093750e-06 at index 14
// max(|f - f_GSL| / |f_GSL|): 3.7628882298853693e-15 // max(|f - f_GSL| / |f_GSL|): 3.7628882298853693e-15
// mean(f - f_GSL): -5.1089695521763390e-08 // mean(f - f_GSL): 5.1089695521763390e-08
// variance(f - f_GSL): 1.3703324189659077e-16 // variance(f - f_GSL): 1.3703324189659077e-16
// stddev(f - f_GSL): 1.1706119848036358e-08 // stddev(f - f_GSL): 1.1706119848036358e-08
const testcase_assoc_legendre<double> const testcase_assoc_legendre<double>
data032[21] = data032[21] =
{ {
{ 0.0000000000000000, 100, 5, { -0.0000000000000000, 100, 5,
-1.0000000000000000, 0.0 }, -1.0000000000000000, 0.0 },
{ 900551126.09653807, 100, 5, { -900551126.09653807, 100, 5,
-0.90000000000000002, 0.0 }, -0.90000000000000002, 0.0 },
{ 988567431.55756140, 100, 5, { -988567431.55756140, 100, 5,
-0.80000000000000004, 0.0 }, -0.80000000000000004, 0.0 },
{ -645646451.90344620, 100, 5, { 645646451.90344620, 100, 5,
-0.69999999999999996, 0.0 }, -0.69999999999999996, 0.0 },
{ -897114585.29920685, 100, 5, { 897114585.29920685, 100, 5,
-0.59999999999999998, 0.0 }, -0.59999999999999998, 0.0 },
{ -661710744.42483854, 100, 5, { 661710744.42483854, 100, 5,
-0.50000000000000000, 0.0 }, -0.50000000000000000, 0.0 },
{ 380163158.51424754, 100, 5, { -380163158.51424754, 100, 5,
-0.39999999999999991, 0.0 }, -0.39999999999999991, 0.0 },
{ 617391071.36633193, 100, 5, { -617391071.36633193, 100, 5,
-0.29999999999999993, 0.0 }, -0.29999999999999993, 0.0 },
{ -805288801.85509109, 100, 5, { 805288801.85509109, 100, 5,
-0.19999999999999996, 0.0 }, -0.19999999999999996, 0.0 },
{ 481041740.16728652, 100, 5, { -481041740.16728652, 100, 5,
-0.099999999999999978, 0.0 }, -0.099999999999999978, 0.0 },
{ 0.0000000000000000, 100, 5, { -0.0000000000000000, 100, 5,
0.0000000000000000, 0.0 }, 0.0000000000000000, 0.0 },
{ -481041740.16729391, 100, 5, { 481041740.16729391, 100, 5,
0.10000000000000009, 0.0 }, 0.10000000000000009, 0.0 },
{ 805288801.85509515, 100, 5, { -805288801.85509515, 100, 5,
0.20000000000000018, 0.0 }, 0.20000000000000018, 0.0 },
{ -617391071.36632574, 100, 5, { 617391071.36632574, 100, 5,
0.30000000000000004, 0.0 }, 0.30000000000000004, 0.0 },
{ -380163158.51426536, 100, 5, { 380163158.51426536, 100, 5,
0.40000000000000013, 0.0 }, 0.40000000000000013, 0.0 },
{ 661710744.42483854, 100, 5, { -661710744.42483854, 100, 5,
0.50000000000000000, 0.0 }, 0.50000000000000000, 0.0 },
{ 897114585.29920483, 100, 5, { -897114585.29920483, 100, 5,
0.60000000000000009, 0.0 }, 0.60000000000000009, 0.0 },
{ 645646451.90342283, 100, 5, { -645646451.90342283, 100, 5,
0.70000000000000018, 0.0 }, 0.70000000000000018, 0.0 },
{ -988567431.55756140, 100, 5, { 988567431.55756140, 100, 5,
0.80000000000000004, 0.0 }, 0.80000000000000004, 0.0 },
{ -900551126.09651637, 100, 5, { 900551126.09651637, 100, 5,
0.90000000000000013, 0.0 }, 0.90000000000000013, 0.0 },
{ 0.0000000000000000, 100, 5, { -0.0000000000000000, 100, 5,
1.0000000000000000, 0.0 }, 1.0000000000000000, 0.0 },
}; };
const double toler032 = 2.5000000000000020e-13; const double toler032 = 2.5000000000000020e-13;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment