From b5f52fb14fd955b02b05025c424adc0dae8e61e4 Mon Sep 17 00:00:00 2001 From: Edward Smith-Rowland Date: Fri, 11 May 2018 17:38:26 +0000 Subject: [PATCH] ...and actually resture the *new* testcase. From-SVN: r260172 --- .../02_assoc_legendre/check_value.cc | 530 ++++++++++----------- 1 file changed, 265 insertions(+), 265 deletions(-) diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc index 91128c6..e892ea2 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc @@ -1,7 +1,7 @@ // { dg-do run { target c++11 } } // { 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 // software; you can redistribute it and/or modify it under the @@ -148,53 +148,53 @@ const double toler002 = 2.5000000000000020e-13; // Test data for l=1, m=1. // max(|f - f_GSL|): 2.2204460492503131e-16 at index 12 // 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 // stddev(f - f_GSL): 2.4227052612512388e-18 const testcase_assoc_legendre data003[21] = { - { -0.0000000000000000, 1, 1, + { 0.0000000000000000, 1, 1, -1.0000000000000000, 0.0 }, - { -0.43588989435406728, 1, 1, + { 0.43588989435406728, 1, 1, -0.90000000000000002, 0.0 }, - { -0.59999999999999987, 1, 1, + { 0.59999999999999987, 1, 1, -0.80000000000000004, 0.0 }, - { -0.71414284285428509, 1, 1, + { 0.71414284285428509, 1, 1, -0.69999999999999996, 0.0 }, - { -0.80000000000000004, 1, 1, + { 0.80000000000000004, 1, 1, -0.59999999999999998, 0.0 }, - { -0.86602540378443860, 1, 1, + { 0.86602540378443860, 1, 1, -0.50000000000000000, 0.0 }, - { -0.91651513899116799, 1, 1, + { 0.91651513899116799, 1, 1, -0.39999999999999991, 0.0 }, - { -0.95393920141694555, 1, 1, + { 0.95393920141694555, 1, 1, -0.29999999999999993, 0.0 }, - { -0.97979589711327120, 1, 1, + { 0.97979589711327120, 1, 1, -0.19999999999999996, 0.0 }, - { -0.99498743710661997, 1, 1, + { 0.99498743710661997, 1, 1, -0.099999999999999978, 0.0 }, - { -1.0000000000000000, 1, 1, + { 1.0000000000000000, 1, 1, 0.0000000000000000, 0.0 }, - { -0.99498743710661997, 1, 1, + { 0.99498743710661997, 1, 1, 0.10000000000000009, 0.0 }, - { -0.97979589711327120, 1, 1, + { 0.97979589711327120, 1, 1, 0.20000000000000018, 0.0 }, - { -0.95393920141694577, 1, 1, + { 0.95393920141694577, 1, 1, 0.30000000000000004, 0.0 }, - { -0.91651513899116788, 1, 1, + { 0.91651513899116788, 1, 1, 0.40000000000000013, 0.0 }, - { -0.86602540378443860, 1, 1, + { 0.86602540378443860, 1, 1, 0.50000000000000000, 0.0 }, - { -0.79999999999999993, 1, 1, + { 0.79999999999999993, 1, 1, 0.60000000000000009, 0.0 }, - { -0.71414284285428475, 1, 1, + { 0.71414284285428475, 1, 1, 0.70000000000000018, 0.0 }, - { -0.59999999999999987, 1, 1, + { 0.59999999999999987, 1, 1, 0.80000000000000004, 0.0 }, - { -0.43588989435406711, 1, 1, + { 0.43588989435406711, 1, 1, 0.90000000000000013, 0.0 }, - { -0.0000000000000000, 1, 1, + { 0.0000000000000000, 1, 1, 1.0000000000000000, 0.0 }, }; const double toler003 = 2.5000000000000020e-13; @@ -256,53 +256,53 @@ const double toler004 = 2.5000000000000020e-13; // Test data for l=2, m=1. // max(|f - f_GSL|): 2.2204460492503131e-16 at index 3 // 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 // stddev(f - f_GSL): 2.4227052612512388e-18 const testcase_assoc_legendre data005[21] = { - { 0.0000000000000000, 2, 1, + { -0.0000000000000000, 2, 1, -1.0000000000000000, 0.0 }, - { 1.1769027147559816, 2, 1, + { -1.1769027147559816, 2, 1, -0.90000000000000002, 0.0 }, - { 1.4399999999999999, 2, 1, + { -1.4399999999999999, 2, 1, -0.80000000000000004, 0.0 }, - { 1.4996999699939983, 2, 1, + { -1.4996999699939983, 2, 1, -0.69999999999999996, 0.0 }, - { 1.4399999999999999, 2, 1, + { -1.4399999999999999, 2, 1, -0.59999999999999998, 0.0 }, - { 1.2990381056766580, 2, 1, + { -1.2990381056766580, 2, 1, -0.50000000000000000, 0.0 }, - { 1.0998181667894014, 2, 1, + { -1.0998181667894014, 2, 1, -0.39999999999999991, 0.0 }, - { 0.85854528127525076, 2, 1, + { -0.85854528127525076, 2, 1, -0.29999999999999993, 0.0 }, - { 0.58787753826796263, 2, 1, + { -0.58787753826796263, 2, 1, -0.19999999999999996, 0.0 }, - { 0.29849623113198592, 2, 1, + { -0.29849623113198592, 2, 1, -0.099999999999999978, 0.0 }, - { -0.0000000000000000, 2, 1, + { 0.0000000000000000, 2, 1, 0.0000000000000000, 0.0 }, - { -0.29849623113198626, 2, 1, + { 0.29849623113198626, 2, 1, 0.10000000000000009, 0.0 }, - { -0.58787753826796330, 2, 1, + { 0.58787753826796330, 2, 1, 0.20000000000000018, 0.0 }, - { -0.85854528127525132, 2, 1, + { 0.85854528127525132, 2, 1, 0.30000000000000004, 0.0 }, - { -1.0998181667894018, 2, 1, + { 1.0998181667894018, 2, 1, 0.40000000000000013, 0.0 }, - { -1.2990381056766580, 2, 1, + { 1.2990381056766580, 2, 1, 0.50000000000000000, 0.0 }, - { -1.4400000000000002, 2, 1, + { 1.4400000000000002, 2, 1, 0.60000000000000009, 0.0 }, - { -1.4996999699939983, 2, 1, + { 1.4996999699939983, 2, 1, 0.70000000000000018, 0.0 }, - { -1.4399999999999999, 2, 1, + { 1.4399999999999999, 2, 1, 0.80000000000000004, 0.0 }, - { -1.1769027147559812, 2, 1, + { 1.1769027147559812, 2, 1, 0.90000000000000013, 0.0 }, - { -0.0000000000000000, 2, 1, + { 0.0000000000000000, 2, 1, 1.0000000000000000, 0.0 }, }; const double toler005 = 2.5000000000000020e-13; @@ -418,53 +418,53 @@ const double toler007 = 2.5000000000000020e-13; // Test data for l=5, m=1. // max(|f - f_GSL|): 6.6613381477509392e-16 at index 14 // 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 // stddev(f - f_GSL): 2.4227052612512388e-18 const testcase_assoc_legendre data008[21] = { - { 0.0000000000000000, 5, 1, + { -0.0000000000000000, 5, 1, -1.0000000000000000, 0.0 }, - { -2.8099369608350981, 5, 1, + { 2.8099369608350981, 5, 1, -0.90000000000000002, 0.0 }, - { -0.72180000000000089, 5, 1, + { 0.72180000000000089, 5, 1, -0.80000000000000004, 0.0 }, - { 1.0951826834447254, 5, 1, + { -1.0951826834447254, 5, 1, -0.69999999999999996, 0.0 }, - { 1.9775999999999998, 5, 1, + { -1.9775999999999998, 5, 1, -0.59999999999999998, 0.0 }, - { 1.9282596881137892, 5, 1, + { -1.9282596881137892, 5, 1, -0.50000000000000000, 0.0 }, - { 1.2070504380513671, 5, 1, + { -1.2070504380513671, 5, 1, -0.39999999999999991, 0.0 }, - { 0.16079837663884300, 5, 1, + { -0.16079837663884300, 5, 1, -0.29999999999999993, 0.0 }, - { -0.87005875663658538, 5, 1, + { 0.87005875663658538, 5, 1, -0.19999999999999996, 0.0 }, - { -1.6083350053680323, 5, 1, + { 1.6083350053680323, 5, 1, -0.099999999999999978, 0.0 }, - { -1.8750000000000000, 5, 1, + { 1.8750000000000000, 5, 1, 0.0000000000000000, 0.0 }, - { -1.6083350053680314, 5, 1, + { 1.6083350053680314, 5, 1, 0.10000000000000009, 0.0 }, - { -0.87005875663658327, 5, 1, + { 0.87005875663658327, 5, 1, 0.20000000000000018, 0.0 }, - { 0.16079837663884422, 5, 1, + { -0.16079837663884422, 5, 1, 0.30000000000000004, 0.0 }, - { 1.2070504380513694, 5, 1, + { -1.2070504380513694, 5, 1, 0.40000000000000013, 0.0 }, - { 1.9282596881137892, 5, 1, + { -1.9282596881137892, 5, 1, 0.50000000000000000, 0.0 }, - { 1.9775999999999998, 5, 1, + { -1.9775999999999998, 5, 1, 0.60000000000000009, 0.0 }, - { 1.0951826834447216, 5, 1, + { -1.0951826834447216, 5, 1, 0.70000000000000018, 0.0 }, - { -0.72180000000000089, 5, 1, + { 0.72180000000000089, 5, 1, 0.80000000000000004, 0.0 }, - { -2.8099369608350999, 5, 1, + { 2.8099369608350999, 5, 1, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 5, 1, + { -0.0000000000000000, 5, 1, 1.0000000000000000, 0.0 }, }; const double toler008 = 2.5000000000000020e-13; @@ -526,53 +526,53 @@ const double toler009 = 2.5000000000000020e-13; // Test data for l=5, m=5. // max(|f - f_GSL|): 1.0231815394945443e-12 at index 12 // 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 // stddev(f - f_GSL): 7.1324442891236469e-15 const testcase_assoc_legendre data010[21] = { - { -0.0000000000000000, 5, 5, + { 0.0000000000000000, 5, 5, -1.0000000000000000, 0.0 }, - { -14.870165800941818, 5, 5, + { 14.870165800941818, 5, 5, -0.90000000000000002, 0.0 }, - { -73.483199999999925, 5, 5, + { 73.483199999999925, 5, 5, -0.80000000000000004, 0.0 }, - { -175.53238298794764, 5, 5, + { 175.53238298794764, 5, 5, -0.69999999999999996, 0.0 }, - { -309.65760000000006, 5, 5, + { 309.65760000000006, 5, 5, -0.59999999999999998, 0.0 }, - { -460.34662869916559, 5, 5, + { 460.34662869916559, 5, 5, -0.50000000000000000, 0.0 }, - { -611.12496255819883, 5, 5, + { 611.12496255819883, 5, 5, -0.39999999999999991, 0.0 }, - { -746.50941479523703, 5, 5, + { 746.50941479523703, 5, 5, -0.29999999999999993, 0.0 }, - { -853.31600434671316, 5, 5, + { 853.31600434671316, 5, 5, -0.19999999999999996, 0.0 }, - { -921.55189181724734, 5, 5, + { 921.55189181724734, 5, 5, -0.099999999999999978, 0.0 }, - { -945.00000000000000, 5, 5, + { 945.00000000000000, 5, 5, 0.0000000000000000, 0.0 }, - { -921.55189181724734, 5, 5, + { 921.55189181724734, 5, 5, 0.10000000000000009, 0.0 }, - { -853.31600434671316, 5, 5, + { 853.31600434671316, 5, 5, 0.20000000000000018, 0.0 }, - { -746.50941479523760, 5, 5, + { 746.50941479523760, 5, 5, 0.30000000000000004, 0.0 }, - { -611.12496255819838, 5, 5, + { 611.12496255819838, 5, 5, 0.40000000000000013, 0.0 }, - { -460.34662869916559, 5, 5, + { 460.34662869916559, 5, 5, 0.50000000000000000, 0.0 }, - { -309.65759999999989, 5, 5, + { 309.65759999999989, 5, 5, 0.60000000000000009, 0.0 }, - { -175.53238298794724, 5, 5, + { 175.53238298794724, 5, 5, 0.70000000000000018, 0.0 }, - { -73.483199999999925, 5, 5, + { 73.483199999999925, 5, 5, 0.80000000000000004, 0.0 }, - { -14.870165800941789, 5, 5, + { 14.870165800941789, 5, 5, 0.90000000000000013, 0.0 }, - { -0.0000000000000000, 5, 5, + { 0.0000000000000000, 5, 5, 1.0000000000000000, 0.0 }, }; const double toler010 = 2.5000000000000020e-13; @@ -634,53 +634,53 @@ const double toler011 = 2.5000000000000020e-13; // Test data for l=10, m=1. // max(|f - f_GSL|): 1.3322676295501878e-15 at index 14 // 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 // stddev(f - f_GSL): 1.4536231567507432e-17 const testcase_assoc_legendre data012[21] = { - { -0.0000000000000000, 10, 1, + { 0.0000000000000000, 10, 1, -1.0000000000000000, 0.0 }, - { -3.0438748781479039, 10, 1, + { 3.0438748781479039, 10, 1, -0.90000000000000002, 0.0 }, - { -0.87614260800000254, 10, 1, + { 0.87614260800000254, 10, 1, -0.80000000000000004, 0.0 }, - { 2.9685359952934527, 10, 1, + { -2.9685359952934527, 10, 1, -0.69999999999999996, 0.0 }, - { 1.2511825919999997, 10, 1, + { -1.2511825919999997, 10, 1, -0.59999999999999998, 0.0 }, - { -2.0066877394361260, 10, 1, + { 2.0066877394361260, 10, 1, -0.50000000000000000, 0.0 }, - { -2.4822196173476647, 10, 1, + { 2.4822196173476647, 10, 1, -0.39999999999999991, 0.0 }, - { -0.12309508907433593, 10, 1, + { 0.12309508907433593, 10, 1, -0.29999999999999993, 0.0 }, - { 2.2468221751958413, 10, 1, + { -2.2468221751958413, 10, 1, -0.19999999999999996, 0.0 }, - { 2.2472659777983512, 10, 1, + { -2.2472659777983512, 10, 1, -0.099999999999999978, 0.0 }, - { -0.0000000000000000, 10, 1, + { 0.0000000000000000, 10, 1, 0.0000000000000000, 0.0 }, - { -2.2472659777983535, 10, 1, + { 2.2472659777983535, 10, 1, 0.10000000000000009, 0.0 }, - { -2.2468221751958377, 10, 1, + { 2.2468221751958377, 10, 1, 0.20000000000000018, 0.0 }, - { 0.12309508907433910, 10, 1, + { -0.12309508907433910, 10, 1, 0.30000000000000004, 0.0 }, - { 2.4822196173476669, 10, 1, + { -2.4822196173476669, 10, 1, 0.40000000000000013, 0.0 }, - { 2.0066877394361260, 10, 1, + { -2.0066877394361260, 10, 1, 0.50000000000000000, 0.0 }, - { -1.2511825920000037, 10, 1, + { 1.2511825920000037, 10, 1, 0.60000000000000009, 0.0 }, - { -2.9685359952934505, 10, 1, + { 2.9685359952934505, 10, 1, 0.70000000000000018, 0.0 }, - { 0.87614260800000254, 10, 1, + { -0.87614260800000254, 10, 1, 0.80000000000000004, 0.0 }, - { 3.0438748781478981, 10, 1, + { -3.0438748781478981, 10, 1, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 10, 1, + { -0.0000000000000000, 10, 1, 1.0000000000000000, 0.0 }, }; const double toler012 = 2.5000000000000020e-13; @@ -742,53 +742,53 @@ const double toler013 = 2.5000000000000020e-13; // Test data for l=10, m=5. // max(|f - f_GSL|): 2.9103830456733704e-11 at index 12 // 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 // stddev(f - f_GSL): 5.5571044200476413e-13 const testcase_assoc_legendre data014[21] = { - { 0.0000000000000000, 10, 5, + { -0.0000000000000000, 10, 5, -1.0000000000000000, 0.0 }, - { 21343.618518164680, 10, 5, + { -21343.618518164680, 10, 5, -0.90000000000000002, 0.0 }, - { 40457.016407807983, 10, 5, + { -40457.016407807983, 10, 5, -0.80000000000000004, 0.0 }, - { 20321.279317331315, 10, 5, + { -20321.279317331315, 10, 5, -0.69999999999999996, 0.0 }, - { -14410.820616192004, 10, 5, + { 14410.820616192004, 10, 5, -0.59999999999999998, 0.0 }, - { -30086.169706116176, 10, 5, + { 30086.169706116176, 10, 5, -0.50000000000000000, 0.0 }, - { -17177.549337582834, 10, 5, + { 17177.549337582834, 10, 5, -0.39999999999999991, 0.0 }, - { 9272.5119495412546, 10, 5, + { -9272.5119495412546, 10, 5, -0.29999999999999993, 0.0 }, - { 26591.511184414714, 10, 5, + { -26591.511184414714, 10, 5, -0.19999999999999996, 0.0 }, - { 21961.951238504211, 10, 5, + { -21961.951238504211, 10, 5, -0.099999999999999978, 0.0 }, - { -0.0000000000000000, 10, 5, + { 0.0000000000000000, 10, 5, 0.0000000000000000, 0.0 }, - { -21961.951238504229, 10, 5, + { 21961.951238504229, 10, 5, 0.10000000000000009, 0.0 }, - { -26591.511184414703, 10, 5, + { 26591.511184414703, 10, 5, 0.20000000000000018, 0.0 }, - { -9272.5119495412364, 10, 5, + { 9272.5119495412364, 10, 5, 0.30000000000000004, 0.0 }, - { 17177.549337582877, 10, 5, + { -17177.549337582877, 10, 5, 0.40000000000000013, 0.0 }, - { 30086.169706116176, 10, 5, + { -30086.169706116176, 10, 5, 0.50000000000000000, 0.0 }, - { 14410.820616191972, 10, 5, + { -14410.820616191972, 10, 5, 0.60000000000000009, 0.0 }, - { -20321.279317331391, 10, 5, + { 20321.279317331391, 10, 5, 0.70000000000000018, 0.0 }, - { -40457.016407807983, 10, 5, + { 40457.016407807983, 10, 5, 0.80000000000000004, 0.0 }, - { -21343.618518164636, 10, 5, + { 21343.618518164636, 10, 5, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 10, 5, + { -0.0000000000000000, 10, 5, 1.0000000000000000, 0.0 }, }; const double toler014 = 2.5000000000000020e-13; @@ -904,53 +904,53 @@ const double toler016 = 2.5000000000000020e-13; // Test data for l=20, m=1. // max(|f - f_GSL|): 1.3322676295501878e-15 at index 12 // 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 // stddev(f - f_GSL): 3.2706521026891724e-17 const testcase_assoc_legendre data017[21] = { - { 0.0000000000000000, 20, 1, + { -0.0000000000000000, 20, 1, -1.0000000000000000, 0.0 }, - { 4.3838334818220499, 20, 1, + { -4.3838334818220499, 20, 1, -0.90000000000000002, 0.0 }, - { -0.63138296146340844, 20, 1, + { 0.63138296146340844, 20, 1, -0.80000000000000004, 0.0 }, - { 0.72274871413391395, 20, 1, + { -0.72274871413391395, 20, 1, -0.69999999999999996, 0.0 }, - { -2.3203528743824910, 20, 1, + { 2.3203528743824910, 20, 1, -0.59999999999999998, 0.0 }, - { 3.7399919228791405, 20, 1, + { -3.7399919228791405, 20, 1, -0.50000000000000000, 0.0 }, - { -3.1692202279270085, 20, 1, + { 3.1692202279270085, 20, 1, -0.39999999999999991, 0.0 }, - { 0.15804468835345031, 20, 1, + { -0.15804468835345031, 20, 1, -0.29999999999999993, 0.0 }, - { 3.0366182393271171, 20, 1, + { -3.0366182393271171, 20, 1, -0.19999999999999996, 0.0 }, - { -3.2115523815580209, 20, 1, + { 3.2115523815580209, 20, 1, -0.099999999999999978, 0.0 }, - { 0.0000000000000000, 20, 1, + { -0.0000000000000000, 20, 1, 0.0000000000000000, 0.0 }, - { 3.2115523815580169, 20, 1, + { -3.2115523815580169, 20, 1, 0.10000000000000009, 0.0 }, - { -3.0366182393271259, 20, 1, + { 3.0366182393271259, 20, 1, 0.20000000000000018, 0.0 }, - { -0.15804468835344135, 20, 1, + { 0.15804468835344135, 20, 1, 0.30000000000000004, 0.0 }, - { 3.1692202279269970, 20, 1, + { -3.1692202279269970, 20, 1, 0.40000000000000013, 0.0 }, - { -3.7399919228791405, 20, 1, + { 3.7399919228791405, 20, 1, 0.50000000000000000, 0.0 }, - { 2.3203528743824995, 20, 1, + { -2.3203528743824995, 20, 1, 0.60000000000000009, 0.0 }, - { -0.72274871413393793, 20, 1, + { 0.72274871413393793, 20, 1, 0.70000000000000018, 0.0 }, - { 0.63138296146340844, 20, 1, + { -0.63138296146340844, 20, 1, 0.80000000000000004, 0.0 }, - { -4.3838334818220686, 20, 1, + { 4.3838334818220686, 20, 1, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 20, 1, + { -0.0000000000000000, 20, 1, 1.0000000000000000, 0.0 }, }; const double toler017 = 2.5000000000000020e-13; @@ -1012,53 +1012,53 @@ const double toler018 = 2.5000000000000020e-13; // Test data for l=20, m=5. // max(|f - f_GSL|): 1.2805685400962830e-09 at index 14 // 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 // stddev(f - f_GSL): 2.6674101216228678e-11 const testcase_assoc_legendre data019[21] = { - { -0.0000000000000000, 20, 5, + { 0.0000000000000000, 20, 5, -1.0000000000000000, 0.0 }, - { -315702.32715134218, 20, 5, + { 315702.32715134218, 20, 5, -0.90000000000000002, 0.0 }, - { 503060.91484852589, 20, 5, + { -503060.91484852589, 20, 5, -0.80000000000000004, 0.0 }, - { -298127.28360361955, 20, 5, + { 298127.28360361955, 20, 5, -0.69999999999999996, 0.0 }, - { -114444.61447464029, 20, 5, + { 114444.61447464029, 20, 5, -0.59999999999999998, 0.0 }, - { 543428.40914592845, 20, 5, + { -543428.40914592845, 20, 5, -0.50000000000000000, 0.0 }, - { -613842.07728185481, 20, 5, + { 613842.07728185481, 20, 5, -0.39999999999999991, 0.0 }, - { 143765.42411271061, 20, 5, + { -143765.42411271061, 20, 5, -0.29999999999999993, 0.0 }, - { 472600.45321372285, 20, 5, + { -472600.45321372285, 20, 5, -0.19999999999999996, 0.0 }, - { -563861.76771496492, 20, 5, + { 563861.76771496492, 20, 5, -0.099999999999999978, 0.0 }, - { 0.0000000000000000, 20, 5, + { -0.0000000000000000, 20, 5, 0.0000000000000000, 0.0 }, - { 563861.76771496458, 20, 5, + { -563861.76771496458, 20, 5, 0.10000000000000009, 0.0 }, - { -472600.45321372483, 20, 5, + { 472600.45321372483, 20, 5, 0.20000000000000018, 0.0 }, - { -143765.42411270936, 20, 5, + { 143765.42411270936, 20, 5, 0.30000000000000004, 0.0 }, - { 613842.07728185353, 20, 5, + { -613842.07728185353, 20, 5, 0.40000000000000013, 0.0 }, - { -543428.40914592845, 20, 5, + { 543428.40914592845, 20, 5, 0.50000000000000000, 0.0 }, - { 114444.61447464178, 20, 5, + { -114444.61447464178, 20, 5, 0.60000000000000009, 0.0 }, - { 298127.28360361519, 20, 5, + { -298127.28360361519, 20, 5, 0.70000000000000018, 0.0 }, - { -503060.91484852589, 20, 5, + { 503060.91484852589, 20, 5, 0.80000000000000004, 0.0 }, - { 315702.32715133618, 20, 5, + { -315702.32715133618, 20, 5, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 20, 5, + { -0.0000000000000000, 20, 5, 1.0000000000000000, 0.0 }, }; const double toler019 = 2.5000000000000020e-13; @@ -1228,53 +1228,53 @@ const double toler022 = 2.5000000000000020e-13; // Test data for l=50, m=1. // max(|f - f_GSL|): 4.4408920985006262e-15 at index 3 // 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 // stddev(f - f_GSL): 1.4536231567507432e-17 const testcase_assoc_legendre data023[21] = { - { 0.0000000000000000, 50, 1, + { -0.0000000000000000, 50, 1, -1.0000000000000000, 0.0 }, - { -0.13424149984449490, 50, 1, + { 0.13424149984449490, 50, 1, -0.90000000000000002, 0.0 }, - { 2.2011219672413018, 50, 1, + { -2.2011219672413018, 50, 1, -0.80000000000000004, 0.0 }, - { 6.6622414993232004, 50, 1, + { -6.6622414993232004, 50, 1, -0.69999999999999996, 0.0 }, - { 5.5772846936919249, 50, 1, + { -5.5772846936919249, 50, 1, -0.59999999999999998, 0.0 }, - { 5.8787148815607608, 50, 1, + { -5.8787148815607608, 50, 1, -0.50000000000000000, 0.0 }, - { 5.5473459458634080, 50, 1, + { -5.5473459458634080, 50, 1, -0.39999999999999991, 0.0 }, - { 1.8444956647620248, 50, 1, + { -1.8444956647620248, 50, 1, -0.29999999999999993, 0.0 }, - { -3.8722014306642127, 50, 1, + { 3.8722014306642127, 50, 1, -0.19999999999999996, 0.0 }, - { -5.3488751322285628, 50, 1, + { 5.3488751322285628, 50, 1, -0.099999999999999978, 0.0 }, - { -0.0000000000000000, 50, 1, + { 0.0000000000000000, 50, 1, 0.0000000000000000, 0.0 }, - { 5.3488751322285522, 50, 1, + { -5.3488751322285522, 50, 1, 0.10000000000000009, 0.0 }, - { 3.8722014306642620, 50, 1, + { -3.8722014306642620, 50, 1, 0.20000000000000018, 0.0 }, - { -1.8444956647619930, 50, 1, + { 1.8444956647619930, 50, 1, 0.30000000000000004, 0.0 }, - { -5.5473459458633814, 50, 1, + { 5.5473459458633814, 50, 1, 0.40000000000000013, 0.0 }, - { -5.8787148815607608, 50, 1, + { 5.8787148815607608, 50, 1, 0.50000000000000000, 0.0 }, - { -5.5772846936919453, 50, 1, + { 5.5772846936919453, 50, 1, 0.60000000000000009, 0.0 }, - { -6.6622414993232182, 50, 1, + { 6.6622414993232182, 50, 1, 0.70000000000000018, 0.0 }, - { -2.2011219672413018, 50, 1, + { 2.2011219672413018, 50, 1, 0.80000000000000004, 0.0 }, - { 0.13424149984438935, 50, 1, + { -0.13424149984438935, 50, 1, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 50, 1, + { -0.0000000000000000, 50, 1, 1.0000000000000000, 0.0 }, }; const double toler023 = 2.5000000000000020e-13; @@ -1336,53 +1336,53 @@ const double toler024 = 5.0000000000000039e-13; // Test data for l=50, m=5. // max(|f - f_GSL|): 7.4505805969238281e-08 at index 14 // 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 // stddev(f - f_GSL): 1.4632649810045447e-09 const testcase_assoc_legendre data025[21] = { - { -0.0000000000000000, 50, 5, + { 0.0000000000000000, 50, 5, -1.0000000000000000, 0.0 }, - { -27340473.952132829, 50, 5, + { 27340473.952132829, 50, 5, -0.90000000000000002, 0.0 }, - { 27753716.768532373, 50, 5, + { -27753716.768532373, 50, 5, -0.80000000000000004, 0.0 }, - { 40808153.913493633, 50, 5, + { -40808153.913493633, 50, 5, -0.69999999999999996, 0.0 }, - { 32071189.035790090, 50, 5, + { -32071189.035790090, 50, 5, -0.59999999999999998, 0.0 }, - { 36265736.218529105, 50, 5, + { -36265736.218529105, 50, 5, -0.50000000000000000, 0.0 }, - { 37089596.700204931, 50, 5, + { -37089596.700204931, 50, 5, -0.39999999999999991, 0.0 }, - { 14562029.629244687, 50, 5, + { -14562029.629244687, 50, 5, -0.29999999999999993, 0.0 }, - { -23686895.217517190, 50, 5, + { 23686895.217517190, 50, 5, -0.19999999999999996, 0.0 }, - { -34878992.965676002, 50, 5, + { 34878992.965676002, 50, 5, -0.099999999999999978, 0.0 }, - { -0.0000000000000000, 50, 5, + { 0.0000000000000000, 50, 5, 0.0000000000000000, 0.0 }, - { 34878992.965675958, 50, 5, + { -34878992.965675958, 50, 5, 0.10000000000000009, 0.0 }, - { 23686895.217517529, 50, 5, + { -23686895.217517529, 50, 5, 0.20000000000000018, 0.0 }, - { -14562029.629244499, 50, 5, + { 14562029.629244499, 50, 5, 0.30000000000000004, 0.0 }, - { -37089596.700204782, 50, 5, + { 37089596.700204782, 50, 5, 0.40000000000000013, 0.0 }, - { -36265736.218529105, 50, 5, + { 36265736.218529105, 50, 5, 0.50000000000000000, 0.0 }, - { -32071189.035790242, 50, 5, + { 32071189.035790242, 50, 5, 0.60000000000000009, 0.0 }, - { -40808153.913493834, 50, 5, + { 40808153.913493834, 50, 5, 0.70000000000000018, 0.0 }, - { -27753716.768532373, 50, 5, + { 27753716.768532373, 50, 5, 0.80000000000000004, 0.0 }, - { 27340473.952132136, 50, 5, + { -27340473.952132136, 50, 5, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 50, 5, + { -0.0000000000000000, 50, 5, 1.0000000000000000, 0.0 }, }; const double toler025 = 2.5000000000000020e-13; @@ -1606,53 +1606,53 @@ const double toler029 = 5.0000000000000039e-13; // Test data for l=100, m=1. // max(|f - f_GSL|): 1.1546319456101628e-14 at index 3 // 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 // stddev(f - f_GSL): 1.8412559985509414e-16 const testcase_assoc_legendre data030[21] = { - { -0.0000000000000000, 100, 1, + { 0.0000000000000000, 100, 1, -1.0000000000000000, 0.0 }, - { 6.5200167187780345, 100, 1, + { -6.5200167187780345, 100, 1, -0.90000000000000002, 0.0 }, - { 9.0065170007027486, 100, 1, + { -9.0065170007027486, 100, 1, -0.80000000000000004, 0.0 }, - { -5.4690908541180976, 100, 1, + { 5.4690908541180976, 100, 1, -0.69999999999999996, 0.0 }, - { -8.6275439170430790, 100, 1, + { 8.6275439170430790, 100, 1, -0.59999999999999998, 0.0 }, - { -6.0909031663448454, 100, 1, + { 6.0909031663448454, 100, 1, -0.50000000000000000, 0.0 }, - { 4.1160338699560395, 100, 1, + { -4.1160338699560395, 100, 1, -0.39999999999999991, 0.0 }, - { 5.8491043010758634, 100, 1, + { -5.8491043010758634, 100, 1, -0.29999999999999993, 0.0 }, - { -7.9435138723089826, 100, 1, + { 7.9435138723089826, 100, 1, -0.19999999999999996, 0.0 }, - { 4.7996285823989355, 100, 1, + { -4.7996285823989355, 100, 1, -0.099999999999999978, 0.0 }, - { 0.0000000000000000, 100, 1, + { -0.0000000000000000, 100, 1, 0.0000000000000000, 0.0 }, - { -4.7996285823990101, 100, 1, + { 4.7996285823990101, 100, 1, 0.10000000000000009, 0.0 }, - { 7.9435138723090155, 100, 1, + { -7.9435138723090155, 100, 1, 0.20000000000000018, 0.0 }, - { -5.8491043010758013, 100, 1, + { 5.8491043010758013, 100, 1, 0.30000000000000004, 0.0 }, - { -4.1160338699562162, 100, 1, + { 4.1160338699562162, 100, 1, 0.40000000000000013, 0.0 }, - { 6.0909031663448454, 100, 1, + { -6.0909031663448454, 100, 1, 0.50000000000000000, 0.0 }, - { 8.6275439170430470, 100, 1, + { -8.6275439170430470, 100, 1, 0.60000000000000009, 0.0 }, - { 5.4690908541178693, 100, 1, + { -5.4690908541178693, 100, 1, 0.70000000000000018, 0.0 }, - { -9.0065170007027486, 100, 1, + { 9.0065170007027486, 100, 1, 0.80000000000000004, 0.0 }, - { -6.5200167187777787, 100, 1, + { 6.5200167187777787, 100, 1, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 100, 1, + { -0.0000000000000000, 100, 1, 1.0000000000000000, 0.0 }, }; const double toler030 = 2.5000000000000020e-13; @@ -1714,53 +1714,53 @@ const double toler031 = 2.5000000000000020e-13; // Test data for l=100, m=5. // max(|f - f_GSL|): 1.4305114746093750e-06 at index 14 // 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 // stddev(f - f_GSL): 1.1706119848036358e-08 const testcase_assoc_legendre data032[21] = { - { 0.0000000000000000, 100, 5, + { -0.0000000000000000, 100, 5, -1.0000000000000000, 0.0 }, - { 900551126.09653807, 100, 5, + { -900551126.09653807, 100, 5, -0.90000000000000002, 0.0 }, - { 988567431.55756140, 100, 5, + { -988567431.55756140, 100, 5, -0.80000000000000004, 0.0 }, - { -645646451.90344620, 100, 5, + { 645646451.90344620, 100, 5, -0.69999999999999996, 0.0 }, - { -897114585.29920685, 100, 5, + { 897114585.29920685, 100, 5, -0.59999999999999998, 0.0 }, - { -661710744.42483854, 100, 5, + { 661710744.42483854, 100, 5, -0.50000000000000000, 0.0 }, - { 380163158.51424754, 100, 5, + { -380163158.51424754, 100, 5, -0.39999999999999991, 0.0 }, - { 617391071.36633193, 100, 5, + { -617391071.36633193, 100, 5, -0.29999999999999993, 0.0 }, - { -805288801.85509109, 100, 5, + { 805288801.85509109, 100, 5, -0.19999999999999996, 0.0 }, - { 481041740.16728652, 100, 5, + { -481041740.16728652, 100, 5, -0.099999999999999978, 0.0 }, - { 0.0000000000000000, 100, 5, + { -0.0000000000000000, 100, 5, 0.0000000000000000, 0.0 }, - { -481041740.16729391, 100, 5, + { 481041740.16729391, 100, 5, 0.10000000000000009, 0.0 }, - { 805288801.85509515, 100, 5, + { -805288801.85509515, 100, 5, 0.20000000000000018, 0.0 }, - { -617391071.36632574, 100, 5, + { 617391071.36632574, 100, 5, 0.30000000000000004, 0.0 }, - { -380163158.51426536, 100, 5, + { 380163158.51426536, 100, 5, 0.40000000000000013, 0.0 }, - { 661710744.42483854, 100, 5, + { -661710744.42483854, 100, 5, 0.50000000000000000, 0.0 }, - { 897114585.29920483, 100, 5, + { -897114585.29920483, 100, 5, 0.60000000000000009, 0.0 }, - { 645646451.90342283, 100, 5, + { -645646451.90342283, 100, 5, 0.70000000000000018, 0.0 }, - { -988567431.55756140, 100, 5, + { 988567431.55756140, 100, 5, 0.80000000000000004, 0.0 }, - { -900551126.09651637, 100, 5, + { 900551126.09651637, 100, 5, 0.90000000000000013, 0.0 }, - { 0.0000000000000000, 100, 5, + { -0.0000000000000000, 100, 5, 1.0000000000000000, 0.0 }, }; const double toler032 = 2.5000000000000020e-13; -- 2.7.4