phiopt: Fix VCE moving by rewriting it into cast [PR116098]
[official-gcc.git] / libstdc++-v3 / testsuite / ext / special_functions / hyperg / check_value.cc
blobd63c44453e0e0f7468fc77d24708984c8fc19fc9
1 // { dg-do run { target c++11 } }
2 // { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__ -ffp-contract=off" }
3 // { dg-additional-options "-ffloat-store" { target { m68*-*-* || ia32 } } }
4 // { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
5 //
6 // Copyright (C) 2016-2024 Free Software Foundation, Inc.
7 //
8 // This file is part of the GNU ISO C++ Library. This library is free
9 // software; you can redistribute it and/or modify it under the
10 // terms of the GNU General Public License as published by the
11 // Free Software Foundation; either version 3, or (at your option)
12 // any later version.
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // GNU General Public License for more details.
19 // You should have received a copy of the GNU General Public License along
20 // with this library; see the file COPYING3. If not see
21 // <http://www.gnu.org/licenses/>.
23 // hyperg
24 // Compare against values generated by the GNU Scientific Library.
25 // The GSL can be found on the web: http://www.gnu.org/software/gsl/
26 #include <limits>
27 #include <cmath>
28 #if defined(__TEST_DEBUG)
29 # include <iostream>
30 # define VERIFY(A) \
31 if (!(A)) \
32 { \
33 std::cout << "line " << __LINE__ \
34 << " max_abs_frac = " << max_abs_frac \
35 << std::endl; \
37 #else
38 # include <testsuite_hooks.h>
39 #endif
40 #include <specfun_testcase.h>
42 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
43 // max(|f - f_GSL|): 0.0000000000000000 at index 0
44 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
45 // mean(f - f_GSL): 0.0000000000000000
46 // variance(f - f_GSL): 0.0000000000000000
47 // stddev(f - f_GSL): 0.0000000000000000
48 const testcase_hyperg<double>
49 data001[19] =
51 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
52 2.0000000000000000, -0.90000000000000002, 0.0 },
53 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
54 2.0000000000000000, -0.80000000000000004, 0.0 },
55 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
56 2.0000000000000000, -0.69999999999999996, 0.0 },
57 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
58 2.0000000000000000, -0.59999999999999998, 0.0 },
59 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
60 2.0000000000000000, -0.50000000000000000, 0.0 },
61 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
62 2.0000000000000000, -0.39999999999999991, 0.0 },
63 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
64 2.0000000000000000, -0.29999999999999993, 0.0 },
65 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
66 2.0000000000000000, -0.19999999999999996, 0.0 },
67 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
68 2.0000000000000000, -0.099999999999999978, 0.0 },
69 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
70 2.0000000000000000, 0.0000000000000000, 0.0 },
71 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
72 2.0000000000000000, 0.10000000000000009, 0.0 },
73 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
74 2.0000000000000000, 0.20000000000000018, 0.0 },
75 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
76 2.0000000000000000, 0.30000000000000004, 0.0 },
77 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
78 2.0000000000000000, 0.40000000000000013, 0.0 },
79 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
80 2.0000000000000000, 0.50000000000000000, 0.0 },
81 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
82 2.0000000000000000, 0.60000000000000009, 0.0 },
83 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
84 2.0000000000000000, 0.70000000000000018, 0.0 },
85 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
86 2.0000000000000000, 0.80000000000000004, 0.0 },
87 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
88 2.0000000000000000, 0.90000000000000013, 0.0 },
90 const double toler001 = 2.5000000000000020e-13;
92 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
93 // max(|f - f_GSL|): 0.0000000000000000 at index 0
94 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
95 // mean(f - f_GSL): 0.0000000000000000
96 // variance(f - f_GSL): 0.0000000000000000
97 // stddev(f - f_GSL): 0.0000000000000000
98 const testcase_hyperg<double>
99 data002[19] =
101 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
102 4.0000000000000000, -0.90000000000000002, 0.0 },
103 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
104 4.0000000000000000, -0.80000000000000004, 0.0 },
105 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
106 4.0000000000000000, -0.69999999999999996, 0.0 },
107 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
108 4.0000000000000000, -0.59999999999999998, 0.0 },
109 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
110 4.0000000000000000, -0.50000000000000000, 0.0 },
111 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
112 4.0000000000000000, -0.39999999999999991, 0.0 },
113 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
114 4.0000000000000000, -0.29999999999999993, 0.0 },
115 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
116 4.0000000000000000, -0.19999999999999996, 0.0 },
117 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
118 4.0000000000000000, -0.099999999999999978, 0.0 },
119 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
120 4.0000000000000000, 0.0000000000000000, 0.0 },
121 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
122 4.0000000000000000, 0.10000000000000009, 0.0 },
123 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
124 4.0000000000000000, 0.20000000000000018, 0.0 },
125 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
126 4.0000000000000000, 0.30000000000000004, 0.0 },
127 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
128 4.0000000000000000, 0.40000000000000013, 0.0 },
129 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
130 4.0000000000000000, 0.50000000000000000, 0.0 },
131 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
132 4.0000000000000000, 0.60000000000000009, 0.0 },
133 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
134 4.0000000000000000, 0.70000000000000018, 0.0 },
135 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
136 4.0000000000000000, 0.80000000000000004, 0.0 },
137 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
138 4.0000000000000000, 0.90000000000000013, 0.0 },
140 const double toler002 = 2.5000000000000020e-13;
142 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
143 // max(|f - f_GSL|): 0.0000000000000000 at index 0
144 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
145 // mean(f - f_GSL): 0.0000000000000000
146 // variance(f - f_GSL): 0.0000000000000000
147 // stddev(f - f_GSL): 0.0000000000000000
148 const testcase_hyperg<double>
149 data003[19] =
151 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
152 6.0000000000000000, -0.90000000000000002, 0.0 },
153 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
154 6.0000000000000000, -0.80000000000000004, 0.0 },
155 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
156 6.0000000000000000, -0.69999999999999996, 0.0 },
157 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
158 6.0000000000000000, -0.59999999999999998, 0.0 },
159 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
160 6.0000000000000000, -0.50000000000000000, 0.0 },
161 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
162 6.0000000000000000, -0.39999999999999991, 0.0 },
163 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
164 6.0000000000000000, -0.29999999999999993, 0.0 },
165 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
166 6.0000000000000000, -0.19999999999999996, 0.0 },
167 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
168 6.0000000000000000, -0.099999999999999978, 0.0 },
169 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
170 6.0000000000000000, 0.0000000000000000, 0.0 },
171 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
172 6.0000000000000000, 0.10000000000000009, 0.0 },
173 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
174 6.0000000000000000, 0.20000000000000018, 0.0 },
175 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
176 6.0000000000000000, 0.30000000000000004, 0.0 },
177 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
178 6.0000000000000000, 0.40000000000000013, 0.0 },
179 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
180 6.0000000000000000, 0.50000000000000000, 0.0 },
181 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
182 6.0000000000000000, 0.60000000000000009, 0.0 },
183 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
184 6.0000000000000000, 0.70000000000000018, 0.0 },
185 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
186 6.0000000000000000, 0.80000000000000004, 0.0 },
187 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
188 6.0000000000000000, 0.90000000000000013, 0.0 },
190 const double toler003 = 2.5000000000000020e-13;
192 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
193 // max(|f - f_GSL|): 0.0000000000000000 at index 0
194 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
195 // mean(f - f_GSL): 0.0000000000000000
196 // variance(f - f_GSL): 0.0000000000000000
197 // stddev(f - f_GSL): 0.0000000000000000
198 const testcase_hyperg<double>
199 data004[19] =
201 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
202 8.0000000000000000, -0.90000000000000002, 0.0 },
203 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
204 8.0000000000000000, -0.80000000000000004, 0.0 },
205 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
206 8.0000000000000000, -0.69999999999999996, 0.0 },
207 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
208 8.0000000000000000, -0.59999999999999998, 0.0 },
209 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
210 8.0000000000000000, -0.50000000000000000, 0.0 },
211 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
212 8.0000000000000000, -0.39999999999999991, 0.0 },
213 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
214 8.0000000000000000, -0.29999999999999993, 0.0 },
215 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
216 8.0000000000000000, -0.19999999999999996, 0.0 },
217 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
218 8.0000000000000000, -0.099999999999999978, 0.0 },
219 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
220 8.0000000000000000, 0.0000000000000000, 0.0 },
221 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
222 8.0000000000000000, 0.10000000000000009, 0.0 },
223 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
224 8.0000000000000000, 0.20000000000000018, 0.0 },
225 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
226 8.0000000000000000, 0.30000000000000004, 0.0 },
227 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
228 8.0000000000000000, 0.40000000000000013, 0.0 },
229 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
230 8.0000000000000000, 0.50000000000000000, 0.0 },
231 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
232 8.0000000000000000, 0.60000000000000009, 0.0 },
233 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
234 8.0000000000000000, 0.70000000000000018, 0.0 },
235 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
236 8.0000000000000000, 0.80000000000000004, 0.0 },
237 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
238 8.0000000000000000, 0.90000000000000013, 0.0 },
240 const double toler004 = 2.5000000000000020e-13;
242 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
243 // max(|f - f_GSL|): 0.0000000000000000 at index 0
244 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
245 // mean(f - f_GSL): 0.0000000000000000
246 // variance(f - f_GSL): 0.0000000000000000
247 // stddev(f - f_GSL): 0.0000000000000000
248 const testcase_hyperg<double>
249 data005[19] =
251 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
252 10.000000000000000, -0.90000000000000002, 0.0 },
253 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
254 10.000000000000000, -0.80000000000000004, 0.0 },
255 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
256 10.000000000000000, -0.69999999999999996, 0.0 },
257 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
258 10.000000000000000, -0.59999999999999998, 0.0 },
259 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
260 10.000000000000000, -0.50000000000000000, 0.0 },
261 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
262 10.000000000000000, -0.39999999999999991, 0.0 },
263 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
264 10.000000000000000, -0.29999999999999993, 0.0 },
265 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
266 10.000000000000000, -0.19999999999999996, 0.0 },
267 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
268 10.000000000000000, -0.099999999999999978, 0.0 },
269 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
270 10.000000000000000, 0.0000000000000000, 0.0 },
271 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
272 10.000000000000000, 0.10000000000000009, 0.0 },
273 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
274 10.000000000000000, 0.20000000000000018, 0.0 },
275 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
276 10.000000000000000, 0.30000000000000004, 0.0 },
277 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
278 10.000000000000000, 0.40000000000000013, 0.0 },
279 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
280 10.000000000000000, 0.50000000000000000, 0.0 },
281 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
282 10.000000000000000, 0.60000000000000009, 0.0 },
283 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
284 10.000000000000000, 0.70000000000000018, 0.0 },
285 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
286 10.000000000000000, 0.80000000000000004, 0.0 },
287 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
288 10.000000000000000, 0.90000000000000013, 0.0 },
290 const double toler005 = 2.5000000000000020e-13;
292 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
293 // max(|f - f_GSL|): 0.0000000000000000 at index 0
294 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
295 // mean(f - f_GSL): 0.0000000000000000
296 // variance(f - f_GSL): 0.0000000000000000
297 // stddev(f - f_GSL): 0.0000000000000000
298 const testcase_hyperg<double>
299 data006[19] =
301 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
302 2.0000000000000000, -0.90000000000000002, 0.0 },
303 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
304 2.0000000000000000, -0.80000000000000004, 0.0 },
305 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
306 2.0000000000000000, -0.69999999999999996, 0.0 },
307 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
308 2.0000000000000000, -0.59999999999999998, 0.0 },
309 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
310 2.0000000000000000, -0.50000000000000000, 0.0 },
311 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
312 2.0000000000000000, -0.39999999999999991, 0.0 },
313 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
314 2.0000000000000000, -0.29999999999999993, 0.0 },
315 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
316 2.0000000000000000, -0.19999999999999996, 0.0 },
317 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
318 2.0000000000000000, -0.099999999999999978, 0.0 },
319 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
320 2.0000000000000000, 0.0000000000000000, 0.0 },
321 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
322 2.0000000000000000, 0.10000000000000009, 0.0 },
323 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
324 2.0000000000000000, 0.20000000000000018, 0.0 },
325 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
326 2.0000000000000000, 0.30000000000000004, 0.0 },
327 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
328 2.0000000000000000, 0.40000000000000013, 0.0 },
329 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
330 2.0000000000000000, 0.50000000000000000, 0.0 },
331 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
332 2.0000000000000000, 0.60000000000000009, 0.0 },
333 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
334 2.0000000000000000, 0.70000000000000018, 0.0 },
335 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
336 2.0000000000000000, 0.80000000000000004, 0.0 },
337 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
338 2.0000000000000000, 0.90000000000000013, 0.0 },
340 const double toler006 = 2.5000000000000020e-13;
342 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
343 // max(|f - f_GSL|): 0.0000000000000000 at index 0
344 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
345 // mean(f - f_GSL): 0.0000000000000000
346 // variance(f - f_GSL): 0.0000000000000000
347 // stddev(f - f_GSL): 0.0000000000000000
348 const testcase_hyperg<double>
349 data007[19] =
351 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
352 4.0000000000000000, -0.90000000000000002, 0.0 },
353 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
354 4.0000000000000000, -0.80000000000000004, 0.0 },
355 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
356 4.0000000000000000, -0.69999999999999996, 0.0 },
357 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
358 4.0000000000000000, -0.59999999999999998, 0.0 },
359 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
360 4.0000000000000000, -0.50000000000000000, 0.0 },
361 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
362 4.0000000000000000, -0.39999999999999991, 0.0 },
363 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
364 4.0000000000000000, -0.29999999999999993, 0.0 },
365 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
366 4.0000000000000000, -0.19999999999999996, 0.0 },
367 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
368 4.0000000000000000, -0.099999999999999978, 0.0 },
369 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
370 4.0000000000000000, 0.0000000000000000, 0.0 },
371 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
372 4.0000000000000000, 0.10000000000000009, 0.0 },
373 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
374 4.0000000000000000, 0.20000000000000018, 0.0 },
375 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
376 4.0000000000000000, 0.30000000000000004, 0.0 },
377 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
378 4.0000000000000000, 0.40000000000000013, 0.0 },
379 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
380 4.0000000000000000, 0.50000000000000000, 0.0 },
381 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
382 4.0000000000000000, 0.60000000000000009, 0.0 },
383 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
384 4.0000000000000000, 0.70000000000000018, 0.0 },
385 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
386 4.0000000000000000, 0.80000000000000004, 0.0 },
387 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
388 4.0000000000000000, 0.90000000000000013, 0.0 },
390 const double toler007 = 2.5000000000000020e-13;
392 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
393 // max(|f - f_GSL|): 0.0000000000000000 at index 0
394 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
395 // mean(f - f_GSL): 0.0000000000000000
396 // variance(f - f_GSL): 0.0000000000000000
397 // stddev(f - f_GSL): 0.0000000000000000
398 const testcase_hyperg<double>
399 data008[19] =
401 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
402 6.0000000000000000, -0.90000000000000002, 0.0 },
403 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
404 6.0000000000000000, -0.80000000000000004, 0.0 },
405 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
406 6.0000000000000000, -0.69999999999999996, 0.0 },
407 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
408 6.0000000000000000, -0.59999999999999998, 0.0 },
409 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
410 6.0000000000000000, -0.50000000000000000, 0.0 },
411 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
412 6.0000000000000000, -0.39999999999999991, 0.0 },
413 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
414 6.0000000000000000, -0.29999999999999993, 0.0 },
415 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
416 6.0000000000000000, -0.19999999999999996, 0.0 },
417 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
418 6.0000000000000000, -0.099999999999999978, 0.0 },
419 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
420 6.0000000000000000, 0.0000000000000000, 0.0 },
421 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
422 6.0000000000000000, 0.10000000000000009, 0.0 },
423 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
424 6.0000000000000000, 0.20000000000000018, 0.0 },
425 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
426 6.0000000000000000, 0.30000000000000004, 0.0 },
427 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
428 6.0000000000000000, 0.40000000000000013, 0.0 },
429 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
430 6.0000000000000000, 0.50000000000000000, 0.0 },
431 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
432 6.0000000000000000, 0.60000000000000009, 0.0 },
433 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
434 6.0000000000000000, 0.70000000000000018, 0.0 },
435 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
436 6.0000000000000000, 0.80000000000000004, 0.0 },
437 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
438 6.0000000000000000, 0.90000000000000013, 0.0 },
440 const double toler008 = 2.5000000000000020e-13;
442 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
443 // max(|f - f_GSL|): 0.0000000000000000 at index 0
444 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
445 // mean(f - f_GSL): 0.0000000000000000
446 // variance(f - f_GSL): 0.0000000000000000
447 // stddev(f - f_GSL): 0.0000000000000000
448 const testcase_hyperg<double>
449 data009[19] =
451 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
452 8.0000000000000000, -0.90000000000000002, 0.0 },
453 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
454 8.0000000000000000, -0.80000000000000004, 0.0 },
455 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
456 8.0000000000000000, -0.69999999999999996, 0.0 },
457 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
458 8.0000000000000000, -0.59999999999999998, 0.0 },
459 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
460 8.0000000000000000, -0.50000000000000000, 0.0 },
461 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
462 8.0000000000000000, -0.39999999999999991, 0.0 },
463 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
464 8.0000000000000000, -0.29999999999999993, 0.0 },
465 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
466 8.0000000000000000, -0.19999999999999996, 0.0 },
467 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
468 8.0000000000000000, -0.099999999999999978, 0.0 },
469 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
470 8.0000000000000000, 0.0000000000000000, 0.0 },
471 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
472 8.0000000000000000, 0.10000000000000009, 0.0 },
473 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
474 8.0000000000000000, 0.20000000000000018, 0.0 },
475 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
476 8.0000000000000000, 0.30000000000000004, 0.0 },
477 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
478 8.0000000000000000, 0.40000000000000013, 0.0 },
479 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
480 8.0000000000000000, 0.50000000000000000, 0.0 },
481 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
482 8.0000000000000000, 0.60000000000000009, 0.0 },
483 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
484 8.0000000000000000, 0.70000000000000018, 0.0 },
485 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
486 8.0000000000000000, 0.80000000000000004, 0.0 },
487 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
488 8.0000000000000000, 0.90000000000000013, 0.0 },
490 const double toler009 = 2.5000000000000020e-13;
492 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
493 // max(|f - f_GSL|): 0.0000000000000000 at index 0
494 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
495 // mean(f - f_GSL): 0.0000000000000000
496 // variance(f - f_GSL): 0.0000000000000000
497 // stddev(f - f_GSL): 0.0000000000000000
498 const testcase_hyperg<double>
499 data010[19] =
501 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
502 10.000000000000000, -0.90000000000000002, 0.0 },
503 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
504 10.000000000000000, -0.80000000000000004, 0.0 },
505 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
506 10.000000000000000, -0.69999999999999996, 0.0 },
507 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
508 10.000000000000000, -0.59999999999999998, 0.0 },
509 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
510 10.000000000000000, -0.50000000000000000, 0.0 },
511 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
512 10.000000000000000, -0.39999999999999991, 0.0 },
513 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
514 10.000000000000000, -0.29999999999999993, 0.0 },
515 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
516 10.000000000000000, -0.19999999999999996, 0.0 },
517 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
518 10.000000000000000, -0.099999999999999978, 0.0 },
519 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
520 10.000000000000000, 0.0000000000000000, 0.0 },
521 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
522 10.000000000000000, 0.10000000000000009, 0.0 },
523 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
524 10.000000000000000, 0.20000000000000018, 0.0 },
525 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
526 10.000000000000000, 0.30000000000000004, 0.0 },
527 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
528 10.000000000000000, 0.40000000000000013, 0.0 },
529 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
530 10.000000000000000, 0.50000000000000000, 0.0 },
531 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
532 10.000000000000000, 0.60000000000000009, 0.0 },
533 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
534 10.000000000000000, 0.70000000000000018, 0.0 },
535 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
536 10.000000000000000, 0.80000000000000004, 0.0 },
537 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
538 10.000000000000000, 0.90000000000000013, 0.0 },
540 const double toler010 = 2.5000000000000020e-13;
542 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
543 // max(|f - f_GSL|): 0.0000000000000000 at index 0
544 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
545 // mean(f - f_GSL): 0.0000000000000000
546 // variance(f - f_GSL): 0.0000000000000000
547 // stddev(f - f_GSL): 0.0000000000000000
548 const testcase_hyperg<double>
549 data011[19] =
551 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
552 2.0000000000000000, -0.90000000000000002, 0.0 },
553 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
554 2.0000000000000000, -0.80000000000000004, 0.0 },
555 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
556 2.0000000000000000, -0.69999999999999996, 0.0 },
557 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
558 2.0000000000000000, -0.59999999999999998, 0.0 },
559 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
560 2.0000000000000000, -0.50000000000000000, 0.0 },
561 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
562 2.0000000000000000, -0.39999999999999991, 0.0 },
563 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
564 2.0000000000000000, -0.29999999999999993, 0.0 },
565 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
566 2.0000000000000000, -0.19999999999999996, 0.0 },
567 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
568 2.0000000000000000, -0.099999999999999978, 0.0 },
569 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
570 2.0000000000000000, 0.0000000000000000, 0.0 },
571 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
572 2.0000000000000000, 0.10000000000000009, 0.0 },
573 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
574 2.0000000000000000, 0.20000000000000018, 0.0 },
575 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
576 2.0000000000000000, 0.30000000000000004, 0.0 },
577 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
578 2.0000000000000000, 0.40000000000000013, 0.0 },
579 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
580 2.0000000000000000, 0.50000000000000000, 0.0 },
581 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
582 2.0000000000000000, 0.60000000000000009, 0.0 },
583 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
584 2.0000000000000000, 0.70000000000000018, 0.0 },
585 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
586 2.0000000000000000, 0.80000000000000004, 0.0 },
587 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
588 2.0000000000000000, 0.90000000000000013, 0.0 },
590 const double toler011 = 2.5000000000000020e-13;
592 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
593 // max(|f - f_GSL|): 0.0000000000000000 at index 0
594 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
595 // mean(f - f_GSL): 0.0000000000000000
596 // variance(f - f_GSL): 0.0000000000000000
597 // stddev(f - f_GSL): 0.0000000000000000
598 const testcase_hyperg<double>
599 data012[19] =
601 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
602 4.0000000000000000, -0.90000000000000002, 0.0 },
603 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
604 4.0000000000000000, -0.80000000000000004, 0.0 },
605 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
606 4.0000000000000000, -0.69999999999999996, 0.0 },
607 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
608 4.0000000000000000, -0.59999999999999998, 0.0 },
609 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
610 4.0000000000000000, -0.50000000000000000, 0.0 },
611 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
612 4.0000000000000000, -0.39999999999999991, 0.0 },
613 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
614 4.0000000000000000, -0.29999999999999993, 0.0 },
615 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
616 4.0000000000000000, -0.19999999999999996, 0.0 },
617 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
618 4.0000000000000000, -0.099999999999999978, 0.0 },
619 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
620 4.0000000000000000, 0.0000000000000000, 0.0 },
621 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
622 4.0000000000000000, 0.10000000000000009, 0.0 },
623 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
624 4.0000000000000000, 0.20000000000000018, 0.0 },
625 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
626 4.0000000000000000, 0.30000000000000004, 0.0 },
627 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
628 4.0000000000000000, 0.40000000000000013, 0.0 },
629 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
630 4.0000000000000000, 0.50000000000000000, 0.0 },
631 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
632 4.0000000000000000, 0.60000000000000009, 0.0 },
633 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
634 4.0000000000000000, 0.70000000000000018, 0.0 },
635 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
636 4.0000000000000000, 0.80000000000000004, 0.0 },
637 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
638 4.0000000000000000, 0.90000000000000013, 0.0 },
640 const double toler012 = 2.5000000000000020e-13;
642 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
643 // max(|f - f_GSL|): 0.0000000000000000 at index 0
644 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
645 // mean(f - f_GSL): 0.0000000000000000
646 // variance(f - f_GSL): 0.0000000000000000
647 // stddev(f - f_GSL): 0.0000000000000000
648 const testcase_hyperg<double>
649 data013[19] =
651 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
652 6.0000000000000000, -0.90000000000000002, 0.0 },
653 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
654 6.0000000000000000, -0.80000000000000004, 0.0 },
655 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
656 6.0000000000000000, -0.69999999999999996, 0.0 },
657 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
658 6.0000000000000000, -0.59999999999999998, 0.0 },
659 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
660 6.0000000000000000, -0.50000000000000000, 0.0 },
661 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
662 6.0000000000000000, -0.39999999999999991, 0.0 },
663 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
664 6.0000000000000000, -0.29999999999999993, 0.0 },
665 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
666 6.0000000000000000, -0.19999999999999996, 0.0 },
667 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
668 6.0000000000000000, -0.099999999999999978, 0.0 },
669 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
670 6.0000000000000000, 0.0000000000000000, 0.0 },
671 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
672 6.0000000000000000, 0.10000000000000009, 0.0 },
673 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
674 6.0000000000000000, 0.20000000000000018, 0.0 },
675 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
676 6.0000000000000000, 0.30000000000000004, 0.0 },
677 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
678 6.0000000000000000, 0.40000000000000013, 0.0 },
679 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
680 6.0000000000000000, 0.50000000000000000, 0.0 },
681 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
682 6.0000000000000000, 0.60000000000000009, 0.0 },
683 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
684 6.0000000000000000, 0.70000000000000018, 0.0 },
685 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
686 6.0000000000000000, 0.80000000000000004, 0.0 },
687 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
688 6.0000000000000000, 0.90000000000000013, 0.0 },
690 const double toler013 = 2.5000000000000020e-13;
692 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
693 // max(|f - f_GSL|): 0.0000000000000000 at index 0
694 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
695 // mean(f - f_GSL): 0.0000000000000000
696 // variance(f - f_GSL): 0.0000000000000000
697 // stddev(f - f_GSL): 0.0000000000000000
698 const testcase_hyperg<double>
699 data014[19] =
701 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
702 8.0000000000000000, -0.90000000000000002, 0.0 },
703 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
704 8.0000000000000000, -0.80000000000000004, 0.0 },
705 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
706 8.0000000000000000, -0.69999999999999996, 0.0 },
707 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
708 8.0000000000000000, -0.59999999999999998, 0.0 },
709 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
710 8.0000000000000000, -0.50000000000000000, 0.0 },
711 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
712 8.0000000000000000, -0.39999999999999991, 0.0 },
713 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
714 8.0000000000000000, -0.29999999999999993, 0.0 },
715 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
716 8.0000000000000000, -0.19999999999999996, 0.0 },
717 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
718 8.0000000000000000, -0.099999999999999978, 0.0 },
719 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
720 8.0000000000000000, 0.0000000000000000, 0.0 },
721 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
722 8.0000000000000000, 0.10000000000000009, 0.0 },
723 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
724 8.0000000000000000, 0.20000000000000018, 0.0 },
725 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
726 8.0000000000000000, 0.30000000000000004, 0.0 },
727 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
728 8.0000000000000000, 0.40000000000000013, 0.0 },
729 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
730 8.0000000000000000, 0.50000000000000000, 0.0 },
731 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
732 8.0000000000000000, 0.60000000000000009, 0.0 },
733 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
734 8.0000000000000000, 0.70000000000000018, 0.0 },
735 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
736 8.0000000000000000, 0.80000000000000004, 0.0 },
737 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
738 8.0000000000000000, 0.90000000000000013, 0.0 },
740 const double toler014 = 2.5000000000000020e-13;
742 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
743 // max(|f - f_GSL|): 0.0000000000000000 at index 0
744 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
745 // mean(f - f_GSL): 0.0000000000000000
746 // variance(f - f_GSL): 0.0000000000000000
747 // stddev(f - f_GSL): 0.0000000000000000
748 const testcase_hyperg<double>
749 data015[19] =
751 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
752 10.000000000000000, -0.90000000000000002, 0.0 },
753 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
754 10.000000000000000, -0.80000000000000004, 0.0 },
755 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
756 10.000000000000000, -0.69999999999999996, 0.0 },
757 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
758 10.000000000000000, -0.59999999999999998, 0.0 },
759 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
760 10.000000000000000, -0.50000000000000000, 0.0 },
761 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
762 10.000000000000000, -0.39999999999999991, 0.0 },
763 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
764 10.000000000000000, -0.29999999999999993, 0.0 },
765 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
766 10.000000000000000, -0.19999999999999996, 0.0 },
767 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
768 10.000000000000000, -0.099999999999999978, 0.0 },
769 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
770 10.000000000000000, 0.0000000000000000, 0.0 },
771 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
772 10.000000000000000, 0.10000000000000009, 0.0 },
773 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
774 10.000000000000000, 0.20000000000000018, 0.0 },
775 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
776 10.000000000000000, 0.30000000000000004, 0.0 },
777 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
778 10.000000000000000, 0.40000000000000013, 0.0 },
779 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
780 10.000000000000000, 0.50000000000000000, 0.0 },
781 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
782 10.000000000000000, 0.60000000000000009, 0.0 },
783 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
784 10.000000000000000, 0.70000000000000018, 0.0 },
785 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
786 10.000000000000000, 0.80000000000000004, 0.0 },
787 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
788 10.000000000000000, 0.90000000000000013, 0.0 },
790 const double toler015 = 2.5000000000000020e-13;
792 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
793 // max(|f - f_GSL|): 0.0000000000000000 at index 0
794 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
795 // mean(f - f_GSL): 0.0000000000000000
796 // variance(f - f_GSL): 0.0000000000000000
797 // stddev(f - f_GSL): 0.0000000000000000
798 const testcase_hyperg<double>
799 data016[19] =
801 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
802 2.0000000000000000, -0.90000000000000002, 0.0 },
803 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
804 2.0000000000000000, -0.80000000000000004, 0.0 },
805 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
806 2.0000000000000000, -0.69999999999999996, 0.0 },
807 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
808 2.0000000000000000, -0.59999999999999998, 0.0 },
809 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
810 2.0000000000000000, -0.50000000000000000, 0.0 },
811 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
812 2.0000000000000000, -0.39999999999999991, 0.0 },
813 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
814 2.0000000000000000, -0.29999999999999993, 0.0 },
815 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
816 2.0000000000000000, -0.19999999999999996, 0.0 },
817 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
818 2.0000000000000000, -0.099999999999999978, 0.0 },
819 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
820 2.0000000000000000, 0.0000000000000000, 0.0 },
821 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
822 2.0000000000000000, 0.10000000000000009, 0.0 },
823 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
824 2.0000000000000000, 0.20000000000000018, 0.0 },
825 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
826 2.0000000000000000, 0.30000000000000004, 0.0 },
827 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
828 2.0000000000000000, 0.40000000000000013, 0.0 },
829 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
830 2.0000000000000000, 0.50000000000000000, 0.0 },
831 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
832 2.0000000000000000, 0.60000000000000009, 0.0 },
833 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
834 2.0000000000000000, 0.70000000000000018, 0.0 },
835 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
836 2.0000000000000000, 0.80000000000000004, 0.0 },
837 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
838 2.0000000000000000, 0.90000000000000013, 0.0 },
840 const double toler016 = 2.5000000000000020e-13;
842 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
843 // max(|f - f_GSL|): 0.0000000000000000 at index 0
844 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
845 // mean(f - f_GSL): 0.0000000000000000
846 // variance(f - f_GSL): 0.0000000000000000
847 // stddev(f - f_GSL): 0.0000000000000000
848 const testcase_hyperg<double>
849 data017[19] =
851 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
852 4.0000000000000000, -0.90000000000000002, 0.0 },
853 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
854 4.0000000000000000, -0.80000000000000004, 0.0 },
855 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
856 4.0000000000000000, -0.69999999999999996, 0.0 },
857 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
858 4.0000000000000000, -0.59999999999999998, 0.0 },
859 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
860 4.0000000000000000, -0.50000000000000000, 0.0 },
861 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
862 4.0000000000000000, -0.39999999999999991, 0.0 },
863 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
864 4.0000000000000000, -0.29999999999999993, 0.0 },
865 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
866 4.0000000000000000, -0.19999999999999996, 0.0 },
867 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
868 4.0000000000000000, -0.099999999999999978, 0.0 },
869 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
870 4.0000000000000000, 0.0000000000000000, 0.0 },
871 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
872 4.0000000000000000, 0.10000000000000009, 0.0 },
873 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
874 4.0000000000000000, 0.20000000000000018, 0.0 },
875 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
876 4.0000000000000000, 0.30000000000000004, 0.0 },
877 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
878 4.0000000000000000, 0.40000000000000013, 0.0 },
879 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
880 4.0000000000000000, 0.50000000000000000, 0.0 },
881 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
882 4.0000000000000000, 0.60000000000000009, 0.0 },
883 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
884 4.0000000000000000, 0.70000000000000018, 0.0 },
885 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
886 4.0000000000000000, 0.80000000000000004, 0.0 },
887 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
888 4.0000000000000000, 0.90000000000000013, 0.0 },
890 const double toler017 = 2.5000000000000020e-13;
892 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
893 // max(|f - f_GSL|): 0.0000000000000000 at index 0
894 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
895 // mean(f - f_GSL): 0.0000000000000000
896 // variance(f - f_GSL): 0.0000000000000000
897 // stddev(f - f_GSL): 0.0000000000000000
898 const testcase_hyperg<double>
899 data018[19] =
901 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
902 6.0000000000000000, -0.90000000000000002, 0.0 },
903 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
904 6.0000000000000000, -0.80000000000000004, 0.0 },
905 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
906 6.0000000000000000, -0.69999999999999996, 0.0 },
907 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
908 6.0000000000000000, -0.59999999999999998, 0.0 },
909 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
910 6.0000000000000000, -0.50000000000000000, 0.0 },
911 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
912 6.0000000000000000, -0.39999999999999991, 0.0 },
913 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
914 6.0000000000000000, -0.29999999999999993, 0.0 },
915 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
916 6.0000000000000000, -0.19999999999999996, 0.0 },
917 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
918 6.0000000000000000, -0.099999999999999978, 0.0 },
919 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
920 6.0000000000000000, 0.0000000000000000, 0.0 },
921 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
922 6.0000000000000000, 0.10000000000000009, 0.0 },
923 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
924 6.0000000000000000, 0.20000000000000018, 0.0 },
925 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
926 6.0000000000000000, 0.30000000000000004, 0.0 },
927 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
928 6.0000000000000000, 0.40000000000000013, 0.0 },
929 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
930 6.0000000000000000, 0.50000000000000000, 0.0 },
931 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
932 6.0000000000000000, 0.60000000000000009, 0.0 },
933 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
934 6.0000000000000000, 0.70000000000000018, 0.0 },
935 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
936 6.0000000000000000, 0.80000000000000004, 0.0 },
937 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
938 6.0000000000000000, 0.90000000000000013, 0.0 },
940 const double toler018 = 2.5000000000000020e-13;
942 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
943 // max(|f - f_GSL|): 0.0000000000000000 at index 0
944 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
945 // mean(f - f_GSL): 0.0000000000000000
946 // variance(f - f_GSL): 0.0000000000000000
947 // stddev(f - f_GSL): 0.0000000000000000
948 const testcase_hyperg<double>
949 data019[19] =
951 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
952 8.0000000000000000, -0.90000000000000002, 0.0 },
953 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
954 8.0000000000000000, -0.80000000000000004, 0.0 },
955 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
956 8.0000000000000000, -0.69999999999999996, 0.0 },
957 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
958 8.0000000000000000, -0.59999999999999998, 0.0 },
959 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
960 8.0000000000000000, -0.50000000000000000, 0.0 },
961 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
962 8.0000000000000000, -0.39999999999999991, 0.0 },
963 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
964 8.0000000000000000, -0.29999999999999993, 0.0 },
965 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
966 8.0000000000000000, -0.19999999999999996, 0.0 },
967 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
968 8.0000000000000000, -0.099999999999999978, 0.0 },
969 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
970 8.0000000000000000, 0.0000000000000000, 0.0 },
971 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
972 8.0000000000000000, 0.10000000000000009, 0.0 },
973 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
974 8.0000000000000000, 0.20000000000000018, 0.0 },
975 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
976 8.0000000000000000, 0.30000000000000004, 0.0 },
977 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
978 8.0000000000000000, 0.40000000000000013, 0.0 },
979 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
980 8.0000000000000000, 0.50000000000000000, 0.0 },
981 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
982 8.0000000000000000, 0.60000000000000009, 0.0 },
983 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
984 8.0000000000000000, 0.70000000000000018, 0.0 },
985 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
986 8.0000000000000000, 0.80000000000000004, 0.0 },
987 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
988 8.0000000000000000, 0.90000000000000013, 0.0 },
990 const double toler019 = 2.5000000000000020e-13;
992 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
993 // max(|f - f_GSL|): 0.0000000000000000 at index 0
994 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
995 // mean(f - f_GSL): 0.0000000000000000
996 // variance(f - f_GSL): 0.0000000000000000
997 // stddev(f - f_GSL): 0.0000000000000000
998 const testcase_hyperg<double>
999 data020[19] =
1001 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1002 10.000000000000000, -0.90000000000000002, 0.0 },
1003 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1004 10.000000000000000, -0.80000000000000004, 0.0 },
1005 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1006 10.000000000000000, -0.69999999999999996, 0.0 },
1007 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1008 10.000000000000000, -0.59999999999999998, 0.0 },
1009 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1010 10.000000000000000, -0.50000000000000000, 0.0 },
1011 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1012 10.000000000000000, -0.39999999999999991, 0.0 },
1013 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1014 10.000000000000000, -0.29999999999999993, 0.0 },
1015 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1016 10.000000000000000, -0.19999999999999996, 0.0 },
1017 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1018 10.000000000000000, -0.099999999999999978, 0.0 },
1019 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1020 10.000000000000000, 0.0000000000000000, 0.0 },
1021 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1022 10.000000000000000, 0.10000000000000009, 0.0 },
1023 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1024 10.000000000000000, 0.20000000000000018, 0.0 },
1025 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1026 10.000000000000000, 0.30000000000000004, 0.0 },
1027 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1028 10.000000000000000, 0.40000000000000013, 0.0 },
1029 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1030 10.000000000000000, 0.50000000000000000, 0.0 },
1031 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1032 10.000000000000000, 0.60000000000000009, 0.0 },
1033 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1034 10.000000000000000, 0.70000000000000018, 0.0 },
1035 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1036 10.000000000000000, 0.80000000000000004, 0.0 },
1037 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
1038 10.000000000000000, 0.90000000000000013, 0.0 },
1040 const double toler020 = 2.5000000000000020e-13;
1042 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
1043 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1044 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1045 // mean(f - f_GSL): 0.0000000000000000
1046 // variance(f - f_GSL): 0.0000000000000000
1047 // stddev(f - f_GSL): 0.0000000000000000
1048 const testcase_hyperg<double>
1049 data021[19] =
1051 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1052 2.0000000000000000, -0.90000000000000002, 0.0 },
1053 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1054 2.0000000000000000, -0.80000000000000004, 0.0 },
1055 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1056 2.0000000000000000, -0.69999999999999996, 0.0 },
1057 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1058 2.0000000000000000, -0.59999999999999998, 0.0 },
1059 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1060 2.0000000000000000, -0.50000000000000000, 0.0 },
1061 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1062 2.0000000000000000, -0.39999999999999991, 0.0 },
1063 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1064 2.0000000000000000, -0.29999999999999993, 0.0 },
1065 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1066 2.0000000000000000, -0.19999999999999996, 0.0 },
1067 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1068 2.0000000000000000, -0.099999999999999978, 0.0 },
1069 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1070 2.0000000000000000, 0.0000000000000000, 0.0 },
1071 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1072 2.0000000000000000, 0.10000000000000009, 0.0 },
1073 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1074 2.0000000000000000, 0.20000000000000018, 0.0 },
1075 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1076 2.0000000000000000, 0.30000000000000004, 0.0 },
1077 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1078 2.0000000000000000, 0.40000000000000013, 0.0 },
1079 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1080 2.0000000000000000, 0.50000000000000000, 0.0 },
1081 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1082 2.0000000000000000, 0.60000000000000009, 0.0 },
1083 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1084 2.0000000000000000, 0.70000000000000018, 0.0 },
1085 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1086 2.0000000000000000, 0.80000000000000004, 0.0 },
1087 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1088 2.0000000000000000, 0.90000000000000013, 0.0 },
1090 const double toler021 = 2.5000000000000020e-13;
1092 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
1093 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1094 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1095 // mean(f - f_GSL): 0.0000000000000000
1096 // variance(f - f_GSL): 0.0000000000000000
1097 // stddev(f - f_GSL): 0.0000000000000000
1098 const testcase_hyperg<double>
1099 data022[19] =
1101 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1102 4.0000000000000000, -0.90000000000000002, 0.0 },
1103 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1104 4.0000000000000000, -0.80000000000000004, 0.0 },
1105 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1106 4.0000000000000000, -0.69999999999999996, 0.0 },
1107 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1108 4.0000000000000000, -0.59999999999999998, 0.0 },
1109 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1110 4.0000000000000000, -0.50000000000000000, 0.0 },
1111 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1112 4.0000000000000000, -0.39999999999999991, 0.0 },
1113 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1114 4.0000000000000000, -0.29999999999999993, 0.0 },
1115 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1116 4.0000000000000000, -0.19999999999999996, 0.0 },
1117 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1118 4.0000000000000000, -0.099999999999999978, 0.0 },
1119 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1120 4.0000000000000000, 0.0000000000000000, 0.0 },
1121 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1122 4.0000000000000000, 0.10000000000000009, 0.0 },
1123 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1124 4.0000000000000000, 0.20000000000000018, 0.0 },
1125 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1126 4.0000000000000000, 0.30000000000000004, 0.0 },
1127 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1128 4.0000000000000000, 0.40000000000000013, 0.0 },
1129 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1130 4.0000000000000000, 0.50000000000000000, 0.0 },
1131 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1132 4.0000000000000000, 0.60000000000000009, 0.0 },
1133 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1134 4.0000000000000000, 0.70000000000000018, 0.0 },
1135 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1136 4.0000000000000000, 0.80000000000000004, 0.0 },
1137 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1138 4.0000000000000000, 0.90000000000000013, 0.0 },
1140 const double toler022 = 2.5000000000000020e-13;
1142 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
1143 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1144 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1145 // mean(f - f_GSL): 0.0000000000000000
1146 // variance(f - f_GSL): 0.0000000000000000
1147 // stddev(f - f_GSL): 0.0000000000000000
1148 const testcase_hyperg<double>
1149 data023[19] =
1151 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1152 6.0000000000000000, -0.90000000000000002, 0.0 },
1153 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1154 6.0000000000000000, -0.80000000000000004, 0.0 },
1155 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1156 6.0000000000000000, -0.69999999999999996, 0.0 },
1157 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1158 6.0000000000000000, -0.59999999999999998, 0.0 },
1159 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1160 6.0000000000000000, -0.50000000000000000, 0.0 },
1161 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1162 6.0000000000000000, -0.39999999999999991, 0.0 },
1163 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1164 6.0000000000000000, -0.29999999999999993, 0.0 },
1165 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1166 6.0000000000000000, -0.19999999999999996, 0.0 },
1167 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1168 6.0000000000000000, -0.099999999999999978, 0.0 },
1169 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1170 6.0000000000000000, 0.0000000000000000, 0.0 },
1171 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1172 6.0000000000000000, 0.10000000000000009, 0.0 },
1173 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1174 6.0000000000000000, 0.20000000000000018, 0.0 },
1175 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1176 6.0000000000000000, 0.30000000000000004, 0.0 },
1177 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1178 6.0000000000000000, 0.40000000000000013, 0.0 },
1179 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1180 6.0000000000000000, 0.50000000000000000, 0.0 },
1181 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1182 6.0000000000000000, 0.60000000000000009, 0.0 },
1183 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1184 6.0000000000000000, 0.70000000000000018, 0.0 },
1185 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1186 6.0000000000000000, 0.80000000000000004, 0.0 },
1187 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1188 6.0000000000000000, 0.90000000000000013, 0.0 },
1190 const double toler023 = 2.5000000000000020e-13;
1192 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
1193 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1194 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1195 // mean(f - f_GSL): 0.0000000000000000
1196 // variance(f - f_GSL): 0.0000000000000000
1197 // stddev(f - f_GSL): 0.0000000000000000
1198 const testcase_hyperg<double>
1199 data024[19] =
1201 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1202 8.0000000000000000, -0.90000000000000002, 0.0 },
1203 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1204 8.0000000000000000, -0.80000000000000004, 0.0 },
1205 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1206 8.0000000000000000, -0.69999999999999996, 0.0 },
1207 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1208 8.0000000000000000, -0.59999999999999998, 0.0 },
1209 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1210 8.0000000000000000, -0.50000000000000000, 0.0 },
1211 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1212 8.0000000000000000, -0.39999999999999991, 0.0 },
1213 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1214 8.0000000000000000, -0.29999999999999993, 0.0 },
1215 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1216 8.0000000000000000, -0.19999999999999996, 0.0 },
1217 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1218 8.0000000000000000, -0.099999999999999978, 0.0 },
1219 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1220 8.0000000000000000, 0.0000000000000000, 0.0 },
1221 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1222 8.0000000000000000, 0.10000000000000009, 0.0 },
1223 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1224 8.0000000000000000, 0.20000000000000018, 0.0 },
1225 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1226 8.0000000000000000, 0.30000000000000004, 0.0 },
1227 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1228 8.0000000000000000, 0.40000000000000013, 0.0 },
1229 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1230 8.0000000000000000, 0.50000000000000000, 0.0 },
1231 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1232 8.0000000000000000, 0.60000000000000009, 0.0 },
1233 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1234 8.0000000000000000, 0.70000000000000018, 0.0 },
1235 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1236 8.0000000000000000, 0.80000000000000004, 0.0 },
1237 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1238 8.0000000000000000, 0.90000000000000013, 0.0 },
1240 const double toler024 = 2.5000000000000020e-13;
1242 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
1243 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1244 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1245 // mean(f - f_GSL): 0.0000000000000000
1246 // variance(f - f_GSL): 0.0000000000000000
1247 // stddev(f - f_GSL): 0.0000000000000000
1248 const testcase_hyperg<double>
1249 data025[19] =
1251 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1252 10.000000000000000, -0.90000000000000002, 0.0 },
1253 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1254 10.000000000000000, -0.80000000000000004, 0.0 },
1255 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1256 10.000000000000000, -0.69999999999999996, 0.0 },
1257 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1258 10.000000000000000, -0.59999999999999998, 0.0 },
1259 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1260 10.000000000000000, -0.50000000000000000, 0.0 },
1261 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1262 10.000000000000000, -0.39999999999999991, 0.0 },
1263 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1264 10.000000000000000, -0.29999999999999993, 0.0 },
1265 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1266 10.000000000000000, -0.19999999999999996, 0.0 },
1267 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1268 10.000000000000000, -0.099999999999999978, 0.0 },
1269 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1270 10.000000000000000, 0.0000000000000000, 0.0 },
1271 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1272 10.000000000000000, 0.10000000000000009, 0.0 },
1273 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1274 10.000000000000000, 0.20000000000000018, 0.0 },
1275 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1276 10.000000000000000, 0.30000000000000004, 0.0 },
1277 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1278 10.000000000000000, 0.40000000000000013, 0.0 },
1279 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1280 10.000000000000000, 0.50000000000000000, 0.0 },
1281 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1282 10.000000000000000, 0.60000000000000009, 0.0 },
1283 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1284 10.000000000000000, 0.70000000000000018, 0.0 },
1285 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1286 10.000000000000000, 0.80000000000000004, 0.0 },
1287 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1288 10.000000000000000, 0.90000000000000013, 0.0 },
1290 const double toler025 = 2.5000000000000020e-13;
1292 // Test data for a=0.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
1293 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1294 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1295 // mean(f - f_GSL): 0.0000000000000000
1296 // variance(f - f_GSL): 0.0000000000000000
1297 // stddev(f - f_GSL): 0.0000000000000000
1298 const testcase_hyperg<double>
1299 data026[19] =
1301 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1302 2.0000000000000000, -0.90000000000000002, 0.0 },
1303 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1304 2.0000000000000000, -0.80000000000000004, 0.0 },
1305 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1306 2.0000000000000000, -0.69999999999999996, 0.0 },
1307 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1308 2.0000000000000000, -0.59999999999999998, 0.0 },
1309 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1310 2.0000000000000000, -0.50000000000000000, 0.0 },
1311 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1312 2.0000000000000000, -0.39999999999999991, 0.0 },
1313 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1314 2.0000000000000000, -0.29999999999999993, 0.0 },
1315 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1316 2.0000000000000000, -0.19999999999999996, 0.0 },
1317 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1318 2.0000000000000000, -0.099999999999999978, 0.0 },
1319 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1320 2.0000000000000000, 0.0000000000000000, 0.0 },
1321 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1322 2.0000000000000000, 0.10000000000000009, 0.0 },
1323 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1324 2.0000000000000000, 0.20000000000000018, 0.0 },
1325 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1326 2.0000000000000000, 0.30000000000000004, 0.0 },
1327 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1328 2.0000000000000000, 0.40000000000000013, 0.0 },
1329 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1330 2.0000000000000000, 0.50000000000000000, 0.0 },
1331 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1332 2.0000000000000000, 0.60000000000000009, 0.0 },
1333 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1334 2.0000000000000000, 0.70000000000000018, 0.0 },
1335 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1336 2.0000000000000000, 0.80000000000000004, 0.0 },
1337 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1338 2.0000000000000000, 0.90000000000000013, 0.0 },
1340 const double toler026 = 2.5000000000000020e-13;
1342 // Test data for a=0.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
1343 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1344 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1345 // mean(f - f_GSL): 0.0000000000000000
1346 // variance(f - f_GSL): 0.0000000000000000
1347 // stddev(f - f_GSL): 0.0000000000000000
1348 const testcase_hyperg<double>
1349 data027[19] =
1351 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1352 4.0000000000000000, -0.90000000000000002, 0.0 },
1353 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1354 4.0000000000000000, -0.80000000000000004, 0.0 },
1355 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1356 4.0000000000000000, -0.69999999999999996, 0.0 },
1357 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1358 4.0000000000000000, -0.59999999999999998, 0.0 },
1359 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1360 4.0000000000000000, -0.50000000000000000, 0.0 },
1361 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1362 4.0000000000000000, -0.39999999999999991, 0.0 },
1363 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1364 4.0000000000000000, -0.29999999999999993, 0.0 },
1365 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1366 4.0000000000000000, -0.19999999999999996, 0.0 },
1367 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1368 4.0000000000000000, -0.099999999999999978, 0.0 },
1369 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1370 4.0000000000000000, 0.0000000000000000, 0.0 },
1371 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1372 4.0000000000000000, 0.10000000000000009, 0.0 },
1373 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1374 4.0000000000000000, 0.20000000000000018, 0.0 },
1375 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1376 4.0000000000000000, 0.30000000000000004, 0.0 },
1377 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1378 4.0000000000000000, 0.40000000000000013, 0.0 },
1379 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1380 4.0000000000000000, 0.50000000000000000, 0.0 },
1381 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1382 4.0000000000000000, 0.60000000000000009, 0.0 },
1383 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1384 4.0000000000000000, 0.70000000000000018, 0.0 },
1385 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1386 4.0000000000000000, 0.80000000000000004, 0.0 },
1387 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1388 4.0000000000000000, 0.90000000000000013, 0.0 },
1390 const double toler027 = 2.5000000000000020e-13;
1392 // Test data for a=0.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
1393 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1394 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1395 // mean(f - f_GSL): 0.0000000000000000
1396 // variance(f - f_GSL): 0.0000000000000000
1397 // stddev(f - f_GSL): 0.0000000000000000
1398 const testcase_hyperg<double>
1399 data028[19] =
1401 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1402 6.0000000000000000, -0.90000000000000002, 0.0 },
1403 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1404 6.0000000000000000, -0.80000000000000004, 0.0 },
1405 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1406 6.0000000000000000, -0.69999999999999996, 0.0 },
1407 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1408 6.0000000000000000, -0.59999999999999998, 0.0 },
1409 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1410 6.0000000000000000, -0.50000000000000000, 0.0 },
1411 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1412 6.0000000000000000, -0.39999999999999991, 0.0 },
1413 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1414 6.0000000000000000, -0.29999999999999993, 0.0 },
1415 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1416 6.0000000000000000, -0.19999999999999996, 0.0 },
1417 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1418 6.0000000000000000, -0.099999999999999978, 0.0 },
1419 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1420 6.0000000000000000, 0.0000000000000000, 0.0 },
1421 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1422 6.0000000000000000, 0.10000000000000009, 0.0 },
1423 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1424 6.0000000000000000, 0.20000000000000018, 0.0 },
1425 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1426 6.0000000000000000, 0.30000000000000004, 0.0 },
1427 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1428 6.0000000000000000, 0.40000000000000013, 0.0 },
1429 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1430 6.0000000000000000, 0.50000000000000000, 0.0 },
1431 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1432 6.0000000000000000, 0.60000000000000009, 0.0 },
1433 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1434 6.0000000000000000, 0.70000000000000018, 0.0 },
1435 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1436 6.0000000000000000, 0.80000000000000004, 0.0 },
1437 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1438 6.0000000000000000, 0.90000000000000013, 0.0 },
1440 const double toler028 = 2.5000000000000020e-13;
1442 // Test data for a=0.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
1443 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1444 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1445 // mean(f - f_GSL): 0.0000000000000000
1446 // variance(f - f_GSL): 0.0000000000000000
1447 // stddev(f - f_GSL): 0.0000000000000000
1448 const testcase_hyperg<double>
1449 data029[19] =
1451 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1452 8.0000000000000000, -0.90000000000000002, 0.0 },
1453 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1454 8.0000000000000000, -0.80000000000000004, 0.0 },
1455 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1456 8.0000000000000000, -0.69999999999999996, 0.0 },
1457 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1458 8.0000000000000000, -0.59999999999999998, 0.0 },
1459 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1460 8.0000000000000000, -0.50000000000000000, 0.0 },
1461 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1462 8.0000000000000000, -0.39999999999999991, 0.0 },
1463 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1464 8.0000000000000000, -0.29999999999999993, 0.0 },
1465 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1466 8.0000000000000000, -0.19999999999999996, 0.0 },
1467 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1468 8.0000000000000000, -0.099999999999999978, 0.0 },
1469 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1470 8.0000000000000000, 0.0000000000000000, 0.0 },
1471 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1472 8.0000000000000000, 0.10000000000000009, 0.0 },
1473 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1474 8.0000000000000000, 0.20000000000000018, 0.0 },
1475 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1476 8.0000000000000000, 0.30000000000000004, 0.0 },
1477 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1478 8.0000000000000000, 0.40000000000000013, 0.0 },
1479 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1480 8.0000000000000000, 0.50000000000000000, 0.0 },
1481 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1482 8.0000000000000000, 0.60000000000000009, 0.0 },
1483 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1484 8.0000000000000000, 0.70000000000000018, 0.0 },
1485 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1486 8.0000000000000000, 0.80000000000000004, 0.0 },
1487 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1488 8.0000000000000000, 0.90000000000000013, 0.0 },
1490 const double toler029 = 2.5000000000000020e-13;
1492 // Test data for a=0.0000000000000000, b=10.000000000000000, c=10.000000000000000.
1493 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1494 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1495 // mean(f - f_GSL): 0.0000000000000000
1496 // variance(f - f_GSL): 0.0000000000000000
1497 // stddev(f - f_GSL): 0.0000000000000000
1498 const testcase_hyperg<double>
1499 data030[19] =
1501 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1502 10.000000000000000, -0.90000000000000002, 0.0 },
1503 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1504 10.000000000000000, -0.80000000000000004, 0.0 },
1505 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1506 10.000000000000000, -0.69999999999999996, 0.0 },
1507 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1508 10.000000000000000, -0.59999999999999998, 0.0 },
1509 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1510 10.000000000000000, -0.50000000000000000, 0.0 },
1511 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1512 10.000000000000000, -0.39999999999999991, 0.0 },
1513 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1514 10.000000000000000, -0.29999999999999993, 0.0 },
1515 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1516 10.000000000000000, -0.19999999999999996, 0.0 },
1517 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1518 10.000000000000000, -0.099999999999999978, 0.0 },
1519 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1520 10.000000000000000, 0.0000000000000000, 0.0 },
1521 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1522 10.000000000000000, 0.10000000000000009, 0.0 },
1523 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1524 10.000000000000000, 0.20000000000000018, 0.0 },
1525 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1526 10.000000000000000, 0.30000000000000004, 0.0 },
1527 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1528 10.000000000000000, 0.40000000000000013, 0.0 },
1529 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1530 10.000000000000000, 0.50000000000000000, 0.0 },
1531 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1532 10.000000000000000, 0.60000000000000009, 0.0 },
1533 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1534 10.000000000000000, 0.70000000000000018, 0.0 },
1535 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1536 10.000000000000000, 0.80000000000000004, 0.0 },
1537 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1538 10.000000000000000, 0.90000000000000013, 0.0 },
1540 const double toler030 = 2.5000000000000020e-13;
1542 // Test data for a=0.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
1543 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1544 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1545 // mean(f - f_GSL): 0.0000000000000000
1546 // variance(f - f_GSL): 0.0000000000000000
1547 // stddev(f - f_GSL): 0.0000000000000000
1548 const testcase_hyperg<double>
1549 data031[19] =
1551 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1552 2.0000000000000000, -0.90000000000000002, 0.0 },
1553 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1554 2.0000000000000000, -0.80000000000000004, 0.0 },
1555 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1556 2.0000000000000000, -0.69999999999999996, 0.0 },
1557 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1558 2.0000000000000000, -0.59999999999999998, 0.0 },
1559 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1560 2.0000000000000000, -0.50000000000000000, 0.0 },
1561 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1562 2.0000000000000000, -0.39999999999999991, 0.0 },
1563 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1564 2.0000000000000000, -0.29999999999999993, 0.0 },
1565 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1566 2.0000000000000000, -0.19999999999999996, 0.0 },
1567 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1568 2.0000000000000000, -0.099999999999999978, 0.0 },
1569 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1570 2.0000000000000000, 0.0000000000000000, 0.0 },
1571 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1572 2.0000000000000000, 0.10000000000000009, 0.0 },
1573 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1574 2.0000000000000000, 0.20000000000000018, 0.0 },
1575 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1576 2.0000000000000000, 0.30000000000000004, 0.0 },
1577 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1578 2.0000000000000000, 0.40000000000000013, 0.0 },
1579 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1580 2.0000000000000000, 0.50000000000000000, 0.0 },
1581 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1582 2.0000000000000000, 0.60000000000000009, 0.0 },
1583 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1584 2.0000000000000000, 0.70000000000000018, 0.0 },
1585 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1586 2.0000000000000000, 0.80000000000000004, 0.0 },
1587 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1588 2.0000000000000000, 0.90000000000000013, 0.0 },
1590 const double toler031 = 2.5000000000000020e-13;
1592 // Test data for a=0.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
1593 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1594 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1595 // mean(f - f_GSL): 0.0000000000000000
1596 // variance(f - f_GSL): 0.0000000000000000
1597 // stddev(f - f_GSL): 0.0000000000000000
1598 const testcase_hyperg<double>
1599 data032[19] =
1601 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1602 4.0000000000000000, -0.90000000000000002, 0.0 },
1603 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1604 4.0000000000000000, -0.80000000000000004, 0.0 },
1605 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1606 4.0000000000000000, -0.69999999999999996, 0.0 },
1607 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1608 4.0000000000000000, -0.59999999999999998, 0.0 },
1609 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1610 4.0000000000000000, -0.50000000000000000, 0.0 },
1611 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1612 4.0000000000000000, -0.39999999999999991, 0.0 },
1613 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1614 4.0000000000000000, -0.29999999999999993, 0.0 },
1615 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1616 4.0000000000000000, -0.19999999999999996, 0.0 },
1617 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1618 4.0000000000000000, -0.099999999999999978, 0.0 },
1619 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1620 4.0000000000000000, 0.0000000000000000, 0.0 },
1621 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1622 4.0000000000000000, 0.10000000000000009, 0.0 },
1623 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1624 4.0000000000000000, 0.20000000000000018, 0.0 },
1625 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1626 4.0000000000000000, 0.30000000000000004, 0.0 },
1627 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1628 4.0000000000000000, 0.40000000000000013, 0.0 },
1629 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1630 4.0000000000000000, 0.50000000000000000, 0.0 },
1631 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1632 4.0000000000000000, 0.60000000000000009, 0.0 },
1633 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1634 4.0000000000000000, 0.70000000000000018, 0.0 },
1635 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1636 4.0000000000000000, 0.80000000000000004, 0.0 },
1637 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1638 4.0000000000000000, 0.90000000000000013, 0.0 },
1640 const double toler032 = 2.5000000000000020e-13;
1642 // Test data for a=0.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
1643 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1644 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1645 // mean(f - f_GSL): 0.0000000000000000
1646 // variance(f - f_GSL): 0.0000000000000000
1647 // stddev(f - f_GSL): 0.0000000000000000
1648 const testcase_hyperg<double>
1649 data033[19] =
1651 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1652 6.0000000000000000, -0.90000000000000002, 0.0 },
1653 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1654 6.0000000000000000, -0.80000000000000004, 0.0 },
1655 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1656 6.0000000000000000, -0.69999999999999996, 0.0 },
1657 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1658 6.0000000000000000, -0.59999999999999998, 0.0 },
1659 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1660 6.0000000000000000, -0.50000000000000000, 0.0 },
1661 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1662 6.0000000000000000, -0.39999999999999991, 0.0 },
1663 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1664 6.0000000000000000, -0.29999999999999993, 0.0 },
1665 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1666 6.0000000000000000, -0.19999999999999996, 0.0 },
1667 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1668 6.0000000000000000, -0.099999999999999978, 0.0 },
1669 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1670 6.0000000000000000, 0.0000000000000000, 0.0 },
1671 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1672 6.0000000000000000, 0.10000000000000009, 0.0 },
1673 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1674 6.0000000000000000, 0.20000000000000018, 0.0 },
1675 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1676 6.0000000000000000, 0.30000000000000004, 0.0 },
1677 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1678 6.0000000000000000, 0.40000000000000013, 0.0 },
1679 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1680 6.0000000000000000, 0.50000000000000000, 0.0 },
1681 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1682 6.0000000000000000, 0.60000000000000009, 0.0 },
1683 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1684 6.0000000000000000, 0.70000000000000018, 0.0 },
1685 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1686 6.0000000000000000, 0.80000000000000004, 0.0 },
1687 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1688 6.0000000000000000, 0.90000000000000013, 0.0 },
1690 const double toler033 = 2.5000000000000020e-13;
1692 // Test data for a=0.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
1693 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1694 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1695 // mean(f - f_GSL): 0.0000000000000000
1696 // variance(f - f_GSL): 0.0000000000000000
1697 // stddev(f - f_GSL): 0.0000000000000000
1698 const testcase_hyperg<double>
1699 data034[19] =
1701 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1702 8.0000000000000000, -0.90000000000000002, 0.0 },
1703 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1704 8.0000000000000000, -0.80000000000000004, 0.0 },
1705 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1706 8.0000000000000000, -0.69999999999999996, 0.0 },
1707 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1708 8.0000000000000000, -0.59999999999999998, 0.0 },
1709 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1710 8.0000000000000000, -0.50000000000000000, 0.0 },
1711 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1712 8.0000000000000000, -0.39999999999999991, 0.0 },
1713 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1714 8.0000000000000000, -0.29999999999999993, 0.0 },
1715 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1716 8.0000000000000000, -0.19999999999999996, 0.0 },
1717 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1718 8.0000000000000000, -0.099999999999999978, 0.0 },
1719 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1720 8.0000000000000000, 0.0000000000000000, 0.0 },
1721 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1722 8.0000000000000000, 0.10000000000000009, 0.0 },
1723 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1724 8.0000000000000000, 0.20000000000000018, 0.0 },
1725 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1726 8.0000000000000000, 0.30000000000000004, 0.0 },
1727 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1728 8.0000000000000000, 0.40000000000000013, 0.0 },
1729 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1730 8.0000000000000000, 0.50000000000000000, 0.0 },
1731 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1732 8.0000000000000000, 0.60000000000000009, 0.0 },
1733 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1734 8.0000000000000000, 0.70000000000000018, 0.0 },
1735 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1736 8.0000000000000000, 0.80000000000000004, 0.0 },
1737 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1738 8.0000000000000000, 0.90000000000000013, 0.0 },
1740 const double toler034 = 2.5000000000000020e-13;
1742 // Test data for a=0.0000000000000000, b=20.000000000000000, c=10.000000000000000.
1743 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1744 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1745 // mean(f - f_GSL): 0.0000000000000000
1746 // variance(f - f_GSL): 0.0000000000000000
1747 // stddev(f - f_GSL): 0.0000000000000000
1748 const testcase_hyperg<double>
1749 data035[19] =
1751 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1752 10.000000000000000, -0.90000000000000002, 0.0 },
1753 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1754 10.000000000000000, -0.80000000000000004, 0.0 },
1755 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1756 10.000000000000000, -0.69999999999999996, 0.0 },
1757 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1758 10.000000000000000, -0.59999999999999998, 0.0 },
1759 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1760 10.000000000000000, -0.50000000000000000, 0.0 },
1761 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1762 10.000000000000000, -0.39999999999999991, 0.0 },
1763 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1764 10.000000000000000, -0.29999999999999993, 0.0 },
1765 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1766 10.000000000000000, -0.19999999999999996, 0.0 },
1767 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1768 10.000000000000000, -0.099999999999999978, 0.0 },
1769 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1770 10.000000000000000, 0.0000000000000000, 0.0 },
1771 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1772 10.000000000000000, 0.10000000000000009, 0.0 },
1773 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1774 10.000000000000000, 0.20000000000000018, 0.0 },
1775 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1776 10.000000000000000, 0.30000000000000004, 0.0 },
1777 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1778 10.000000000000000, 0.40000000000000013, 0.0 },
1779 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1780 10.000000000000000, 0.50000000000000000, 0.0 },
1781 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1782 10.000000000000000, 0.60000000000000009, 0.0 },
1783 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1784 10.000000000000000, 0.70000000000000018, 0.0 },
1785 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1786 10.000000000000000, 0.80000000000000004, 0.0 },
1787 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1788 10.000000000000000, 0.90000000000000013, 0.0 },
1790 const double toler035 = 2.5000000000000020e-13;
1792 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=2.0000000000000000.
1793 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1794 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1795 // mean(f - f_GSL): 0.0000000000000000
1796 // variance(f - f_GSL): 0.0000000000000000
1797 // stddev(f - f_GSL): 0.0000000000000000
1798 const testcase_hyperg<double>
1799 data036[19] =
1801 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1802 2.0000000000000000, -0.90000000000000002, 0.0 },
1803 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1804 2.0000000000000000, -0.80000000000000004, 0.0 },
1805 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1806 2.0000000000000000, -0.69999999999999996, 0.0 },
1807 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1808 2.0000000000000000, -0.59999999999999998, 0.0 },
1809 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1810 2.0000000000000000, -0.50000000000000000, 0.0 },
1811 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1812 2.0000000000000000, -0.39999999999999991, 0.0 },
1813 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1814 2.0000000000000000, -0.29999999999999993, 0.0 },
1815 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1816 2.0000000000000000, -0.19999999999999996, 0.0 },
1817 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1818 2.0000000000000000, -0.099999999999999978, 0.0 },
1819 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1820 2.0000000000000000, 0.0000000000000000, 0.0 },
1821 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1822 2.0000000000000000, 0.10000000000000009, 0.0 },
1823 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1824 2.0000000000000000, 0.20000000000000018, 0.0 },
1825 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1826 2.0000000000000000, 0.30000000000000004, 0.0 },
1827 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1828 2.0000000000000000, 0.40000000000000013, 0.0 },
1829 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1830 2.0000000000000000, 0.50000000000000000, 0.0 },
1831 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1832 2.0000000000000000, 0.60000000000000009, 0.0 },
1833 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1834 2.0000000000000000, 0.70000000000000018, 0.0 },
1835 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1836 2.0000000000000000, 0.80000000000000004, 0.0 },
1837 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1838 2.0000000000000000, 0.90000000000000013, 0.0 },
1840 const double toler036 = 2.5000000000000020e-13;
1842 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=4.0000000000000000.
1843 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1844 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1845 // mean(f - f_GSL): 0.0000000000000000
1846 // variance(f - f_GSL): 0.0000000000000000
1847 // stddev(f - f_GSL): 0.0000000000000000
1848 const testcase_hyperg<double>
1849 data037[19] =
1851 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1852 4.0000000000000000, -0.90000000000000002, 0.0 },
1853 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1854 4.0000000000000000, -0.80000000000000004, 0.0 },
1855 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1856 4.0000000000000000, -0.69999999999999996, 0.0 },
1857 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1858 4.0000000000000000, -0.59999999999999998, 0.0 },
1859 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1860 4.0000000000000000, -0.50000000000000000, 0.0 },
1861 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1862 4.0000000000000000, -0.39999999999999991, 0.0 },
1863 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1864 4.0000000000000000, -0.29999999999999993, 0.0 },
1865 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1866 4.0000000000000000, -0.19999999999999996, 0.0 },
1867 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1868 4.0000000000000000, -0.099999999999999978, 0.0 },
1869 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1870 4.0000000000000000, 0.0000000000000000, 0.0 },
1871 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1872 4.0000000000000000, 0.10000000000000009, 0.0 },
1873 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1874 4.0000000000000000, 0.20000000000000018, 0.0 },
1875 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1876 4.0000000000000000, 0.30000000000000004, 0.0 },
1877 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1878 4.0000000000000000, 0.40000000000000013, 0.0 },
1879 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1880 4.0000000000000000, 0.50000000000000000, 0.0 },
1881 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1882 4.0000000000000000, 0.60000000000000009, 0.0 },
1883 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1884 4.0000000000000000, 0.70000000000000018, 0.0 },
1885 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1886 4.0000000000000000, 0.80000000000000004, 0.0 },
1887 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1888 4.0000000000000000, 0.90000000000000013, 0.0 },
1890 const double toler037 = 2.5000000000000020e-13;
1892 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=6.0000000000000000.
1893 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1894 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1895 // mean(f - f_GSL): 0.0000000000000000
1896 // variance(f - f_GSL): 0.0000000000000000
1897 // stddev(f - f_GSL): 0.0000000000000000
1898 const testcase_hyperg<double>
1899 data038[19] =
1901 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1902 6.0000000000000000, -0.90000000000000002, 0.0 },
1903 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1904 6.0000000000000000, -0.80000000000000004, 0.0 },
1905 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1906 6.0000000000000000, -0.69999999999999996, 0.0 },
1907 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1908 6.0000000000000000, -0.59999999999999998, 0.0 },
1909 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1910 6.0000000000000000, -0.50000000000000000, 0.0 },
1911 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1912 6.0000000000000000, -0.39999999999999991, 0.0 },
1913 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1914 6.0000000000000000, -0.29999999999999993, 0.0 },
1915 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1916 6.0000000000000000, -0.19999999999999996, 0.0 },
1917 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1918 6.0000000000000000, -0.099999999999999978, 0.0 },
1919 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1920 6.0000000000000000, 0.0000000000000000, 0.0 },
1921 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1922 6.0000000000000000, 0.10000000000000009, 0.0 },
1923 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1924 6.0000000000000000, 0.20000000000000018, 0.0 },
1925 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1926 6.0000000000000000, 0.30000000000000004, 0.0 },
1927 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1928 6.0000000000000000, 0.40000000000000013, 0.0 },
1929 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1930 6.0000000000000000, 0.50000000000000000, 0.0 },
1931 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1932 6.0000000000000000, 0.60000000000000009, 0.0 },
1933 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1934 6.0000000000000000, 0.70000000000000018, 0.0 },
1935 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1936 6.0000000000000000, 0.80000000000000004, 0.0 },
1937 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1938 6.0000000000000000, 0.90000000000000013, 0.0 },
1940 const double toler038 = 2.5000000000000020e-13;
1942 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=8.0000000000000000.
1943 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1944 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1945 // mean(f - f_GSL): 0.0000000000000000
1946 // variance(f - f_GSL): 0.0000000000000000
1947 // stddev(f - f_GSL): 0.0000000000000000
1948 const testcase_hyperg<double>
1949 data039[19] =
1951 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1952 8.0000000000000000, -0.90000000000000002, 0.0 },
1953 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1954 8.0000000000000000, -0.80000000000000004, 0.0 },
1955 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1956 8.0000000000000000, -0.69999999999999996, 0.0 },
1957 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1958 8.0000000000000000, -0.59999999999999998, 0.0 },
1959 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1960 8.0000000000000000, -0.50000000000000000, 0.0 },
1961 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1962 8.0000000000000000, -0.39999999999999991, 0.0 },
1963 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1964 8.0000000000000000, -0.29999999999999993, 0.0 },
1965 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1966 8.0000000000000000, -0.19999999999999996, 0.0 },
1967 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1968 8.0000000000000000, -0.099999999999999978, 0.0 },
1969 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1970 8.0000000000000000, 0.0000000000000000, 0.0 },
1971 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1972 8.0000000000000000, 0.10000000000000009, 0.0 },
1973 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1974 8.0000000000000000, 0.20000000000000018, 0.0 },
1975 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1976 8.0000000000000000, 0.30000000000000004, 0.0 },
1977 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1978 8.0000000000000000, 0.40000000000000013, 0.0 },
1979 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1980 8.0000000000000000, 0.50000000000000000, 0.0 },
1981 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1982 8.0000000000000000, 0.60000000000000009, 0.0 },
1983 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1984 8.0000000000000000, 0.70000000000000018, 0.0 },
1985 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1986 8.0000000000000000, 0.80000000000000004, 0.0 },
1987 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1988 8.0000000000000000, 0.90000000000000013, 0.0 },
1990 const double toler039 = 2.5000000000000020e-13;
1992 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=10.000000000000000.
1993 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1994 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1995 // mean(f - f_GSL): 0.0000000000000000
1996 // variance(f - f_GSL): 0.0000000000000000
1997 // stddev(f - f_GSL): 0.0000000000000000
1998 const testcase_hyperg<double>
1999 data040[19] =
2001 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2002 10.000000000000000, -0.90000000000000002, 0.0 },
2003 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2004 10.000000000000000, -0.80000000000000004, 0.0 },
2005 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2006 10.000000000000000, -0.69999999999999996, 0.0 },
2007 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2008 10.000000000000000, -0.59999999999999998, 0.0 },
2009 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2010 10.000000000000000, -0.50000000000000000, 0.0 },
2011 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2012 10.000000000000000, -0.39999999999999991, 0.0 },
2013 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2014 10.000000000000000, -0.29999999999999993, 0.0 },
2015 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2016 10.000000000000000, -0.19999999999999996, 0.0 },
2017 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2018 10.000000000000000, -0.099999999999999978, 0.0 },
2019 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2020 10.000000000000000, 0.0000000000000000, 0.0 },
2021 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2022 10.000000000000000, 0.10000000000000009, 0.0 },
2023 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2024 10.000000000000000, 0.20000000000000018, 0.0 },
2025 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2026 10.000000000000000, 0.30000000000000004, 0.0 },
2027 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2028 10.000000000000000, 0.40000000000000013, 0.0 },
2029 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2030 10.000000000000000, 0.50000000000000000, 0.0 },
2031 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2032 10.000000000000000, 0.60000000000000009, 0.0 },
2033 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2034 10.000000000000000, 0.70000000000000018, 0.0 },
2035 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2036 10.000000000000000, 0.80000000000000004, 0.0 },
2037 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
2038 10.000000000000000, 0.90000000000000013, 0.0 },
2040 const double toler040 = 2.5000000000000020e-13;
2042 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=2.0000000000000000.
2043 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
2044 // max(|f - f_GSL| / |f_GSL|): 3.7062685186203797e-16
2045 // mean(f - f_GSL): 1.1686558153949016e-17
2046 // variance(f - f_GSL): 1.0964410526798704e-32
2047 // stddev(f - f_GSL): 1.0471108120346530e-16
2048 const testcase_hyperg<double>
2049 data041[19] =
2051 { 0.91383715388743736, 0.50000000000000000, 0.50000000000000000,
2052 2.0000000000000000, -0.90000000000000002, 0.0 },
2053 { 0.92151232618202372, 0.50000000000000000, 0.50000000000000000,
2054 2.0000000000000000, -0.80000000000000004, 0.0 },
2055 { 0.92955086110354845, 0.50000000000000000, 0.50000000000000000,
2056 2.0000000000000000, -0.69999999999999996, 0.0 },
2057 { 0.93798900119104855, 0.50000000000000000, 0.50000000000000000,
2058 2.0000000000000000, -0.59999999999999998, 0.0 },
2059 { 0.94686887307107392, 0.50000000000000000, 0.50000000000000000,
2060 2.0000000000000000, -0.50000000000000000, 0.0 },
2061 { 0.95623987262143295, 0.50000000000000000, 0.50000000000000000,
2062 2.0000000000000000, -0.39999999999999991, 0.0 },
2063 { 0.96616049387450120, 0.50000000000000000, 0.50000000000000000,
2064 2.0000000000000000, -0.29999999999999993, 0.0 },
2065 { 0.97670078782187519, 0.50000000000000000, 0.50000000000000000,
2066 2.0000000000000000, -0.19999999999999996, 0.0 },
2067 { 0.98794573712298384, 0.50000000000000000, 0.50000000000000000,
2068 2.0000000000000000, -0.099999999999999978, 0.0 },
2069 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2070 2.0000000000000000, 0.0000000000000000, 0.0 },
2071 { 1.0129947682256604, 0.50000000000000000, 0.50000000000000000,
2072 2.0000000000000000, 0.10000000000000009, 0.0 },
2073 { 1.0270980168168973, 0.50000000000000000, 0.50000000000000000,
2074 2.0000000000000000, 0.20000000000000018, 0.0 },
2075 { 1.0425304520063581, 0.50000000000000000, 0.50000000000000000,
2076 2.0000000000000000, 0.30000000000000004, 0.0 },
2077 { 1.0595915916161471, 0.50000000000000000, 0.50000000000000000,
2078 2.0000000000000000, 0.40000000000000013, 0.0 },
2079 { 1.0787052023767585, 0.50000000000000000, 0.50000000000000000,
2080 2.0000000000000000, 0.50000000000000000, 0.0 },
2081 { 1.1005053642285867, 0.50000000000000000, 0.50000000000000000,
2082 2.0000000000000000, 0.60000000000000009, 0.0 },
2083 { 1.1260196351148746, 0.50000000000000000, 0.50000000000000000,
2084 2.0000000000000000, 0.70000000000000018, 0.0 },
2085 { 1.1571341977338991, 0.50000000000000000, 0.50000000000000000,
2086 2.0000000000000000, 0.80000000000000004, 0.0 },
2087 { 1.1982111053717452, 0.50000000000000000, 0.50000000000000000,
2088 2.0000000000000000, 0.90000000000000013, 0.0 },
2090 const double toler041 = 2.5000000000000020e-13;
2092 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=4.0000000000000000.
2093 // max(|f - f_GSL|): 3.3306690738754696e-16 at index 8
2094 // max(|f - f_GSL| / |f_GSL|): 3.3511582377535958e-16
2095 // mean(f - f_GSL): 4.0902953538821554e-17
2096 // variance(f - f_GSL): 1.9241779613319129e-33
2097 // stddev(f - f_GSL): 4.3865452936586813e-17
2098 const testcase_hyperg<double>
2099 data042[19] =
2101 { 0.95255425675562699, 0.50000000000000000, 0.50000000000000000,
2102 4.0000000000000000, -0.90000000000000002, 0.0 },
2103 { 0.95712841850078267, 0.50000000000000000, 0.50000000000000000,
2104 4.0000000000000000, -0.80000000000000004, 0.0 },
2105 { 0.96184734120034554, 0.50000000000000000, 0.50000000000000000,
2106 4.0000000000000000, -0.69999999999999996, 0.0 },
2107 { 0.96672141255196176, 0.50000000000000000, 0.50000000000000000,
2108 4.0000000000000000, -0.59999999999999998, 0.0 },
2109 { 0.97176228710138646, 0.50000000000000000, 0.50000000000000000,
2110 4.0000000000000000, -0.50000000000000000, 0.0 },
2111 { 0.97698311668286308, 0.50000000000000000, 0.50000000000000000,
2112 4.0000000000000000, -0.39999999999999991, 0.0 },
2113 { 0.98239883902556036, 0.50000000000000000, 0.50000000000000000,
2114 4.0000000000000000, -0.29999999999999993, 0.0 },
2115 { 0.98802654401961032, 0.50000000000000000, 0.50000000000000000,
2116 4.0000000000000000, -0.19999999999999996, 0.0 },
2117 { 0.99388594556732701, 0.50000000000000000, 0.50000000000000000,
2118 4.0000000000000000, -0.099999999999999978, 0.0 },
2119 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2120 4.0000000000000000, 0.0000000000000000, 0.0 },
2121 { 1.0063957328951061, 0.50000000000000000, 0.50000000000000000,
2122 4.0000000000000000, 0.10000000000000009, 0.0 },
2123 { 1.0131053706824598, 0.50000000000000000, 0.50000000000000000,
2124 4.0000000000000000, 0.20000000000000018, 0.0 },
2125 { 1.0201679332118803, 0.50000000000000000, 0.50000000000000000,
2126 4.0000000000000000, 0.30000000000000004, 0.0 },
2127 { 1.0276315524377497, 0.50000000000000000, 0.50000000000000000,
2128 4.0000000000000000, 0.40000000000000013, 0.0 },
2129 { 1.0355569942816882, 0.50000000000000000, 0.50000000000000000,
2130 4.0000000000000000, 0.50000000000000000, 0.0 },
2131 { 1.0440233080381554, 0.50000000000000000, 0.50000000000000000,
2132 4.0000000000000000, 0.60000000000000009, 0.0 },
2133 { 1.0531375808028993, 0.50000000000000000, 0.50000000000000000,
2134 4.0000000000000000, 0.70000000000000018, 0.0 },
2135 { 1.0630536689840200, 0.50000000000000000, 0.50000000000000000,
2136 4.0000000000000000, 0.80000000000000004, 0.0 },
2137 { 1.0740149570414563, 0.50000000000000000, 0.50000000000000000,
2138 4.0000000000000000, 0.90000000000000013, 0.0 },
2140 const double toler042 = 2.5000000000000020e-13;
2142 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=6.0000000000000000.
2143 // max(|f - f_GSL|): 5.5511151231257827e-16 at index 7
2144 // max(|f - f_GSL| / |f_GSL|): 5.5963253065363064e-16
2145 // mean(f - f_GSL): 5.8432790769745078e-18
2146 // variance(f - f_GSL): 2.0022663489405960e-36
2147 // stddev(f - f_GSL): 1.4150146108576393e-18
2148 const testcase_hyperg<double>
2149 data043[19] =
2151 { 0.96694084713323880, 0.50000000000000000, 0.50000000000000000,
2152 6.0000000000000000, -0.90000000000000002, 0.0 },
2153 { 0.97024454918852632, 0.50000000000000000, 0.50000000000000000,
2154 6.0000000000000000, -0.80000000000000004, 0.0 },
2155 { 0.97362815600391439, 0.50000000000000000, 0.50000000000000000,
2156 6.0000000000000000, -0.69999999999999996, 0.0 },
2157 { 0.97709622064205104, 0.50000000000000000, 0.50000000000000000,
2158 6.0000000000000000, -0.59999999999999998, 0.0 },
2159 { 0.98065374770570635, 0.50000000000000000, 0.50000000000000000,
2160 6.0000000000000000, -0.50000000000000000, 0.0 },
2161 { 0.98430626119885523, 0.50000000000000000, 0.50000000000000000,
2162 6.0000000000000000, -0.39999999999999991, 0.0 },
2163 { 0.98805988669621037, 0.50000000000000000, 0.50000000000000000,
2164 6.0000000000000000, -0.29999999999999993, 0.0 },
2165 { 0.99192145185739655, 0.50000000000000000, 0.50000000000000000,
2166 6.0000000000000000, -0.19999999999999996, 0.0 },
2167 { 0.99589861079880937, 0.50000000000000000, 0.50000000000000000,
2168 6.0000000000000000, -0.099999999999999978, 0.0 },
2169 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2170 6.0000000000000000, 0.0000000000000000, 0.0 },
2171 { 1.0042354366729904, 0.50000000000000000, 0.50000000000000000,
2172 6.0000000000000000, 0.10000000000000009, 0.0 },
2173 { 1.0086161755545404, 0.50000000000000000, 0.50000000000000000,
2174 6.0000000000000000, 0.20000000000000018, 0.0 },
2175 { 1.0131552481403503, 0.50000000000000000, 0.50000000000000000,
2176 6.0000000000000000, 0.30000000000000004, 0.0 },
2177 { 1.0178679218284707, 0.50000000000000000, 0.50000000000000000,
2178 6.0000000000000000, 0.40000000000000013, 0.0 },
2179 { 1.0227723400312978, 0.50000000000000000, 0.50000000000000000,
2180 6.0000000000000000, 0.50000000000000000, 0.0 },
2181 { 1.0278904483717863, 0.50000000000000000, 0.50000000000000000,
2182 6.0000000000000000, 0.60000000000000009, 0.0 },
2183 { 1.0332494012993474, 0.50000000000000000, 0.50000000000000000,
2184 6.0000000000000000, 0.70000000000000018, 0.0 },
2185 { 1.0388838453357794, 0.50000000000000000, 0.50000000000000000,
2186 6.0000000000000000, 0.80000000000000004, 0.0 },
2187 { 1.0448400142331342, 0.50000000000000000, 0.50000000000000000,
2188 6.0000000000000000, 0.90000000000000013, 0.0 },
2190 const double toler043 = 2.5000000000000020e-13;
2192 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=8.0000000000000000.
2193 // max(|f - f_GSL|): 3.3306690738754696e-16 at index 7
2194 // max(|f - f_GSL| / |f_GSL|): 3.3511105824376917e-16
2195 // mean(f - f_GSL): -1.7529837230923523e-17
2196 // variance(f - f_GSL): 3.3658097325691423e-33
2197 // stddev(f - f_GSL): 5.8015599045163211e-17
2198 const testcase_hyperg<double>
2199 data044[19] =
2201 { 0.97456073259047449, 0.50000000000000000, 0.50000000000000000,
2202 8.0000000000000000, -0.90000000000000002, 0.0 },
2203 { 0.97715689327833399, 0.50000000000000000, 0.50000000000000000,
2204 8.0000000000000000, -0.80000000000000004, 0.0 },
2205 { 0.97980416868943110, 0.50000000000000000, 0.50000000000000000,
2206 8.0000000000000000, -0.69999999999999996, 0.0 },
2207 { 0.98250498942832487, 0.50000000000000000, 0.50000000000000000,
2208 8.0000000000000000, -0.59999999999999998, 0.0 },
2209 { 0.98526199049760810, 0.50000000000000000, 0.50000000000000000,
2210 8.0000000000000000, -0.50000000000000000, 0.0 },
2211 { 0.98807803762902791, 0.50000000000000000, 0.50000000000000000,
2212 8.0000000000000000, -0.39999999999999991, 0.0 },
2213 { 0.99095625840920332, 0.50000000000000000, 0.50000000000000000,
2214 8.0000000000000000, -0.29999999999999993, 0.0 },
2215 { 0.99390007937387959, 0.50000000000000000, 0.50000000000000000,
2216 8.0000000000000000, -0.19999999999999996, 0.0 },
2217 { 0.99691327061866730, 0.50000000000000000, 0.50000000000000000,
2218 8.0000000000000000, -0.099999999999999978, 0.0 },
2219 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2220 8.0000000000000000, 0.0000000000000000, 0.0 },
2221 { 1.0031648997547440, 0.50000000000000000, 0.50000000000000000,
2222 8.0000000000000000, 0.10000000000000009, 0.0 },
2223 { 1.0064131494767281, 0.50000000000000000, 0.50000000000000000,
2224 8.0000000000000000, 0.20000000000000018, 0.0 },
2225 { 1.0097505810668461, 0.50000000000000000, 0.50000000000000000,
2226 8.0000000000000000, 0.30000000000000004, 0.0 },
2227 { 1.0131838138968663, 0.50000000000000000, 0.50000000000000000,
2228 8.0000000000000000, 0.40000000000000013, 0.0 },
2229 { 1.0167204326938339, 0.50000000000000000, 0.50000000000000000,
2230 8.0000000000000000, 0.50000000000000000, 0.0 },
2231 { 1.0203692279382193, 0.50000000000000000, 0.50000000000000000,
2232 8.0000000000000000, 0.60000000000000009, 0.0 },
2233 { 1.0241405318057402, 0.50000000000000000, 0.50000000000000000,
2234 8.0000000000000000, 0.70000000000000018, 0.0 },
2235 { 1.0280467087844301, 0.50000000000000000, 0.50000000000000000,
2236 8.0000000000000000, 0.80000000000000004, 0.0 },
2237 { 1.0321029179180026, 0.50000000000000000, 0.50000000000000000,
2238 8.0000000000000000, 0.90000000000000013, 0.0 },
2240 const double toler044 = 2.5000000000000020e-13;
2242 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=10.000000000000000.
2243 // max(|f - f_GSL|): 1.1102230246251565e-16 at index 7
2244 // max(|f - f_GSL| / |f_GSL|): 1.1156911610791411e-16
2245 // mean(f - f_GSL): 0.0000000000000000
2246 // variance(f - f_GSL): 0.0000000000000000
2247 // stddev(f - f_GSL): 0.0000000000000000
2248 const testcase_hyperg<double>
2249 data045[19] =
2251 { 0.97930223035212138, 0.50000000000000000, 0.50000000000000000,
2252 10.000000000000000, -0.90000000000000002, 0.0 },
2253 { 0.98144406855076427, 0.50000000000000000, 0.50000000000000000,
2254 10.000000000000000, -0.80000000000000004, 0.0 },
2255 { 0.98362155940297280, 0.50000000000000000, 0.50000000000000000,
2256 10.000000000000000, -0.69999999999999996, 0.0 },
2257 { 0.98583616201745783, 0.50000000000000000, 0.50000000000000000,
2258 10.000000000000000, -0.59999999999999998, 0.0 },
2259 { 0.98808944235385032, 0.50000000000000000, 0.50000000000000000,
2260 10.000000000000000, -0.50000000000000000, 0.0 },
2261 { 0.99038308530635433, 0.50000000000000000, 0.50000000000000000,
2262 10.000000000000000, -0.39999999999999991, 0.0 },
2263 { 0.99271890872975732, 0.50000000000000000, 0.50000000000000000,
2264 10.000000000000000, -0.29999999999999993, 0.0 },
2265 { 0.99509887982916734, 0.50000000000000000, 0.50000000000000000,
2266 10.000000000000000, -0.19999999999999996, 0.0 },
2267 { 0.99752513445413604, 0.50000000000000000, 0.50000000000000000,
2268 10.000000000000000, -0.099999999999999978, 0.0 },
2269 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2270 10.000000000000000, 0.0000000000000000, 0.0 },
2271 { 1.0025260228440118, 0.50000000000000000, 0.50000000000000000,
2272 10.000000000000000, 0.10000000000000009, 0.0 },
2273 { 1.0051060015613384, 0.50000000000000000, 0.50000000000000000,
2274 10.000000000000000, 0.20000000000000018, 0.0 },
2275 { 1.0077430276253163, 0.50000000000000000, 0.50000000000000000,
2276 10.000000000000000, 0.30000000000000004, 0.0 },
2277 { 1.0104405359789990, 0.50000000000000000, 0.50000000000000000,
2278 10.000000000000000, 0.40000000000000013, 0.0 },
2279 { 1.0132023689128868, 0.50000000000000000, 0.50000000000000000,
2280 10.000000000000000, 0.50000000000000000, 0.0 },
2281 { 1.0160328583559475, 0.50000000000000000, 0.50000000000000000,
2282 10.000000000000000, 0.60000000000000009, 0.0 },
2283 { 1.0189369344885053, 0.50000000000000000, 0.50000000000000000,
2284 10.000000000000000, 0.70000000000000018, 0.0 },
2285 { 1.0219202735809589, 0.50000000000000000, 0.50000000000000000,
2286 10.000000000000000, 0.80000000000000004, 0.0 },
2287 { 1.0249895076611382, 0.50000000000000000, 0.50000000000000000,
2288 10.000000000000000, 0.90000000000000013, 0.0 },
2290 const double toler045 = 2.5000000000000020e-13;
2292 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=2.0000000000000000.
2293 // max(|f - f_GSL|): 8.8817841970012523e-16 at index 18
2294 // max(|f - f_GSL| / |f_GSL|): 5.8452254859313207e-16
2295 // mean(f - f_GSL): 8.1805907077643109e-17
2296 // variance(f - f_GSL): 3.8131160349224712e-32
2297 // stddev(f - f_GSL): 1.9527201629835421e-16
2298 const testcase_hyperg<double>
2299 data046[19] =
2301 { 0.84089972268671531, 0.50000000000000000, 1.0000000000000000,
2302 2.0000000000000000, -0.90000000000000002, 0.0 },
2303 { 0.85410196624968460, 0.50000000000000000, 1.0000000000000000,
2304 2.0000000000000000, -0.80000000000000004, 0.0 },
2305 { 0.86811566011579955, 0.50000000000000000, 1.0000000000000000,
2306 2.0000000000000000, -0.69999999999999996, 0.0 },
2307 { 0.88303688022450522, 0.50000000000000000, 1.0000000000000000,
2308 2.0000000000000000, -0.59999999999999998, 0.0 },
2309 { 0.89897948556635621, 0.50000000000000000, 1.0000000000000000,
2310 2.0000000000000000, -0.50000000000000000, 0.0 },
2311 { 0.91607978309961580, 0.50000000000000000, 1.0000000000000000,
2312 2.0000000000000000, -0.39999999999999991, 0.0 },
2313 { 0.93450283399425327, 0.50000000000000000, 1.0000000000000000,
2314 2.0000000000000000, -0.29999999999999993, 0.0 },
2315 { 0.95445115010332193, 0.50000000000000000, 1.0000000000000000,
2316 2.0000000000000000, -0.19999999999999996, 0.0 },
2317 { 0.97617696340303095, 0.50000000000000000, 1.0000000000000000,
2318 2.0000000000000000, -0.099999999999999978, 0.0 },
2319 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2320 2.0000000000000000, 0.0000000000000000, 0.0 },
2321 { 1.0263340389897240, 0.50000000000000000, 1.0000000000000000,
2322 2.0000000000000000, 0.10000000000000009, 0.0 },
2323 { 1.0557280900008412, 0.50000000000000000, 1.0000000000000000,
2324 2.0000000000000000, 0.20000000000000018, 0.0 },
2325 { 1.0889331564394962, 0.50000000000000000, 1.0000000000000000,
2326 2.0000000000000000, 0.30000000000000004, 0.0 },
2327 { 1.1270166537925830, 0.50000000000000000, 1.0000000000000000,
2328 2.0000000000000000, 0.40000000000000013, 0.0 },
2329 { 1.1715728752538095, 0.50000000000000000, 1.0000000000000000,
2330 2.0000000000000000, 0.50000000000000000, 0.0 },
2331 { 1.2251482265544145, 0.50000000000000000, 1.0000000000000000,
2332 2.0000000000000000, 0.60000000000000009, 0.0 },
2333 { 1.2922212642709543, 0.50000000000000000, 1.0000000000000000,
2334 2.0000000000000000, 0.70000000000000018, 0.0 },
2335 { 1.3819660112501042, 0.50000000000000000, 1.0000000000000000,
2336 2.0000000000000000, 0.80000000000000004, 0.0 },
2337 { 1.5194938532959121, 0.50000000000000000, 1.0000000000000000,
2338 2.0000000000000000, 0.90000000000000013, 0.0 },
2340 const double toler046 = 2.5000000000000020e-13;
2342 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=4.0000000000000000.
2343 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 17
2344 // max(|f - f_GSL| / |f_GSL|): 1.9508457915403988e-16
2345 // mean(f - f_GSL): 2.3373116307898031e-17
2346 // variance(f - f_GSL): 2.3146198993753289e-33
2347 // stddev(f - f_GSL): 4.8110496769159731e-17
2348 const testcase_hyperg<double>
2349 data047[19] =
2351 { 0.90992197313391454, 0.50000000000000000, 1.0000000000000000,
2352 4.0000000000000000, -0.90000000000000002, 0.0 },
2353 { 0.91822592662244484, 0.50000000000000000, 1.0000000000000000,
2354 4.0000000000000000, -0.80000000000000004, 0.0 },
2355 { 0.92687104566419554, 0.50000000000000000, 1.0000000000000000,
2356 4.0000000000000000, -0.69999999999999996, 0.0 },
2357 { 0.93588628166548848, 0.50000000000000000, 1.0000000000000000,
2358 4.0000000000000000, -0.59999999999999998, 0.0 },
2359 { 0.94530459215552909, 0.50000000000000000, 1.0000000000000000,
2360 4.0000000000000000, -0.50000000000000000, 0.0 },
2361 { 0.95516374875247434, 0.50000000000000000, 1.0000000000000000,
2362 4.0000000000000000, -0.39999999999999991, 0.0 },
2363 { 0.96550736800511816, 0.50000000000000000, 1.0000000000000000,
2364 4.0000000000000000, -0.29999999999999993, 0.0 },
2365 { 0.97638624595136270, 0.50000000000000000, 1.0000000000000000,
2366 4.0000000000000000, -0.19999999999999996, 0.0 },
2367 { 0.98786011482678993, 0.50000000000000000, 1.0000000000000000,
2368 4.0000000000000000, -0.099999999999999978, 0.0 },
2369 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2370 4.0000000000000000, 0.0000000000000000, 0.0 },
2371 { 1.0128914530682316, 0.50000000000000000, 1.0000000000000000,
2372 4.0000000000000000, 0.10000000000000009, 0.0 },
2373 { 1.0266391040215350, 0.50000000000000000, 1.0000000000000000,
2374 4.0000000000000000, 0.20000000000000018, 0.0 },
2375 { 1.0413732738729464, 0.50000000000000000, 1.0000000000000000,
2376 4.0000000000000000, 0.30000000000000004, 0.0 },
2377 { 1.0572599536532992, 0.50000000000000000, 1.0000000000000000,
2378 4.0000000000000000, 0.40000000000000013, 0.0 },
2379 { 1.0745166004060953, 0.50000000000000000, 1.0000000000000000,
2380 4.0000000000000000, 0.50000000000000000, 0.0 },
2381 { 1.0934387388831386, 0.50000000000000000, 1.0000000000000000,
2382 4.0000000000000000, 0.60000000000000009, 0.0 },
2383 { 1.1144486980714641, 0.50000000000000000, 1.0000000000000000,
2384 4.0000000000000000, 0.70000000000000018, 0.0 },
2385 { 1.1381966011250106, 0.50000000000000000, 1.0000000000000000,
2386 4.0000000000000000, 0.80000000000000004, 0.0 },
2387 { 1.1658171625342397, 0.50000000000000000, 1.0000000000000000,
2388 4.0000000000000000, 0.90000000000000013, 0.0 },
2390 const double toler047 = 2.5000000000000020e-13;
2392 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=6.0000000000000000.
2393 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 7
2394 // max(|f - f_GSL| / |f_GSL|): 4.5130734546221216e-16
2395 // mean(f - f_GSL): 4.6746232615796062e-17
2396 // variance(f - f_GSL): 1.2814504633219814e-34
2397 // stddev(f - f_GSL): 1.1320116886861114e-17
2398 const testcase_hyperg<double>
2399 data048[19] =
2401 { 0.93641908369732896, 0.50000000000000000, 1.0000000000000000,
2402 6.0000000000000000, -0.90000000000000002, 0.0 },
2403 { 0.94256349654111271, 0.50000000000000000, 1.0000000000000000,
2404 6.0000000000000000, -0.80000000000000004, 0.0 },
2405 { 0.94890138508461319, 0.50000000000000000, 1.0000000000000000,
2406 6.0000000000000000, -0.69999999999999996, 0.0 },
2407 { 0.95544578858430029, 0.50000000000000000, 1.0000000000000000,
2408 6.0000000000000000, -0.59999999999999998, 0.0 },
2409 { 0.96221121193620762, 0.50000000000000000, 1.0000000000000000,
2410 6.0000000000000000, -0.50000000000000000, 0.0 },
2411 { 0.96921386948293542, 0.50000000000000000, 1.0000000000000000,
2412 6.0000000000000000, -0.39999999999999991, 0.0 },
2413 { 0.97647198488394704, 0.50000000000000000, 1.0000000000000000,
2414 6.0000000000000000, -0.29999999999999993, 0.0 },
2415 { 0.98400616412578656, 0.50000000000000000, 1.0000000000000000,
2416 6.0000000000000000, -0.19999999999999996, 0.0 },
2417 { 0.99183986544963032, 0.50000000000000000, 1.0000000000000000,
2418 6.0000000000000000, -0.099999999999999978, 0.0 },
2419 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2420 6.0000000000000000, 0.0000000000000000, 0.0 },
2421 { 1.0085177124149158, 0.50000000000000000, 1.0000000000000000,
2422 6.0000000000000000, 0.10000000000000009, 0.0 },
2423 { 1.0174294150407122, 0.50000000000000000, 1.0000000000000000,
2424 6.0000000000000000, 0.20000000000000018, 0.0 },
2425 { 1.0267781897388850, 0.50000000000000000, 1.0000000000000000,
2426 6.0000000000000000, 0.30000000000000004, 0.0 },
2427 { 1.0366157405967287, 0.50000000000000000, 1.0000000000000000,
2428 6.0000000000000000, 0.40000000000000013, 0.0 },
2429 { 1.0470052068648839, 0.50000000000000000, 1.0000000000000000,
2430 6.0000000000000000, 0.50000000000000000, 0.0 },
2431 { 1.0580253905513313, 0.50000000000000000, 1.0000000000000000,
2432 6.0000000000000000, 0.60000000000000009, 0.0 },
2433 { 1.0697774741209765, 0.50000000000000000, 1.0000000000000000,
2434 6.0000000000000000, 0.70000000000000018, 0.0 },
2435 { 1.0823965556448414, 0.50000000000000000, 1.0000000000000000,
2436 6.0000000000000000, 0.80000000000000004, 0.0 },
2437 { 1.0960739512057103, 0.50000000000000000, 1.0000000000000000,
2438 6.0000000000000000, 0.90000000000000013, 0.0 },
2440 const double toler048 = 2.5000000000000020e-13;
2442 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=8.0000000000000000.
2443 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 7
2444 // max(|f - f_GSL| / |f_GSL|): 2.2476491960642283e-16
2445 // mean(f - f_GSL): -5.8432790769745078e-18
2446 // variance(f - f_GSL): 2.0022663489405960e-36
2447 // stddev(f - f_GSL): 1.4150146108576393e-18
2448 const testcase_hyperg<double>
2449 data049[19] =
2451 { 0.95069883346936235, 0.50000000000000000, 1.0000000000000000,
2452 8.0000000000000000, -0.90000000000000002, 0.0 },
2453 { 0.95559618047704131, 0.50000000000000000, 1.0000000000000000,
2454 8.0000000000000000, -0.80000000000000004, 0.0 },
2455 { 0.96061938755931664, 0.50000000000000000, 1.0000000000000000,
2456 8.0000000000000000, -0.69999999999999996, 0.0 },
2457 { 0.96577553912851333, 0.50000000000000000, 1.0000000000000000,
2458 8.0000000000000000, -0.59999999999999998, 0.0 },
2459 { 0.97107239473807716, 0.50000000000000000, 1.0000000000000000,
2460 8.0000000000000000, -0.50000000000000000, 0.0 },
2461 { 0.97651848528588481, 0.50000000000000000, 1.0000000000000000,
2462 8.0000000000000000, -0.39999999999999991, 0.0 },
2463 { 0.98212322830227128, 0.50000000000000000, 1.0000000000000000,
2464 8.0000000000000000, -0.29999999999999993, 0.0 },
2465 { 0.98789706736195781, 0.50000000000000000, 1.0000000000000000,
2466 8.0000000000000000, -0.19999999999999996, 0.0 },
2467 { 0.99385164237825074, 0.50000000000000000, 1.0000000000000000,
2468 8.0000000000000000, -0.099999999999999978, 0.0 },
2469 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2470 8.0000000000000000, 0.0000000000000000, 0.0 },
2471 { 1.0063568569383123, 0.50000000000000000, 1.0000000000000000,
2472 8.0000000000000000, 0.10000000000000009, 0.0 },
2473 { 1.0129389344715818, 0.50000000000000000, 1.0000000000000000,
2474 8.0000000000000000, 0.20000000000000018, 0.0 },
2475 { 1.0197653907773940, 0.50000000000000000, 1.0000000000000000,
2476 8.0000000000000000, 0.30000000000000004, 0.0 },
2477 { 1.0268583912277143, 0.50000000000000000, 1.0000000000000000,
2478 8.0000000000000000, 0.40000000000000013, 0.0 },
2479 { 1.0342438793937092, 0.50000000000000000, 1.0000000000000000,
2480 8.0000000000000000, 0.50000000000000000, 0.0 },
2481 { 1.0419526514766855, 0.50000000000000000, 1.0000000000000000,
2482 8.0000000000000000, 0.60000000000000009, 0.0 },
2483 { 1.0500219124976327, 0.50000000000000000, 1.0000000000000000,
2484 8.0000000000000000, 0.70000000000000018, 0.0 },
2485 { 1.0584976491907043, 0.50000000000000000, 1.0000000000000000,
2486 8.0000000000000000, 0.80000000000000004, 0.0 },
2487 { 1.0674385240268101, 0.50000000000000000, 1.0000000000000000,
2488 8.0000000000000000, 0.90000000000000013, 0.0 },
2490 const double toler049 = 2.5000000000000020e-13;
2492 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=10.000000000000000.
2493 // max(|f - f_GSL|): 0.0000000000000000 at index 0
2494 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
2495 // mean(f - f_GSL): 0.0000000000000000
2496 // variance(f - f_GSL): 0.0000000000000000
2497 // stddev(f - f_GSL): 0.0000000000000000
2498 const testcase_hyperg<double>
2499 data050[19] =
2501 { 0.95968319138913905, 0.50000000000000000, 1.0000000000000000,
2502 10.000000000000000, -0.90000000000000002, 0.0 },
2503 { 0.96376169072755802, 0.50000000000000000, 1.0000000000000000,
2504 10.000000000000000, -0.80000000000000004, 0.0 },
2505 { 0.96792900082729372, 0.50000000000000000, 1.0000000000000000,
2506 10.000000000000000, -0.69999999999999996, 0.0 },
2507 { 0.97218942798115737, 0.50000000000000000, 1.0000000000000000,
2508 10.000000000000000, -0.59999999999999998, 0.0 },
2509 { 0.97654763592586835, 0.50000000000000000, 1.0000000000000000,
2510 10.000000000000000, -0.50000000000000000, 0.0 },
2511 { 0.98100869054353890, 0.50000000000000000, 1.0000000000000000,
2512 10.000000000000000, -0.39999999999999991, 0.0 },
2513 { 0.98557811238699278, 0.50000000000000000, 1.0000000000000000,
2514 10.000000000000000, -0.29999999999999993, 0.0 },
2515 { 0.99026193885795544, 0.50000000000000000, 1.0000000000000000,
2516 10.000000000000000, -0.19999999999999996, 0.0 },
2517 { 0.99506679842072221, 0.50000000000000000, 1.0000000000000000,
2518 10.000000000000000, -0.099999999999999978, 0.0 },
2519 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2520 10.000000000000000, 0.0000000000000000, 0.0 },
2521 { 1.0050696417919618, 0.50000000000000000, 1.0000000000000000,
2522 10.000000000000000, 0.10000000000000009, 0.0 },
2523 { 1.0102847452747090, 0.50000000000000000, 1.0000000000000000,
2524 10.000000000000000, 0.20000000000000018, 0.0 },
2525 { 1.0156554225057022, 0.50000000000000000, 1.0000000000000000,
2526 10.000000000000000, 0.30000000000000004, 0.0 },
2527 { 1.0211930882963096, 0.50000000000000000, 1.0000000000000000,
2528 10.000000000000000, 0.40000000000000013, 0.0 },
2529 { 1.0269107343740711, 0.50000000000000000, 1.0000000000000000,
2530 10.000000000000000, 0.50000000000000000, 0.0 },
2531 { 1.0328232917216298, 0.50000000000000000, 1.0000000000000000,
2532 10.000000000000000, 0.60000000000000009, 0.0 },
2533 { 1.0389481230247195, 0.50000000000000000, 1.0000000000000000,
2534 10.000000000000000, 0.70000000000000018, 0.0 },
2535 { 1.0453057164134614, 0.50000000000000000, 1.0000000000000000,
2536 10.000000000000000, 0.80000000000000004, 0.0 },
2537 { 1.0519207114461246, 0.50000000000000000, 1.0000000000000000,
2538 10.000000000000000, 0.90000000000000013, 0.0 },
2540 const double toler050 = 2.5000000000000020e-13;
2542 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=2.0000000000000000.
2543 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
2544 // max(|f - f_GSL| / |f_GSL|): 1.8577584504832499e-16
2545 // mean(f - f_GSL): 5.8432790769745078e-18
2546 // variance(f - f_GSL): 1.1262748212790853e-32
2547 // stddev(f - f_GSL): 1.0612609581432294e-16
2548 const testcase_hyperg<double>
2549 data051[19] =
2551 { 0.72547625011001160, 0.50000000000000000, 2.0000000000000000,
2552 2.0000000000000000, -0.90000000000000002, 0.0 },
2553 { 0.74535599249992990, 0.50000000000000000, 2.0000000000000000,
2554 2.0000000000000000, -0.80000000000000004, 0.0 },
2555 { 0.76696498884737041, 0.50000000000000000, 2.0000000000000000,
2556 2.0000000000000000, -0.69999999999999996, 0.0 },
2557 { 0.79056941504209477, 0.50000000000000000, 2.0000000000000000,
2558 2.0000000000000000, -0.59999999999999998, 0.0 },
2559 { 0.81649658092772603, 0.50000000000000000, 2.0000000000000000,
2560 2.0000000000000000, -0.50000000000000000, 0.0 },
2561 { 0.84515425472851669, 0.50000000000000000, 2.0000000000000000,
2562 2.0000000000000000, -0.39999999999999991, 0.0 },
2563 { 0.87705801930702931, 0.50000000000000000, 2.0000000000000000,
2564 2.0000000000000000, -0.29999999999999993, 0.0 },
2565 { 0.91287092917527690, 0.50000000000000000, 2.0000000000000000,
2566 2.0000000000000000, -0.19999999999999996, 0.0 },
2567 { 0.95346258924559224, 0.50000000000000000, 2.0000000000000000,
2568 2.0000000000000000, -0.099999999999999978, 0.0 },
2569 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2570 2.0000000000000000, 0.0000000000000000, 0.0 },
2571 { 1.0540925533894598, 0.50000000000000000, 2.0000000000000000,
2572 2.0000000000000000, 0.10000000000000009, 0.0 },
2573 { 1.1180339887498949, 0.50000000000000000, 2.0000000000000000,
2574 2.0000000000000000, 0.20000000000000018, 0.0 },
2575 { 1.1952286093343938, 0.50000000000000000, 2.0000000000000000,
2576 2.0000000000000000, 0.30000000000000004, 0.0 },
2577 { 1.2909944487358058, 0.50000000000000000, 2.0000000000000000,
2578 2.0000000000000000, 0.40000000000000013, 0.0 },
2579 { 1.4142135623730951, 0.50000000000000000, 2.0000000000000000,
2580 2.0000000000000000, 0.50000000000000000, 0.0 },
2581 { 1.5811388300841900, 0.50000000000000000, 2.0000000000000000,
2582 2.0000000000000000, 0.60000000000000009, 0.0 },
2583 { 1.8257418583505542, 0.50000000000000000, 2.0000000000000000,
2584 2.0000000000000000, 0.70000000000000018, 0.0 },
2585 { 2.2360679774997898, 0.50000000000000000, 2.0000000000000000,
2586 2.0000000000000000, 0.80000000000000004, 0.0 },
2587 { 3.1622776601683809, 0.50000000000000000, 2.0000000000000000,
2588 2.0000000000000000, 0.90000000000000013, 0.0 },
2590 const double toler051 = 2.5000000000000020e-13;
2592 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=4.0000000000000000.
2593 // max(|f - f_GSL|): 6.6613381477509392e-16 at index 18
2594 // max(|f - f_GSL| / |f_GSL|): 4.6340403913587147e-16
2595 // mean(f - f_GSL): 7.5962628000668607e-17
2596 // variance(f - f_GSL): 2.0425119025543020e-32
2597 // stddev(f - f_GSL): 1.4291647569662155e-16
2598 const testcase_hyperg<double>
2599 data052[19] =
2601 { 0.83664260086443765, 0.50000000000000000, 2.0000000000000000,
2602 4.0000000000000000, -0.90000000000000002, 0.0 },
2603 { 0.85046584300227079, 0.50000000000000000, 2.0000000000000000,
2604 4.0000000000000000, -0.80000000000000004, 0.0 },
2605 { 0.86509574979651649, 0.50000000000000000, 2.0000000000000000,
2606 4.0000000000000000, -0.69999999999999996, 0.0 },
2607 { 0.88062082573041911, 0.50000000000000000, 2.0000000000000000,
2608 4.0000000000000000, -0.59999999999999998, 0.0 },
2609 { 0.89714464248521597, 0.50000000000000000, 2.0000000000000000,
2610 4.0000000000000000, -0.50000000000000000, 0.0 },
2611 { 0.91478946588967569, 0.50000000000000000, 2.0000000000000000,
2612 4.0000000000000000, -0.39999999999999991, 0.0 },
2613 { 0.93370105322348607, 0.50000000000000000, 2.0000000000000000,
2614 4.0000000000000000, -0.29999999999999993, 0.0 },
2615 { 0.95405511057700887, 0.50000000000000000, 2.0000000000000000,
2616 4.0000000000000000, -0.19999999999999996, 0.0 },
2617 { 0.97606616007978142, 0.50000000000000000, 2.0000000000000000,
2618 4.0000000000000000, -0.099999999999999978, 0.0 },
2619 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2620 4.0000000000000000, 0.0000000000000000, 0.0 },
2621 { 1.0261916902334731, 0.50000000000000000, 2.0000000000000000,
2622 4.0000000000000000, 0.10000000000000009, 0.0 },
2623 { 1.0550723519434702, 0.50000000000000000, 2.0000000000000000,
2624 4.0000000000000000, 0.20000000000000018, 0.0 },
2625 { 1.0872106588188091, 0.50000000000000000, 2.0000000000000000,
2626 4.0000000000000000, 0.30000000000000004, 0.0 },
2627 { 1.1233801699379022, 0.50000000000000000, 2.0000000000000000,
2628 4.0000000000000000, 0.40000000000000013, 0.0 },
2629 { 1.1646752981725688, 0.50000000000000000, 2.0000000000000000,
2630 4.0000000000000000, 0.50000000000000000, 0.0 },
2631 { 1.2127272514219511, 0.50000000000000000, 2.0000000000000000,
2632 4.0000000000000000, 0.60000000000000009, 0.0 },
2633 { 1.2701518651068637, 0.50000000000000000, 2.0000000000000000,
2634 4.0000000000000000, 0.70000000000000018, 0.0 },
2635 { 1.3416407864998725, 0.50000000000000000, 2.0000000000000000,
2636 4.0000000000000000, 0.80000000000000004, 0.0 },
2637 { 1.4374795179111106, 0.50000000000000000, 2.0000000000000000,
2638 4.0000000000000000, 0.90000000000000013, 0.0 },
2640 const double toler052 = 2.5000000000000020e-13;
2642 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=6.0000000000000000.
2643 // max(|f - f_GSL|): 3.3306690738754696e-16 at index 8
2644 // max(|f - f_GSL| / |f_GSL|): 3.3853500746952663e-16
2645 // mean(f - f_GSL): 1.1686558153949016e-17
2646 // variance(f - f_GSL): 2.5949371882270124e-33
2647 // stddev(f - f_GSL): 5.0940525990875012e-17
2648 const testcase_hyperg<double>
2649 data053[19] =
2651 { 0.88195381730235822, 0.50000000000000000, 2.0000000000000000,
2652 6.0000000000000000, -0.90000000000000002, 0.0 },
2653 { 0.89265078469555081, 0.50000000000000000, 2.0000000000000000,
2654 6.0000000000000000, -0.80000000000000004, 0.0 },
2655 { 0.90382937908303673, 0.50000000000000000, 2.0000000000000000,
2656 6.0000000000000000, -0.69999999999999996, 0.0 },
2657 { 0.91553161389880600, 0.50000000000000000, 2.0000000000000000,
2658 6.0000000000000000, -0.59999999999999998, 0.0 },
2659 { 0.92780530349281509, 0.50000000000000000, 2.0000000000000000,
2660 6.0000000000000000, -0.50000000000000000, 0.0 },
2661 { 0.94070521140346020, 0.50000000000000000, 2.0000000000000000,
2662 6.0000000000000000, -0.39999999999999991, 0.0 },
2663 { 0.95429450630523349, 0.50000000000000000, 2.0000000000000000,
2664 6.0000000000000000, -0.29999999999999993, 0.0 },
2665 { 0.96864663325785849, 0.50000000000000000, 2.0000000000000000,
2666 6.0000000000000000, -0.19999999999999996, 0.0 },
2667 { 0.98384775588541795, 0.50000000000000000, 2.0000000000000000,
2668 6.0000000000000000, -0.099999999999999978, 0.0 },
2669 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2670 6.0000000000000000, 0.0000000000000000, 0.0 },
2671 { 1.0172258496884334, 0.50000000000000000, 2.0000000000000000,
2672 6.0000000000000000, 0.10000000000000009, 0.0 },
2673 { 1.0356742479163461, 0.50000000000000000, 2.0000000000000000,
2674 6.0000000000000000, 0.20000000000000018, 0.0 },
2675 { 1.0555293036908924, 0.50000000000000000, 2.0000000000000000,
2676 6.0000000000000000, 0.30000000000000004, 0.0 },
2677 { 1.0770231491562379, 0.50000000000000000, 2.0000000000000000,
2678 6.0000000000000000, 0.40000000000000013, 0.0 },
2679 { 1.1004557416484888, 0.50000000000000000, 2.0000000000000000,
2680 6.0000000000000000, 0.50000000000000000, 0.0 },
2681 { 1.1262270515731978, 0.50000000000000000, 2.0000000000000000,
2682 6.0000000000000000, 0.60000000000000009, 0.0 },
2683 { 1.1548932919125088, 0.50000000000000000, 2.0000000000000000,
2684 6.0000000000000000, 0.70000000000000018, 0.0 },
2685 { 1.1872757758134724, 0.50000000000000000, 2.0000000000000000,
2686 6.0000000000000000, 0.80000000000000004, 0.0 },
2687 { 1.2247091713458949, 0.50000000000000000, 2.0000000000000000,
2688 6.0000000000000000, 0.90000000000000013, 0.0 },
2690 const double toler053 = 2.5000000000000020e-13;
2692 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=8.0000000000000000.
2693 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 17
2694 // max(|f - f_GSL| / |f_GSL|): 1.9683492716399738e-16
2695 // mean(f - f_GSL): 1.7529837230923523e-17
2696 // variance(f - f_GSL): 2.4527762774522302e-33
2697 // stddev(f - f_GSL): 4.9525511380017369e-17
2698 const testcase_hyperg<double>
2699 data054[19] =
2701 { 0.90716919697107279, 0.50000000000000000, 2.0000000000000000,
2702 8.0000000000000000, -0.90000000000000002, 0.0 },
2703 { 0.91592299407142508, 0.50000000000000000, 2.0000000000000000,
2704 8.0000000000000000, -0.80000000000000004, 0.0 },
2705 { 0.92500027075874192, 0.50000000000000000, 2.0000000000000000,
2706 8.0000000000000000, -0.69999999999999996, 0.0 },
2707 { 0.93442464185467122, 0.50000000000000000, 2.0000000000000000,
2708 8.0000000000000000, -0.59999999999999998, 0.0 },
2709 { 0.94422248683737076, 0.50000000000000000, 2.0000000000000000,
2710 8.0000000000000000, -0.50000000000000000, 0.0 },
2711 { 0.95442341810133347, 0.50000000000000000, 2.0000000000000000,
2712 8.0000000000000000, -0.39999999999999991, 0.0 },
2713 { 0.96506085725516355, 0.50000000000000000, 2.0000000000000000,
2714 8.0000000000000000, -0.29999999999999993, 0.0 },
2715 { 0.97617275213704069, 0.50000000000000000, 2.0000000000000000,
2716 8.0000000000000000, -0.19999999999999996, 0.0 },
2717 { 0.98780247986309799, 0.50000000000000000, 2.0000000000000000,
2718 8.0000000000000000, -0.099999999999999978, 0.0 },
2719 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2720 8.0000000000000000, 0.0000000000000000, 0.0 },
2721 { 1.0128233505813447, 0.50000000000000000, 2.0000000000000000,
2722 8.0000000000000000, 0.10000000000000009, 0.0 },
2723 { 1.0263406246541855, 0.50000000000000000, 2.0000000000000000,
2724 8.0000000000000000, 0.20000000000000018, 0.0 },
2725 { 1.0406326381700366, 0.50000000000000000, 2.0000000000000000,
2726 8.0000000000000000, 0.30000000000000004, 0.0 },
2727 { 1.0557966239802845, 0.50000000000000000, 2.0000000000000000,
2728 8.0000000000000000, 0.40000000000000013, 0.0 },
2729 { 1.0719515075786321, 0.50000000000000000, 2.0000000000000000,
2730 8.0000000000000000, 0.50000000000000000, 0.0 },
2731 { 1.0892457392422055, 0.50000000000000000, 2.0000000000000000,
2732 8.0000000000000000, 0.60000000000000009, 0.0 },
2733 { 1.1078695188000958, 0.50000000000000000, 2.0000000000000000,
2734 8.0000000000000000, 0.70000000000000018, 0.0 },
2735 { 1.1280752258974340, 0.50000000000000000, 2.0000000000000000,
2736 8.0000000000000000, 0.80000000000000004, 0.0 },
2737 { 1.1502152002706476, 0.50000000000000000, 2.0000000000000000,
2738 8.0000000000000000, 0.90000000000000013, 0.0 },
2740 const double toler054 = 2.5000000000000020e-13;
2742 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=10.000000000000000.
2743 // max(|f - f_GSL|): 3.3306690738754696e-16 at index 8
2744 // max(|f - f_GSL| / |f_GSL|): 3.3636359087105992e-16
2745 // mean(f - f_GSL): 2.9216395384872539e-17
2746 // variance(f - f_GSL): 2.1804680539963092e-33
2747 // stddev(f - f_GSL): 4.6695482158302094e-17
2748 const testcase_hyperg<double>
2749 data055[19] =
2751 { 0.92336416053263082, 0.50000000000000000, 2.0000000000000000,
2752 10.000000000000000, -0.90000000000000002, 0.0 },
2753 { 0.93078397248364542, 0.50000000000000000, 2.0000000000000000,
2754 10.000000000000000, -0.80000000000000004, 0.0 },
2755 { 0.93843714333600259, 0.50000000000000000, 2.0000000000000000,
2756 10.000000000000000, -0.69999999999999996, 0.0 },
2757 { 0.94633837784068098, 0.50000000000000000, 2.0000000000000000,
2758 10.000000000000000, -0.59999999999999998, 0.0 },
2759 { 0.95450388104967876, 0.50000000000000000, 2.0000000000000000,
2760 10.000000000000000, -0.50000000000000000, 0.0 },
2761 { 0.96295158125742752, 0.50000000000000000, 2.0000000000000000,
2762 10.000000000000000, -0.39999999999999991, 0.0 },
2763 { 0.97170139827854329, 0.50000000000000000, 2.0000000000000000,
2764 10.000000000000000, -0.29999999999999993, 0.0 },
2765 { 0.98077556918512687, 0.50000000000000000, 2.0000000000000000,
2766 10.000000000000000, -0.19999999999999996, 0.0 },
2767 { 0.99019904777750845, 0.50000000000000000, 2.0000000000000000,
2768 10.000000000000000, -0.099999999999999978, 0.0 },
2769 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2770 10.000000000000000, 0.0000000000000000, 0.0 },
2771 { 1.0102104261941198, 0.50000000000000000, 2.0000000000000000,
2772 10.000000000000000, 0.10000000000000009, 0.0 },
2773 { 1.0208669540935695, 0.50000000000000000, 2.0000000000000000,
2774 10.000000000000000, 0.20000000000000018, 0.0 },
2775 { 1.0320118665407505, 0.50000000000000000, 2.0000000000000000,
2776 10.000000000000000, 0.30000000000000004, 0.0 },
2777 { 1.0436944599504387, 0.50000000000000000, 2.0000000000000000,
2778 10.000000000000000, 0.40000000000000013, 0.0 },
2779 { 1.0559728828278145, 0.50000000000000000, 2.0000000000000000,
2780 10.000000000000000, 0.50000000000000000, 0.0 },
2781 { 1.0689166967761712, 0.50000000000000000, 2.0000000000000000,
2782 10.000000000000000, 0.60000000000000009, 0.0 },
2783 { 1.0826105758119842, 0.50000000000000000, 2.0000000000000000,
2784 10.000000000000000, 0.70000000000000018, 0.0 },
2785 { 1.0971599106346146, 0.50000000000000000, 2.0000000000000000,
2786 10.000000000000000, 0.80000000000000004, 0.0 },
2787 { 1.1126998828023964, 0.50000000000000000, 2.0000000000000000,
2788 10.000000000000000, 0.90000000000000013, 0.0 },
2790 const double toler055 = 2.5000000000000020e-13;
2792 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=2.0000000000000000.
2793 // max(|f - f_GSL|): 4.5474735088646412e-13 at index 18
2794 // max(|f - f_GSL| / |f_GSL|): 1.5124797514980592e-15
2795 // mean(f - f_GSL): 2.5336458077761468e-14
2796 // variance(f - f_GSL): 1.0813211674051158e-26
2797 // stddev(f - f_GSL): 1.0398659372270619e-13
2798 const testcase_hyperg<double>
2799 data056[19] =
2801 { 0.52275983209457544, 0.50000000000000000, 5.0000000000000000,
2802 2.0000000000000000, -0.90000000000000002, 0.0 },
2803 { 0.54700336898143009, 0.50000000000000000, 5.0000000000000000,
2804 2.0000000000000000, -0.80000000000000004, 0.0 },
2805 { 0.57468955512602038, 0.50000000000000000, 5.0000000000000000,
2806 2.0000000000000000, -0.69999999999999996, 0.0 },
2807 { 0.60665490543315048, 0.50000000000000000, 5.0000000000000000,
2808 2.0000000000000000, -0.59999999999999998, 0.0 },
2809 { 0.64403057859056190, 0.50000000000000000, 5.0000000000000000,
2810 2.0000000000000000, -0.50000000000000000, 0.0 },
2811 { 0.68838183648623719, 0.50000000000000000, 5.0000000000000000,
2812 2.0000000000000000, -0.39999999999999991, 0.0 },
2813 { 0.74193265039311118, 0.50000000000000000, 5.0000000000000000,
2814 2.0000000000000000, -0.29999999999999993, 0.0 },
2815 { 0.80794095908995300, 0.50000000000000000, 5.0000000000000000,
2816 2.0000000000000000, -0.19999999999999996, 0.0 },
2817 { 0.89135275749639320, 0.50000000000000000, 5.0000000000000000,
2818 2.0000000000000000, -0.099999999999999978, 0.0 },
2819 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2820 2.0000000000000000, 0.0000000000000000, 0.0 },
2821 { 1.1469266219310688, 0.50000000000000000, 5.0000000000000000,
2822 2.0000000000000000, 0.10000000000000009, 0.0 },
2823 { 1.3552340708357493, 0.50000000000000000, 5.0000000000000000,
2824 2.0000000000000000, 0.20000000000000018, 0.0 },
2825 { 1.6690840478838305, 0.50000000000000000, 5.0000000000000000,
2826 2.0000000000000000, 0.30000000000000004, 0.0 },
2827 { 2.1815415453174500, 0.50000000000000000, 5.0000000000000000,
2828 2.0000000000000000, 0.40000000000000013, 0.0 },
2829 { 3.1156892546032235, 0.50000000000000000, 5.0000000000000000,
2830 2.0000000000000000, 0.50000000000000000, 0.0 },
2831 { 5.1109077417760416, 0.50000000000000000, 5.0000000000000000,
2832 2.0000000000000000, 0.60000000000000009, 0.0 },
2833 { 10.560352936466318, 0.50000000000000000, 5.0000000000000000,
2834 2.0000000000000000, 0.70000000000000018, 0.0 },
2835 { 33.541019662496815, 0.50000000000000000, 5.0000000000000000,
2836 2.0000000000000000, 0.80000000000000004, 0.0 },
2837 { 300.66343065819723, 0.50000000000000000, 5.0000000000000000,
2838 2.0000000000000000, 0.90000000000000013, 0.0 },
2840 const double toler056 = 2.5000000000000020e-13;
2842 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=4.0000000000000000.
2843 // max(|f - f_GSL|): 8.8817841970012523e-15 at index 18
2844 // max(|f - f_GSL| / |f_GSL|): 1.3217255411112292e-15
2845 // mean(f - f_GSL): 6.8950693108299193e-16
2846 // variance(f - f_GSL): 3.9356627445430313e-30
2847 // stddev(f - f_GSL): 1.9838504844224102e-15
2848 const testcase_hyperg<double>
2849 data057[19] =
2851 { 0.68252041951139286, 0.50000000000000000, 5.0000000000000000,
2852 4.0000000000000000, -0.90000000000000002, 0.0 },
2853 { 0.70394732624993395, 0.50000000000000000, 5.0000000000000000,
2854 4.0000000000000000, -0.80000000000000004, 0.0 },
2855 { 0.72748884971552052, 0.50000000000000000, 5.0000000000000000,
2856 4.0000000000000000, -0.69999999999999996, 0.0 },
2857 { 0.75351147371199667, 0.50000000000000000, 5.0000000000000000,
2858 4.0000000000000000, -0.59999999999999998, 0.0 },
2859 { 0.78247589005573737, 0.50000000000000000, 5.0000000000000000,
2860 4.0000000000000000, -0.50000000000000000, 0.0 },
2861 { 0.81497017420249795, 0.50000000000000000, 5.0000000000000000,
2862 4.0000000000000000, -0.39999999999999991, 0.0 },
2863 { 0.85175826875009608, 0.50000000000000000, 5.0000000000000000,
2864 4.0000000000000000, -0.29999999999999993, 0.0 },
2865 { 0.89385278481745867, 0.50000000000000000, 5.0000000000000000,
2866 4.0000000000000000, -0.19999999999999996, 0.0 },
2867 { 0.94262778709507411, 0.50000000000000000, 5.0000000000000000,
2868 4.0000000000000000, -0.099999999999999978, 0.0 },
2869 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2870 4.0000000000000000, 0.0000000000000000, 0.0 },
2871 { 1.0687327277420910, 0.50000000000000000, 5.0000000000000000,
2872 4.0000000000000000, 0.10000000000000009, 0.0 },
2873 { 1.1529725508983291, 0.50000000000000000, 5.0000000000000000,
2874 4.0000000000000000, 0.20000000000000018, 0.0 },
2875 { 1.2592587134058799, 0.50000000000000000, 5.0000000000000000,
2876 4.0000000000000000, 0.30000000000000004, 0.0 },
2877 { 1.3985773194637896, 0.50000000000000000, 5.0000000000000000,
2878 4.0000000000000000, 0.40000000000000013, 0.0 },
2879 { 1.5909902576697317, 0.50000000000000000, 5.0000000000000000,
2880 4.0000000000000000, 0.50000000000000000, 0.0 },
2881 { 1.8776023607249752, 0.50000000000000000, 5.0000000000000000,
2882 4.0000000000000000, 0.60000000000000009, 0.0 },
2883 { 2.3582499003694664, 0.50000000000000000, 5.0000000000000000,
2884 4.0000000000000000, 0.70000000000000018, 0.0 },
2885 { 3.3541019662496838, 0.50000000000000000, 5.0000000000000000,
2886 4.0000000000000000, 0.80000000000000004, 0.0 },
2887 { 6.7198400278578028, 0.50000000000000000, 5.0000000000000000,
2888 4.0000000000000000, 0.90000000000000013, 0.0 },
2890 const double toler057 = 2.5000000000000020e-13;
2892 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=6.0000000000000000.
2893 // max(|f - f_GSL|): 2.6645352591003757e-15 at index 18
2894 // max(|f - f_GSL| / |f_GSL|): 1.2228264607471081e-15
2895 // mean(f - f_GSL): 2.2788788400200583e-16
2896 // variance(f - f_GSL): 3.4817209315093131e-31
2897 // stddev(f - f_GSL): 5.9006109272763554e-16
2898 const testcase_hyperg<double>
2899 data058[19] =
2901 { 0.75755211927082600, 0.50000000000000000, 5.0000000000000000,
2902 6.0000000000000000, -0.90000000000000002, 0.0 },
2903 { 0.77603550233010965, 0.50000000000000000, 5.0000000000000000,
2904 6.0000000000000000, -0.80000000000000004, 0.0 },
2905 { 0.79596241913438504, 0.50000000000000000, 5.0000000000000000,
2906 6.0000000000000000, -0.69999999999999996, 0.0 },
2907 { 0.81753360792105212, 0.50000000000000000, 5.0000000000000000,
2908 6.0000000000000000, -0.59999999999999998, 0.0 },
2909 { 0.84099165409805532, 0.50000000000000000, 5.0000000000000000,
2910 6.0000000000000000, -0.50000000000000000, 0.0 },
2911 { 0.86663303852180906, 0.50000000000000000, 5.0000000000000000,
2912 6.0000000000000000, -0.39999999999999991, 0.0 },
2913 { 0.89482475828629915, 0.50000000000000000, 5.0000000000000000,
2914 6.0000000000000000, -0.29999999999999993, 0.0 },
2915 { 0.92602774279590350, 0.50000000000000000, 5.0000000000000000,
2916 6.0000000000000000, -0.19999999999999996, 0.0 },
2917 { 0.96083064727087386, 0.50000000000000000, 5.0000000000000000,
2918 6.0000000000000000, -0.099999999999999978, 0.0 },
2919 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2920 6.0000000000000000, 0.0000000000000000, 0.0 },
2921 { 1.0445570841313008, 0.50000000000000000, 5.0000000000000000,
2922 6.0000000000000000, 0.10000000000000009, 0.0 },
2923 { 1.0959004638926033, 0.50000000000000000, 5.0000000000000000,
2924 6.0000000000000000, 0.20000000000000018, 0.0 },
2925 { 1.1560106261370562, 0.50000000000000000, 5.0000000000000000,
2926 6.0000000000000000, 0.30000000000000004, 0.0 },
2927 { 1.2278121770678148, 0.50000000000000000, 5.0000000000000000,
2928 6.0000000000000000, 0.40000000000000013, 0.0 },
2929 { 1.3158640214709998, 0.50000000000000000, 5.0000000000000000,
2930 6.0000000000000000, 0.50000000000000000, 0.0 },
2931 { 1.4278095344155000, 0.50000000000000000, 5.0000000000000000,
2932 6.0000000000000000, 0.60000000000000009, 0.0 },
2933 { 1.5778700502946617, 0.50000000000000000, 5.0000000000000000,
2934 6.0000000000000000, 0.70000000000000018, 0.0 },
2935 { 1.7972173289196469, 0.50000000000000000, 5.0000000000000000,
2936 6.0000000000000000, 0.80000000000000004, 0.0 },
2937 { 2.1789970569269732, 0.50000000000000000, 5.0000000000000000,
2938 6.0000000000000000, 0.90000000000000013, 0.0 },
2940 const double toler058 = 2.5000000000000020e-13;
2942 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=8.0000000000000000.
2943 // max(|f - f_GSL|): 8.8817841970012523e-16 at index 18
2944 // max(|f - f_GSL| / |f_GSL|): 5.6109827053892650e-16
2945 // mean(f - f_GSL): 7.5962628000668607e-17
2946 // variance(f - f_GSL): 3.8685788127881258e-32
2947 // stddev(f - f_GSL): 1.9668703090921186e-16
2948 const testcase_hyperg<double>
2949 data059[19] =
2951 { 0.80270093579329460, 0.50000000000000000, 5.0000000000000000,
2952 8.0000000000000000, -0.90000000000000002, 0.0 },
2953 { 0.81884974572462765, 0.50000000000000000, 5.0000000000000000,
2954 8.0000000000000000, -0.80000000000000004, 0.0 },
2955 { 0.83605266330015260, 0.50000000000000000, 5.0000000000000000,
2956 8.0000000000000000, -0.69999999999999996, 0.0 },
2957 { 0.85443340762796027, 0.50000000000000000, 5.0000000000000000,
2958 8.0000000000000000, -0.59999999999999998, 0.0 },
2959 { 0.87413762182790711, 0.50000000000000000, 5.0000000000000000,
2960 8.0000000000000000, -0.50000000000000000, 0.0 },
2961 { 0.89533826626907298, 0.50000000000000000, 5.0000000000000000,
2962 8.0000000000000000, -0.39999999999999991, 0.0 },
2963 { 0.91824276674115313, 0.50000000000000000, 5.0000000000000000,
2964 8.0000000000000000, -0.29999999999999993, 0.0 },
2965 { 0.94310265050720576, 0.50000000000000000, 5.0000000000000000,
2966 8.0000000000000000, -0.19999999999999996, 0.0 },
2967 { 0.97022678857609712, 0.50000000000000000, 5.0000000000000000,
2968 8.0000000000000000, -0.099999999999999978, 0.0 },
2969 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2970 8.0000000000000000, 0.0000000000000000, 0.0 },
2971 { 1.0329098673199812, 0.50000000000000000, 5.0000000000000000,
2972 8.0000000000000000, 0.10000000000000009, 0.0 },
2973 { 1.0695865684573389, 0.50000000000000000, 5.0000000000000000,
2974 8.0000000000000000, 0.20000000000000018, 0.0 },
2975 { 1.1108642103944570, 0.50000000000000000, 5.0000000000000000,
2976 8.0000000000000000, 0.30000000000000004, 0.0 },
2977 { 1.1578795055970506, 0.50000000000000000, 5.0000000000000000,
2978 8.0000000000000000, 0.40000000000000013, 0.0 },
2979 { 1.2122394794169442, 0.50000000000000000, 5.0000000000000000,
2980 8.0000000000000000, 0.50000000000000000, 0.0 },
2981 { 1.2763274721556934, 0.50000000000000000, 5.0000000000000000,
2982 8.0000000000000000, 0.60000000000000009, 0.0 },
2983 { 1.3539179650251021, 0.50000000000000000, 5.0000000000000000,
2984 8.0000000000000000, 0.70000000000000018, 0.0 },
2985 { 1.4515986118197148, 0.50000000000000000, 5.0000000000000000,
2986 8.0000000000000000, 0.80000000000000004, 0.0 },
2987 { 1.5829284571614224, 0.50000000000000000, 5.0000000000000000,
2988 8.0000000000000000, 0.90000000000000013, 0.0 },
2990 const double toler059 = 2.5000000000000020e-13;
2992 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=10.000000000000000.
2993 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
2994 // max(|f - f_GSL| / |f_GSL|): 3.2099086385883890e-16
2995 // mean(f - f_GSL): 5.8432790769745078e-17
2996 // variance(f - f_GSL): 8.7218722159852367e-33
2997 // stddev(f - f_GSL): 9.3390964316604188e-17
2998 const testcase_hyperg<double>
2999 data060[19] =
3001 { 0.83322694172301981, 0.50000000000000000, 5.0000000000000000,
3002 10.000000000000000, -0.90000000000000002, 0.0 },
3003 { 0.84753931604765675, 0.50000000000000000, 5.0000000000000000,
3004 10.000000000000000, -0.80000000000000004, 0.0 },
3005 { 0.86265784532195022, 0.50000000000000000, 5.0000000000000000,
3006 10.000000000000000, -0.69999999999999996, 0.0 },
3007 { 0.87866479300707090, 0.50000000000000000, 5.0000000000000000,
3008 10.000000000000000, -0.59999999999999998, 0.0 },
3009 { 0.89565516540263501, 0.50000000000000000, 5.0000000000000000,
3010 10.000000000000000, -0.50000000000000000, 0.0 },
3011 { 0.91373946207610557, 0.50000000000000000, 5.0000000000000000,
3012 10.000000000000000, -0.39999999999999991, 0.0 },
3013 { 0.93304721345881914, 0.50000000000000000, 5.0000000000000000,
3014 10.000000000000000, -0.29999999999999993, 0.0 },
3015 { 0.95373159512905148, 0.50000000000000000, 5.0000000000000000,
3016 10.000000000000000, -0.19999999999999996, 0.0 },
3017 { 0.97597554238828121, 0.50000000000000000, 5.0000000000000000,
3018 10.000000000000000, -0.099999999999999978, 0.0 },
3019 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
3020 10.000000000000000, 0.0000000000000000, 0.0 },
3021 { 1.0260752851887982, 0.50000000000000000, 5.0000000000000000,
3022 10.000000000000000, 0.10000000000000009, 0.0 },
3023 { 1.0545371197996178, 0.50000000000000000, 5.0000000000000000,
3024 10.000000000000000, 0.20000000000000018, 0.0 },
3025 { 1.0858099017045830, 0.50000000000000000, 5.0000000000000000,
3026 10.000000000000000, 0.30000000000000004, 0.0 },
3027 { 1.1204416568688709, 0.50000000000000000, 5.0000000000000000,
3028 10.000000000000000, 0.40000000000000013, 0.0 },
3029 { 1.1591587835964847, 0.50000000000000000, 5.0000000000000000,
3030 10.000000000000000, 0.50000000000000000, 0.0 },
3031 { 1.2029564720303347, 0.50000000000000000, 5.0000000000000000,
3032 10.000000000000000, 0.60000000000000009, 0.0 },
3033 { 1.2532588722007874, 0.50000000000000000, 5.0000000000000000,
3034 10.000000000000000, 0.70000000000000018, 0.0 },
3035 { 1.3122319926925459, 0.50000000000000000, 5.0000000000000000,
3036 10.000000000000000, 0.80000000000000004, 0.0 },
3037 { 1.3834948587364102, 0.50000000000000000, 5.0000000000000000,
3038 10.000000000000000, 0.90000000000000013, 0.0 },
3040 const double toler060 = 2.5000000000000020e-13;
3042 // Test data for a=0.50000000000000000, b=10.000000000000000, c=2.0000000000000000.
3043 // max(|f - f_GSL|): 1.4901161193847656e-08 at index 18
3044 // max(|f - f_GSL| / |f_GSL|): 1.8229127098647768e-15
3045 // mean(f - f_GSL): 7.8543415046726153e-10
3046 // variance(f - f_GSL): 1.1684633485497506e-17
3047 // stddev(f - f_GSL): 3.4182793164832956e-09
3048 const testcase_hyperg<double>
3049 data061[19] =
3051 { 0.37727530159464628, 0.50000000000000000, 10.000000000000000,
3052 2.0000000000000000, -0.90000000000000002, 0.0 },
3053 { 0.39816010922169059, 0.50000000000000000, 10.000000000000000,
3054 2.0000000000000000, -0.80000000000000004, 0.0 },
3055 { 0.42283703041362447, 0.50000000000000000, 10.000000000000000,
3056 2.0000000000000000, -0.69999999999999996, 0.0 },
3057 { 0.45255640448730527, 0.50000000000000000, 10.000000000000000,
3058 2.0000000000000000, -0.59999999999999998, 0.0 },
3059 { 0.48919507154431119, 0.50000000000000000, 10.000000000000000,
3060 2.0000000000000000, -0.50000000000000000, 0.0 },
3061 { 0.53569358917731902, 0.50000000000000000, 10.000000000000000,
3062 2.0000000000000000, -0.39999999999999991, 0.0 },
3063 { 0.59689778897029577, 0.50000000000000000, 10.000000000000000,
3064 2.0000000000000000, -0.29999999999999993, 0.0 },
3065 { 0.68128587569875765, 0.50000000000000000, 10.000000000000000,
3066 2.0000000000000000, -0.19999999999999996, 0.0 },
3067 { 0.80478739308790359, 0.50000000000000000, 10.000000000000000,
3068 2.0000000000000000, -0.099999999999999978, 0.0 },
3069 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3070 2.0000000000000000, 0.0000000000000000, 0.0 },
3071 { 1.3408664196153621, 0.50000000000000000, 10.000000000000000,
3072 2.0000000000000000, 0.10000000000000009, 0.0 },
3073 { 2.0175364359923882, 0.50000000000000000, 10.000000000000000,
3074 2.0000000000000000, 0.20000000000000018, 0.0 },
3075 { 3.6011214553736646, 0.50000000000000000, 10.000000000000000,
3076 2.0000000000000000, 0.30000000000000004, 0.0 },
3077 { 8.1799429939495489, 0.50000000000000000, 10.000000000000000,
3078 2.0000000000000000, 0.40000000000000013, 0.0 },
3079 { 25.644834637536000, 0.50000000000000000, 10.000000000000000,
3080 2.0000000000000000, 0.50000000000000000, 0.0 },
3081 { 123.13738891597615, 0.50000000000000000, 10.000000000000000,
3082 2.0000000000000000, 0.60000000000000009, 0.0 },
3083 { 1088.7122410321385, 0.50000000000000000, 10.000000000000000,
3084 2.0000000000000000, 0.70000000000000018, 0.0 },
3085 { 27358.291704709951, 0.50000000000000000, 10.000000000000000,
3086 2.0000000000000000, 0.80000000000000004, 0.0 },
3087 { 8174369.0266732639, 0.50000000000000000, 10.000000000000000,
3088 2.0000000000000000, 0.90000000000000013, 0.0 },
3090 const double toler061 = 2.5000000000000020e-13;
3092 // Test data for a=0.50000000000000000, b=10.000000000000000, c=4.0000000000000000.
3093 // max(|f - f_GSL|): 2.0008883439004421e-11 at index 18
3094 // max(|f - f_GSL| / |f_GSL|): 1.5684473872214445e-15
3095 // mean(f - f_GSL): 1.0626587329385841e-12
3096 // variance(f - f_GSL): 2.1050090066796454e-23
3097 // stddev(f - f_GSL): 4.5880377141863658e-12
3098 const testcase_hyperg<double>
3099 data062[19] =
3101 { 0.53905528308450823, 0.50000000000000000, 10.000000000000000,
3102 4.0000000000000000, -0.90000000000000002, 0.0 },
3103 { 0.56235533974376162, 0.50000000000000000, 10.000000000000000,
3104 4.0000000000000000, -0.80000000000000004, 0.0 },
3105 { 0.58887657983263575, 0.50000000000000000, 10.000000000000000,
3106 4.0000000000000000, -0.69999999999999996, 0.0 },
3107 { 0.61941227047262937, 0.50000000000000000, 10.000000000000000,
3108 4.0000000000000000, -0.59999999999999998, 0.0 },
3109 { 0.65504896640793864, 0.50000000000000000, 10.000000000000000,
3110 4.0000000000000000, -0.50000000000000000, 0.0 },
3111 { 0.69731666644529977, 0.50000000000000000, 10.000000000000000,
3112 4.0000000000000000, -0.39999999999999991, 0.0 },
3113 { 0.74844073299399116, 0.50000000000000000, 10.000000000000000,
3114 4.0000000000000000, -0.29999999999999993, 0.0 },
3115 { 0.81178446800105830, 0.50000000000000000, 10.000000000000000,
3116 4.0000000000000000, -0.19999999999999996, 0.0 },
3117 { 0.89266981277598045, 0.50000000000000000, 10.000000000000000,
3118 4.0000000000000000, -0.099999999999999978, 0.0 },
3119 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3120 4.0000000000000000, 0.0000000000000000, 0.0 },
3121 { 1.1497248473106778, 0.50000000000000000, 10.000000000000000,
3122 4.0000000000000000, 0.10000000000000009, 0.0 },
3123 { 1.3729717112654578, 0.50000000000000000, 10.000000000000000,
3124 4.0000000000000000, 0.20000000000000018, 0.0 },
3125 { 1.7374982340374392, 0.50000000000000000, 10.000000000000000,
3126 4.0000000000000000, 0.30000000000000004, 0.0 },
3127 { 2.4134479340960602, 0.50000000000000000, 10.000000000000000,
3128 4.0000000000000000, 0.40000000000000013, 0.0 },
3129 { 3.9191255240471192, 0.50000000000000000, 10.000000000000000,
3130 4.0000000000000000, 0.50000000000000000, 0.0 },
3131 { 8.3316373077761270, 0.50000000000000000, 10.000000000000000,
3132 4.0000000000000000, 0.60000000000000009, 0.0 },
3133 { 28.323020339843417, 0.50000000000000000, 10.000000000000000,
3134 4.0000000000000000, 0.70000000000000018, 0.0 },
3135 { 225.84286572747891, 0.50000000000000000, 10.000000000000000,
3136 4.0000000000000000, 0.80000000000000004, 0.0 },
3137 { 12757.127591286826, 0.50000000000000000, 10.000000000000000,
3138 4.0000000000000000, 0.90000000000000013, 0.0 },
3140 const double toler062 = 2.5000000000000020e-13;
3142 // Test data for a=0.50000000000000000, b=10.000000000000000, c=6.0000000000000000.
3143 // max(|f - f_GSL|): 1.9895196601282805e-13 at index 18
3144 // max(|f - f_GSL| / |f_GSL|): 1.4567107859209851e-15
3145 // mean(f - f_GSL): 1.1043797455481820e-14
3146 // variance(f - f_GSL): 2.0706176432127926e-27
3147 // stddev(f - f_GSL): 4.5504039855959963e-14
3148 const testcase_hyperg<double>
3149 data063[19] =
3151 { 0.62672622092226027, 0.50000000000000000, 10.000000000000000,
3152 6.0000000000000000, -0.90000000000000002, 0.0 },
3153 { 0.64931010269769840, 0.50000000000000000, 10.000000000000000,
3154 6.0000000000000000, -0.80000000000000004, 0.0 },
3155 { 0.67448067519076293, 0.50000000000000000, 10.000000000000000,
3156 6.0000000000000000, -0.69999999999999996, 0.0 },
3157 { 0.70276306239803643, 0.50000000000000000, 10.000000000000000,
3158 6.0000000000000000, -0.59999999999999998, 0.0 },
3159 { 0.73484179773087521, 0.50000000000000000, 10.000000000000000,
3160 6.0000000000000000, -0.50000000000000000, 0.0 },
3161 { 0.77162761412743874, 0.50000000000000000, 10.000000000000000,
3162 6.0000000000000000, -0.39999999999999991, 0.0 },
3163 { 0.81436116844816553, 0.50000000000000000, 10.000000000000000,
3164 6.0000000000000000, -0.29999999999999993, 0.0 },
3165 { 0.86477994787944579, 0.50000000000000000, 10.000000000000000,
3166 6.0000000000000000, -0.19999999999999996, 0.0 },
3167 { 0.92539820516603888, 0.50000000000000000, 10.000000000000000,
3168 6.0000000000000000, -0.099999999999999978, 0.0 },
3169 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3170 6.0000000000000000, 0.0000000000000000, 0.0 },
3171 { 1.0945599448210315, 0.50000000000000000, 10.000000000000000,
3172 6.0000000000000000, 0.10000000000000009, 0.0 },
3173 { 1.2190897395597269, 0.50000000000000000, 10.000000000000000,
3174 6.0000000000000000, 0.20000000000000018, 0.0 },
3175 { 1.3916844336856475, 0.50000000000000000, 10.000000000000000,
3176 6.0000000000000000, 0.30000000000000004, 0.0 },
3177 { 1.6484497630432020, 0.50000000000000000, 10.000000000000000,
3178 6.0000000000000000, 0.40000000000000013, 0.0 },
3179 { 2.0717772717131155, 0.50000000000000000, 10.000000000000000,
3180 6.0000000000000000, 0.50000000000000000, 0.0 },
3181 { 2.8893613630810924, 0.50000000000000000, 10.000000000000000,
3182 6.0000000000000000, 0.60000000000000009, 0.0 },
3183 { 4.9459404075413573, 0.50000000000000000, 10.000000000000000,
3184 6.0000000000000000, 0.70000000000000018, 0.0 },
3185 { 13.487394149998716, 0.50000000000000000, 10.000000000000000,
3186 6.0000000000000000, 0.80000000000000004, 0.0 },
3187 { 136.57616044014080, 0.50000000000000000, 10.000000000000000,
3188 6.0000000000000000, 0.90000000000000013, 0.0 },
3190 const double toler063 = 2.5000000000000020e-13;
3192 // Test data for a=0.50000000000000000, b=10.000000000000000, c=8.0000000000000000.
3193 // max(|f - f_GSL|): 1.2434497875801753e-14 at index 18
3194 // max(|f - f_GSL| / |f_GSL|): 1.3245081211977792e-15
3195 // mean(f - f_GSL): 8.5311874523827817e-16
3196 // variance(f - f_GSL): 7.8655509529357183e-30
3197 // stddev(f - f_GSL): 2.8045589587198410e-15
3198 const testcase_hyperg<double>
3199 data064[19] =
3201 { 0.68421604440344319, 0.50000000000000000, 10.000000000000000,
3202 8.0000000000000000, -0.90000000000000002, 0.0 },
3203 { 0.70548098055548925, 0.50000000000000000, 10.000000000000000,
3204 8.0000000000000000, -0.80000000000000004, 0.0 },
3205 { 0.72884342311710337, 0.50000000000000000, 10.000000000000000,
3206 8.0000000000000000, -0.69999999999999996, 0.0 },
3207 { 0.75466953437856232, 0.50000000000000000, 10.000000000000000,
3208 8.0000000000000000, -0.59999999999999998, 0.0 },
3209 { 0.78342090924662589, 0.50000000000000000, 10.000000000000000,
3210 8.0000000000000000, -0.50000000000000000, 0.0 },
3211 { 0.81568884278645115, 0.50000000000000000, 10.000000000000000,
3212 8.0000000000000000, -0.39999999999999991, 0.0 },
3213 { 0.85224480241465261, 0.50000000000000000, 10.000000000000000,
3214 8.0000000000000000, -0.29999999999999993, 0.0 },
3215 { 0.89411692571131685, 0.50000000000000000, 10.000000000000000,
3216 8.0000000000000000, -0.19999999999999996, 0.0 },
3217 { 0.94270986892954811, 0.50000000000000000, 10.000000000000000,
3218 8.0000000000000000, -0.099999999999999978, 0.0 },
3219 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3220 8.0000000000000000, 0.0000000000000000, 0.0 },
3221 { 1.0688682849120232, 0.50000000000000000, 10.000000000000000,
3222 8.0000000000000000, 0.10000000000000009, 0.0 },
3223 { 1.1537004376097553, 0.50000000000000000, 10.000000000000000,
3224 8.0000000000000000, 0.20000000000000018, 0.0 },
3225 { 1.2615455028370031, 0.50000000000000000, 10.000000000000000,
3226 8.0000000000000000, 0.30000000000000004, 0.0 },
3227 { 1.4045541456153443, 0.50000000000000000, 10.000000000000000,
3228 8.0000000000000000, 0.40000000000000013, 0.0 },
3229 { 1.6057216489444517, 0.50000000000000000, 10.000000000000000,
3230 8.0000000000000000, 0.50000000000000000, 0.0 },
3231 { 1.9146603020550739, 0.50000000000000000, 10.000000000000000,
3232 8.0000000000000000, 0.60000000000000009, 0.0 },
3233 { 2.4617931307620307, 0.50000000000000000, 10.000000000000000,
3234 8.0000000000000000, 0.70000000000000018, 0.0 },
3235 { 3.7267799624996498, 0.50000000000000000, 10.000000000000000,
3236 8.0000000000000000, 0.80000000000000004, 0.0 },
3237 { 9.3880118036248721, 0.50000000000000000, 10.000000000000000,
3238 8.0000000000000000, 0.90000000000000013, 0.0 },
3240 const double toler064 = 2.5000000000000020e-13;
3242 // Test data for a=0.50000000000000000, b=10.000000000000000, c=10.000000000000000.
3243 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
3244 // max(|f - f_GSL| / |f_GSL|): 1.8577584504832499e-16
3245 // mean(f - f_GSL): 5.8432790769745078e-18
3246 // variance(f - f_GSL): 1.1262748212790853e-32
3247 // stddev(f - f_GSL): 1.0612609581432294e-16
3248 const testcase_hyperg<double>
3249 data065[19] =
3251 { 0.72547625011001160, 0.50000000000000000, 10.000000000000000,
3252 10.000000000000000, -0.90000000000000002, 0.0 },
3253 { 0.74535599249992990, 0.50000000000000000, 10.000000000000000,
3254 10.000000000000000, -0.80000000000000004, 0.0 },
3255 { 0.76696498884737041, 0.50000000000000000, 10.000000000000000,
3256 10.000000000000000, -0.69999999999999996, 0.0 },
3257 { 0.79056941504209477, 0.50000000000000000, 10.000000000000000,
3258 10.000000000000000, -0.59999999999999998, 0.0 },
3259 { 0.81649658092772603, 0.50000000000000000, 10.000000000000000,
3260 10.000000000000000, -0.50000000000000000, 0.0 },
3261 { 0.84515425472851669, 0.50000000000000000, 10.000000000000000,
3262 10.000000000000000, -0.39999999999999991, 0.0 },
3263 { 0.87705801930702931, 0.50000000000000000, 10.000000000000000,
3264 10.000000000000000, -0.29999999999999993, 0.0 },
3265 { 0.91287092917527690, 0.50000000000000000, 10.000000000000000,
3266 10.000000000000000, -0.19999999999999996, 0.0 },
3267 { 0.95346258924559224, 0.50000000000000000, 10.000000000000000,
3268 10.000000000000000, -0.099999999999999978, 0.0 },
3269 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3270 10.000000000000000, 0.0000000000000000, 0.0 },
3271 { 1.0540925533894598, 0.50000000000000000, 10.000000000000000,
3272 10.000000000000000, 0.10000000000000009, 0.0 },
3273 { 1.1180339887498949, 0.50000000000000000, 10.000000000000000,
3274 10.000000000000000, 0.20000000000000018, 0.0 },
3275 { 1.1952286093343938, 0.50000000000000000, 10.000000000000000,
3276 10.000000000000000, 0.30000000000000004, 0.0 },
3277 { 1.2909944487358058, 0.50000000000000000, 10.000000000000000,
3278 10.000000000000000, 0.40000000000000013, 0.0 },
3279 { 1.4142135623730951, 0.50000000000000000, 10.000000000000000,
3280 10.000000000000000, 0.50000000000000000, 0.0 },
3281 { 1.5811388300841900, 0.50000000000000000, 10.000000000000000,
3282 10.000000000000000, 0.60000000000000009, 0.0 },
3283 { 1.8257418583505542, 0.50000000000000000, 10.000000000000000,
3284 10.000000000000000, 0.70000000000000018, 0.0 },
3285 { 2.2360679774997898, 0.50000000000000000, 10.000000000000000,
3286 10.000000000000000, 0.80000000000000004, 0.0 },
3287 { 3.1622776601683809, 0.50000000000000000, 10.000000000000000,
3288 10.000000000000000, 0.90000000000000013, 0.0 },
3290 const double toler065 = 2.5000000000000020e-13;
3292 // Test data for a=0.50000000000000000, b=20.000000000000000, c=2.0000000000000000.
3293 // max(|f - f_GSL|): 48.000000000000000 at index 18
3294 // max(|f - f_GSL| / |f_GSL|): 1.8556481344874416e-15
3295 // mean(f - f_GSL): 2.5263190030329112
3296 // variance(f - f_GSL): 121.26314075575490
3297 // stddev(f - f_GSL): 11.011954447588080
3298 const testcase_hyperg<double>
3299 data066[19] =
3301 { 0.26690449940521549, 0.50000000000000000, 20.000000000000000,
3302 2.0000000000000000, -0.90000000000000002, 0.0 },
3303 { 0.28252302866181833, 0.50000000000000000, 20.000000000000000,
3304 2.0000000000000000, -0.80000000000000004, 0.0 },
3305 { 0.30123616141153836, 0.50000000000000000, 20.000000000000000,
3306 2.0000000000000000, -0.69999999999999996, 0.0 },
3307 { 0.32421384687602633, 0.50000000000000000, 20.000000000000000,
3308 2.0000000000000000, -0.59999999999999998, 0.0 },
3309 { 0.35334630811776774, 0.50000000000000000, 20.000000000000000,
3310 2.0000000000000000, -0.50000000000000000, 0.0 },
3311 { 0.39191793127466995, 0.50000000000000000, 20.000000000000000,
3312 2.0000000000000000, -0.39999999999999991, 0.0 },
3313 { 0.44620488618129212, 0.50000000000000000, 20.000000000000000,
3314 2.0000000000000000, -0.29999999999999993, 0.0 },
3315 { 0.52980896919265719, 0.50000000000000000, 20.000000000000000,
3316 2.0000000000000000, -0.19999999999999996, 0.0 },
3317 { 0.67754711477562324, 0.50000000000000000, 20.000000000000000,
3318 2.0000000000000000, -0.099999999999999978, 0.0 },
3319 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3320 2.0000000000000000, 0.0000000000000000, 0.0 },
3321 { 1.9567557771780317, 0.50000000000000000, 20.000000000000000,
3322 2.0000000000000000, 0.10000000000000009, 0.0 },
3323 { 6.1816042148333272, 0.50000000000000000, 20.000000000000000,
3324 2.0000000000000000, 0.20000000000000018, 0.0 },
3325 { 35.653088618561227, 0.50000000000000000, 20.000000000000000,
3326 2.0000000000000000, 0.30000000000000004, 0.0 },
3327 { 377.51482843180133, 0.50000000000000000, 20.000000000000000,
3328 2.0000000000000000, 0.40000000000000013, 0.0 },
3329 { 7645.8816551195359, 0.50000000000000000, 20.000000000000000,
3330 2.0000000000000000, 0.50000000000000000, 0.0 },
3331 { 354791.74537980522, 0.50000000000000000, 20.000000000000000,
3332 2.0000000000000000, 0.60000000000000009, 0.0 },
3333 { 57009889.966639392, 0.50000000000000000, 20.000000000000000,
3334 2.0000000000000000, 0.70000000000000018, 0.0 },
3335 { 83771357024.863937, 0.50000000000000000, 20.000000000000000,
3336 2.0000000000000000, 0.80000000000000004, 0.0 },
3337 { 25866972896377436., 0.50000000000000000, 20.000000000000000,
3338 2.0000000000000000, 0.90000000000000013, 0.0 },
3340 const double toler066 = 2.5000000000000020e-13;
3342 // Test data for a=0.50000000000000000, b=20.000000000000000, c=4.0000000000000000.
3343 // max(|f - f_GSL|): 0.011718750000000000 at index 18
3344 // max(|f - f_GSL| / |f_GSL|): 1.7519521419033478e-15
3345 // mean(f - f_GSL): 0.00061678102606403001
3346 // variance(f - f_GSL): 7.2278413174892008e-06
3347 // stddev(f - f_GSL): 0.0026884644906506020
3348 const testcase_hyperg<double>
3349 data067[19] =
3351 { 0.40342659436153389, 0.50000000000000000, 20.000000000000000,
3352 4.0000000000000000, -0.90000000000000002, 0.0 },
3353 { 0.42420571192034318, 0.50000000000000000, 20.000000000000000,
3354 4.0000000000000000, -0.80000000000000004, 0.0 },
3355 { 0.44852768286073041, 0.50000000000000000, 20.000000000000000,
3356 4.0000000000000000, -0.69999999999999996, 0.0 },
3357 { 0.47751245808592863, 0.50000000000000000, 20.000000000000000,
3358 4.0000000000000000, -0.59999999999999998, 0.0 },
3359 { 0.51283632632707765, 0.50000000000000000, 20.000000000000000,
3360 4.0000000000000000, -0.50000000000000000, 0.0 },
3361 { 0.55713468814894329, 0.50000000000000000, 20.000000000000000,
3362 4.0000000000000000, -0.39999999999999991, 0.0 },
3363 { 0.61481320817757346, 0.50000000000000000, 20.000000000000000,
3364 4.0000000000000000, -0.29999999999999993, 0.0 },
3365 { 0.69383483410097213, 0.50000000000000000, 20.000000000000000,
3366 4.0000000000000000, -0.19999999999999996, 0.0 },
3367 { 0.81012002526006044, 0.50000000000000000, 20.000000000000000,
3368 4.0000000000000000, -0.099999999999999978, 0.0 },
3369 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3370 4.0000000000000000, 0.0000000000000000, 0.0 },
3371 { 1.3622225506603911, 0.50000000000000000, 20.000000000000000,
3372 4.0000000000000000, 0.10000000000000009, 0.0 },
3373 { 2.2349513086109027, 0.50000000000000000, 20.000000000000000,
3374 4.0000000000000000, 0.20000000000000018, 0.0 },
3375 { 5.1864917536761723, 0.50000000000000000, 20.000000000000000,
3376 4.0000000000000000, 0.30000000000000004, 0.0 },
3377 { 21.020560423779497, 0.50000000000000000, 20.000000000000000,
3378 4.0000000000000000, 0.40000000000000013, 0.0 },
3379 { 175.19649997100612, 0.50000000000000000, 20.000000000000000,
3380 4.0000000000000000, 0.50000000000000000, 0.0 },
3381 { 3467.1587803688708, 0.50000000000000000, 20.000000000000000,
3382 4.0000000000000000, 0.60000000000000009, 0.0 },
3383 { 225003.88683446089, 0.50000000000000000, 20.000000000000000,
3384 4.0000000000000000, 0.70000000000000018, 0.0 },
3385 { 110837674.65652709, 0.50000000000000000, 20.000000000000000,
3386 4.0000000000000000, 0.80000000000000004, 0.0 },
3387 { 6688966964170.9326, 0.50000000000000000, 20.000000000000000,
3388 4.0000000000000000, 0.90000000000000013, 0.0 },
3390 const double toler067 = 2.5000000000000020e-13;
3392 // Test data for a=0.50000000000000000, b=20.000000000000000, c=6.0000000000000000.
3393 // max(|f - f_GSL|): 1.4305114746093750e-05 at index 18
3394 // max(|f - f_GSL| / |f_GSL|): 1.9261147266353426e-15
3395 // mean(f - f_GSL): 7.5292535813082699e-07
3396 // variance(f - f_GSL): 1.0770292922645316e-11
3397 // stddev(f - f_GSL): 3.2818124447697064e-06
3398 const testcase_hyperg<double>
3399 data068[19] =
3401 { 0.48716309885816822, 0.50000000000000000, 20.000000000000000,
3402 6.0000000000000000, -0.90000000000000002, 0.0 },
3403 { 0.50965859152542337, 0.50000000000000000, 20.000000000000000,
3404 6.0000000000000000, -0.80000000000000004, 0.0 },
3405 { 0.53554809210658938, 0.50000000000000000, 20.000000000000000,
3406 6.0000000000000000, -0.69999999999999996, 0.0 },
3407 { 0.56576689207507136, 0.50000000000000000, 20.000000000000000,
3408 6.0000000000000000, -0.59999999999999998, 0.0 },
3409 { 0.60164849637133655, 0.50000000000000000, 20.000000000000000,
3410 6.0000000000000000, -0.50000000000000000, 0.0 },
3411 { 0.64516711595404408, 0.50000000000000000, 20.000000000000000,
3412 6.0000000000000000, -0.39999999999999991, 0.0 },
3413 { 0.69938278735493553, 0.50000000000000000, 20.000000000000000,
3414 6.0000000000000000, -0.29999999999999993, 0.0 },
3415 { 0.76931621518401860, 0.50000000000000000, 20.000000000000000,
3416 6.0000000000000000, -0.19999999999999996, 0.0 },
3417 { 0.86381808725530662, 0.50000000000000000, 20.000000000000000,
3418 6.0000000000000000, -0.099999999999999978, 0.0 },
3419 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3420 6.0000000000000000, 0.0000000000000000, 0.0 },
3421 { 1.2152051956815531, 0.50000000000000000, 20.000000000000000,
3422 6.0000000000000000, 0.10000000000000009, 0.0 },
3423 { 1.6052546785425557, 0.50000000000000000, 20.000000000000000,
3424 6.0000000000000000, 0.20000000000000018, 0.0 },
3425 { 2.4765586046012635, 0.50000000000000000, 20.000000000000000,
3426 6.0000000000000000, 0.30000000000000004, 0.0 },
3427 { 5.1564492216997611, 0.50000000000000000, 20.000000000000000,
3428 6.0000000000000000, 0.40000000000000013, 0.0 },
3429 { 18.446158392136365, 0.50000000000000000, 20.000000000000000,
3430 6.0000000000000000, 0.50000000000000000, 0.0 },
3431 { 150.44577670123971, 0.50000000000000000, 20.000000000000000,
3432 6.0000000000000000, 0.60000000000000009, 0.0 },
3433 { 3862.6317400116104, 0.50000000000000000, 20.000000000000000,
3434 6.0000000000000000, 0.70000000000000018, 0.0 },
3435 { 632428.34833625401, 0.50000000000000000, 20.000000000000000,
3436 6.0000000000000000, 0.80000000000000004, 0.0 },
3437 { 7426927663.3810987, 0.50000000000000000, 20.000000000000000,
3438 6.0000000000000000, 0.90000000000000013, 0.0 },
3440 const double toler068 = 2.5000000000000020e-13;
3442 // Test data for a=0.50000000000000000, b=20.000000000000000, c=8.0000000000000000.
3443 // max(|f - f_GSL|): 4.0978193283081055e-08 at index 18
3444 // max(|f - f_GSL| / |f_GSL|): 1.7692881266931270e-15
3445 // mean(f - f_GSL): 2.1571346930926438e-09
3446 // variance(f - f_GSL): 8.8377830897836260e-17
3447 // stddev(f - f_GSL): 9.4009484041683924e-09
3448 const testcase_hyperg<double>
3449 data069[19] =
3451 { 0.54703266209548373, 0.50000000000000000, 20.000000000000000,
3452 8.0000000000000000, -0.90000000000000002, 0.0 },
3453 { 0.56997321774144960, 0.50000000000000000, 20.000000000000000,
3454 8.0000000000000000, -0.80000000000000004, 0.0 },
3455 { 0.59603026159654982, 0.50000000000000000, 20.000000000000000,
3456 8.0000000000000000, -0.69999999999999996, 0.0 },
3457 { 0.62596978851120511, 0.50000000000000000, 20.000000000000000,
3458 8.0000000000000000, -0.59999999999999998, 0.0 },
3459 { 0.66084565876898915, 0.50000000000000000, 20.000000000000000,
3460 8.0000000000000000, -0.50000000000000000, 0.0 },
3461 { 0.70215256667232862, 0.50000000000000000, 20.000000000000000,
3462 8.0000000000000000, -0.39999999999999991, 0.0 },
3463 { 0.75208916592008568, 0.50000000000000000, 20.000000000000000,
3464 8.0000000000000000, -0.29999999999999993, 0.0 },
3465 { 0.81403631111658625, 0.50000000000000000, 20.000000000000000,
3466 8.0000000000000000, -0.19999999999999996, 0.0 },
3467 { 0.89348608489854597, 0.50000000000000000, 20.000000000000000,
3468 8.0000000000000000, -0.099999999999999978, 0.0 },
3469 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3470 8.0000000000000000, 0.0000000000000000, 0.0 },
3471 { 1.1517793185139173, 0.50000000000000000, 20.000000000000000,
3472 8.0000000000000000, 0.10000000000000009, 0.0 },
3473 { 1.3878110313656606, 0.50000000000000000, 20.000000000000000,
3474 8.0000000000000000, 0.20000000000000018, 0.0 },
3475 { 1.8061071794572381, 0.50000000000000000, 20.000000000000000,
3476 8.0000000000000000, 0.30000000000000004, 0.0 },
3477 { 2.7148594517859612, 0.50000000000000000, 20.000000000000000,
3478 8.0000000000000000, 0.40000000000000013, 0.0 },
3479 { 5.4529435709049361, 0.50000000000000000, 20.000000000000000,
3480 8.0000000000000000, 0.50000000000000000, 0.0 },
3481 { 19.487310275377109, 0.50000000000000000, 20.000000000000000,
3482 8.0000000000000000, 0.60000000000000009, 0.0 },
3483 { 191.69079165937592, 0.50000000000000000, 20.000000000000000,
3484 8.0000000000000000, 0.70000000000000018, 0.0 },
3485 { 10218.543981792311, 0.50000000000000000, 20.000000000000000,
3486 8.0000000000000000, 0.80000000000000004, 0.0 },
3487 { 23160836.646584522, 0.50000000000000000, 20.000000000000000,
3488 8.0000000000000000, 0.90000000000000013, 0.0 },
3490 const double toler069 = 2.5000000000000020e-13;
3492 // Test data for a=0.50000000000000000, b=20.000000000000000, c=10.000000000000000.
3493 // max(|f - f_GSL|): 2.9103830456733704e-10 at index 18
3494 // max(|f - f_GSL| / |f_GSL|): 1.6694673196526424e-15
3495 // mean(f - f_GSL): 1.5333453804912193e-11
3496 // variance(f - f_GSL): 4.4575621294589140e-21
3497 // stddev(f - f_GSL): 6.6764976817631821e-11
3498 const testcase_hyperg<double>
3499 data070[19] =
3501 { 0.59292067298616025, 0.50000000000000000, 20.000000000000000,
3502 10.000000000000000, -0.90000000000000002, 0.0 },
3503 { 0.61572496720679892, 0.50000000000000000, 20.000000000000000,
3504 10.000000000000000, -0.80000000000000004, 0.0 },
3505 { 0.64135339122875590, 0.50000000000000000, 20.000000000000000,
3506 10.000000000000000, -0.69999999999999996, 0.0 },
3507 { 0.67043457419280461, 0.50000000000000000, 20.000000000000000,
3508 10.000000000000000, -0.59999999999999998, 0.0 },
3509 { 0.70380956268170969, 0.50000000000000000, 20.000000000000000,
3510 10.000000000000000, -0.50000000000000000, 0.0 },
3511 { 0.74263251901495264, 0.50000000000000000, 20.000000000000000,
3512 10.000000000000000, -0.39999999999999991, 0.0 },
3513 { 0.78853555445528289, 0.50000000000000000, 20.000000000000000,
3514 10.000000000000000, -0.29999999999999993, 0.0 },
3515 { 0.84391122775673755, 0.50000000000000000, 20.000000000000000,
3516 10.000000000000000, -0.19999999999999996, 0.0 },
3517 { 0.91242401018807373, 0.50000000000000000, 20.000000000000000,
3518 10.000000000000000, -0.099999999999999978, 0.0 },
3519 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3520 10.000000000000000, 0.0000000000000000, 0.0 },
3521 { 1.1169059681274873, 0.50000000000000000, 20.000000000000000,
3522 10.000000000000000, 0.10000000000000009, 0.0 },
3523 { 1.2825928301302669, 0.50000000000000000, 20.000000000000000,
3524 10.000000000000000, 0.20000000000000018, 0.0 },
3525 { 1.5385937789924939, 0.50000000000000000, 20.000000000000000,
3526 10.000000000000000, 0.30000000000000004, 0.0 },
3527 { 1.9895771187893914, 0.50000000000000000, 20.000000000000000,
3528 10.000000000000000, 0.40000000000000013, 0.0 },
3529 { 2.9707335806970168, 0.50000000000000000, 20.000000000000000,
3530 10.000000000000000, 0.50000000000000000, 0.0 },
3531 { 6.0299506157180467, 0.50000000000000000, 20.000000000000000,
3532 10.000000000000000, 0.60000000000000009, 0.0 },
3533 { 24.259090336955669, 0.50000000000000000, 20.000000000000000,
3534 10.000000000000000, 0.70000000000000018, 0.0 },
3535 { 406.27267173257223, 0.50000000000000000, 20.000000000000000,
3536 10.000000000000000, 0.80000000000000004, 0.0 },
3537 { 174330.03997220617, 0.50000000000000000, 20.000000000000000,
3538 10.000000000000000, 0.90000000000000013, 0.0 },
3540 const double toler070 = 2.5000000000000020e-13;
3542 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
3543 // max(|f - f_GSL|): 0.0000000000000000 at index 0
3544 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3545 // mean(f - f_GSL): 0.0000000000000000
3546 // variance(f - f_GSL): 0.0000000000000000
3547 // stddev(f - f_GSL): 0.0000000000000000
3548 const testcase_hyperg<double>
3549 data071[19] =
3551 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3552 2.0000000000000000, -0.90000000000000002, 0.0 },
3553 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3554 2.0000000000000000, -0.80000000000000004, 0.0 },
3555 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3556 2.0000000000000000, -0.69999999999999996, 0.0 },
3557 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3558 2.0000000000000000, -0.59999999999999998, 0.0 },
3559 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3560 2.0000000000000000, -0.50000000000000000, 0.0 },
3561 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3562 2.0000000000000000, -0.39999999999999991, 0.0 },
3563 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3564 2.0000000000000000, -0.29999999999999993, 0.0 },
3565 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3566 2.0000000000000000, -0.19999999999999996, 0.0 },
3567 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3568 2.0000000000000000, -0.099999999999999978, 0.0 },
3569 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3570 2.0000000000000000, 0.0000000000000000, 0.0 },
3571 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3572 2.0000000000000000, 0.10000000000000009, 0.0 },
3573 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3574 2.0000000000000000, 0.20000000000000018, 0.0 },
3575 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3576 2.0000000000000000, 0.30000000000000004, 0.0 },
3577 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3578 2.0000000000000000, 0.40000000000000013, 0.0 },
3579 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3580 2.0000000000000000, 0.50000000000000000, 0.0 },
3581 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3582 2.0000000000000000, 0.60000000000000009, 0.0 },
3583 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3584 2.0000000000000000, 0.70000000000000018, 0.0 },
3585 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3586 2.0000000000000000, 0.80000000000000004, 0.0 },
3587 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3588 2.0000000000000000, 0.90000000000000013, 0.0 },
3590 const double toler071 = 2.5000000000000020e-13;
3592 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
3593 // max(|f - f_GSL|): 0.0000000000000000 at index 0
3594 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3595 // mean(f - f_GSL): 0.0000000000000000
3596 // variance(f - f_GSL): 0.0000000000000000
3597 // stddev(f - f_GSL): 0.0000000000000000
3598 const testcase_hyperg<double>
3599 data072[19] =
3601 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3602 4.0000000000000000, -0.90000000000000002, 0.0 },
3603 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3604 4.0000000000000000, -0.80000000000000004, 0.0 },
3605 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3606 4.0000000000000000, -0.69999999999999996, 0.0 },
3607 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3608 4.0000000000000000, -0.59999999999999998, 0.0 },
3609 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3610 4.0000000000000000, -0.50000000000000000, 0.0 },
3611 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3612 4.0000000000000000, -0.39999999999999991, 0.0 },
3613 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3614 4.0000000000000000, -0.29999999999999993, 0.0 },
3615 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3616 4.0000000000000000, -0.19999999999999996, 0.0 },
3617 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3618 4.0000000000000000, -0.099999999999999978, 0.0 },
3619 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3620 4.0000000000000000, 0.0000000000000000, 0.0 },
3621 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3622 4.0000000000000000, 0.10000000000000009, 0.0 },
3623 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3624 4.0000000000000000, 0.20000000000000018, 0.0 },
3625 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3626 4.0000000000000000, 0.30000000000000004, 0.0 },
3627 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3628 4.0000000000000000, 0.40000000000000013, 0.0 },
3629 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3630 4.0000000000000000, 0.50000000000000000, 0.0 },
3631 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3632 4.0000000000000000, 0.60000000000000009, 0.0 },
3633 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3634 4.0000000000000000, 0.70000000000000018, 0.0 },
3635 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3636 4.0000000000000000, 0.80000000000000004, 0.0 },
3637 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3638 4.0000000000000000, 0.90000000000000013, 0.0 },
3640 const double toler072 = 2.5000000000000020e-13;
3642 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
3643 // max(|f - f_GSL|): 0.0000000000000000 at index 0
3644 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3645 // mean(f - f_GSL): 0.0000000000000000
3646 // variance(f - f_GSL): 0.0000000000000000
3647 // stddev(f - f_GSL): 0.0000000000000000
3648 const testcase_hyperg<double>
3649 data073[19] =
3651 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3652 6.0000000000000000, -0.90000000000000002, 0.0 },
3653 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3654 6.0000000000000000, -0.80000000000000004, 0.0 },
3655 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3656 6.0000000000000000, -0.69999999999999996, 0.0 },
3657 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3658 6.0000000000000000, -0.59999999999999998, 0.0 },
3659 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3660 6.0000000000000000, -0.50000000000000000, 0.0 },
3661 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3662 6.0000000000000000, -0.39999999999999991, 0.0 },
3663 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3664 6.0000000000000000, -0.29999999999999993, 0.0 },
3665 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3666 6.0000000000000000, -0.19999999999999996, 0.0 },
3667 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3668 6.0000000000000000, -0.099999999999999978, 0.0 },
3669 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3670 6.0000000000000000, 0.0000000000000000, 0.0 },
3671 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3672 6.0000000000000000, 0.10000000000000009, 0.0 },
3673 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3674 6.0000000000000000, 0.20000000000000018, 0.0 },
3675 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3676 6.0000000000000000, 0.30000000000000004, 0.0 },
3677 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3678 6.0000000000000000, 0.40000000000000013, 0.0 },
3679 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3680 6.0000000000000000, 0.50000000000000000, 0.0 },
3681 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3682 6.0000000000000000, 0.60000000000000009, 0.0 },
3683 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3684 6.0000000000000000, 0.70000000000000018, 0.0 },
3685 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3686 6.0000000000000000, 0.80000000000000004, 0.0 },
3687 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3688 6.0000000000000000, 0.90000000000000013, 0.0 },
3690 const double toler073 = 2.5000000000000020e-13;
3692 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
3693 // max(|f - f_GSL|): 0.0000000000000000 at index 0
3694 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3695 // mean(f - f_GSL): 0.0000000000000000
3696 // variance(f - f_GSL): 0.0000000000000000
3697 // stddev(f - f_GSL): 0.0000000000000000
3698 const testcase_hyperg<double>
3699 data074[19] =
3701 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3702 8.0000000000000000, -0.90000000000000002, 0.0 },
3703 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3704 8.0000000000000000, -0.80000000000000004, 0.0 },
3705 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3706 8.0000000000000000, -0.69999999999999996, 0.0 },
3707 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3708 8.0000000000000000, -0.59999999999999998, 0.0 },
3709 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3710 8.0000000000000000, -0.50000000000000000, 0.0 },
3711 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3712 8.0000000000000000, -0.39999999999999991, 0.0 },
3713 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3714 8.0000000000000000, -0.29999999999999993, 0.0 },
3715 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3716 8.0000000000000000, -0.19999999999999996, 0.0 },
3717 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3718 8.0000000000000000, -0.099999999999999978, 0.0 },
3719 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3720 8.0000000000000000, 0.0000000000000000, 0.0 },
3721 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3722 8.0000000000000000, 0.10000000000000009, 0.0 },
3723 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3724 8.0000000000000000, 0.20000000000000018, 0.0 },
3725 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3726 8.0000000000000000, 0.30000000000000004, 0.0 },
3727 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3728 8.0000000000000000, 0.40000000000000013, 0.0 },
3729 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3730 8.0000000000000000, 0.50000000000000000, 0.0 },
3731 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3732 8.0000000000000000, 0.60000000000000009, 0.0 },
3733 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3734 8.0000000000000000, 0.70000000000000018, 0.0 },
3735 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3736 8.0000000000000000, 0.80000000000000004, 0.0 },
3737 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3738 8.0000000000000000, 0.90000000000000013, 0.0 },
3740 const double toler074 = 2.5000000000000020e-13;
3742 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
3743 // max(|f - f_GSL|): 0.0000000000000000 at index 0
3744 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3745 // mean(f - f_GSL): 0.0000000000000000
3746 // variance(f - f_GSL): 0.0000000000000000
3747 // stddev(f - f_GSL): 0.0000000000000000
3748 const testcase_hyperg<double>
3749 data075[19] =
3751 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3752 10.000000000000000, -0.90000000000000002, 0.0 },
3753 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3754 10.000000000000000, -0.80000000000000004, 0.0 },
3755 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3756 10.000000000000000, -0.69999999999999996, 0.0 },
3757 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3758 10.000000000000000, -0.59999999999999998, 0.0 },
3759 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3760 10.000000000000000, -0.50000000000000000, 0.0 },
3761 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3762 10.000000000000000, -0.39999999999999991, 0.0 },
3763 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3764 10.000000000000000, -0.29999999999999993, 0.0 },
3765 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3766 10.000000000000000, -0.19999999999999996, 0.0 },
3767 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3768 10.000000000000000, -0.099999999999999978, 0.0 },
3769 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3770 10.000000000000000, 0.0000000000000000, 0.0 },
3771 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3772 10.000000000000000, 0.10000000000000009, 0.0 },
3773 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3774 10.000000000000000, 0.20000000000000018, 0.0 },
3775 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3776 10.000000000000000, 0.30000000000000004, 0.0 },
3777 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3778 10.000000000000000, 0.40000000000000013, 0.0 },
3779 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3780 10.000000000000000, 0.50000000000000000, 0.0 },
3781 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3782 10.000000000000000, 0.60000000000000009, 0.0 },
3783 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3784 10.000000000000000, 0.70000000000000018, 0.0 },
3785 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3786 10.000000000000000, 0.80000000000000004, 0.0 },
3787 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3788 10.000000000000000, 0.90000000000000013, 0.0 },
3790 const double toler075 = 2.5000000000000020e-13;
3792 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
3793 // max(|f - f_GSL|): 8.8817841970012523e-16 at index 18
3794 // max(|f - f_GSL| / |f_GSL|): 5.8452254859313207e-16
3795 // mean(f - f_GSL): 8.1805907077643109e-17
3796 // variance(f - f_GSL): 3.8131160349224712e-32
3797 // stddev(f - f_GSL): 1.9527201629835421e-16
3798 const testcase_hyperg<double>
3799 data076[19] =
3801 { 0.84089972268671531, 1.0000000000000000, 0.50000000000000000,
3802 2.0000000000000000, -0.90000000000000002, 0.0 },
3803 { 0.85410196624968460, 1.0000000000000000, 0.50000000000000000,
3804 2.0000000000000000, -0.80000000000000004, 0.0 },
3805 { 0.86811566011579955, 1.0000000000000000, 0.50000000000000000,
3806 2.0000000000000000, -0.69999999999999996, 0.0 },
3807 { 0.88303688022450522, 1.0000000000000000, 0.50000000000000000,
3808 2.0000000000000000, -0.59999999999999998, 0.0 },
3809 { 0.89897948556635621, 1.0000000000000000, 0.50000000000000000,
3810 2.0000000000000000, -0.50000000000000000, 0.0 },
3811 { 0.91607978309961580, 1.0000000000000000, 0.50000000000000000,
3812 2.0000000000000000, -0.39999999999999991, 0.0 },
3813 { 0.93450283399425327, 1.0000000000000000, 0.50000000000000000,
3814 2.0000000000000000, -0.29999999999999993, 0.0 },
3815 { 0.95445115010332193, 1.0000000000000000, 0.50000000000000000,
3816 2.0000000000000000, -0.19999999999999996, 0.0 },
3817 { 0.97617696340303095, 1.0000000000000000, 0.50000000000000000,
3818 2.0000000000000000, -0.099999999999999978, 0.0 },
3819 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3820 2.0000000000000000, 0.0000000000000000, 0.0 },
3821 { 1.0263340389897240, 1.0000000000000000, 0.50000000000000000,
3822 2.0000000000000000, 0.10000000000000009, 0.0 },
3823 { 1.0557280900008412, 1.0000000000000000, 0.50000000000000000,
3824 2.0000000000000000, 0.20000000000000018, 0.0 },
3825 { 1.0889331564394962, 1.0000000000000000, 0.50000000000000000,
3826 2.0000000000000000, 0.30000000000000004, 0.0 },
3827 { 1.1270166537925830, 1.0000000000000000, 0.50000000000000000,
3828 2.0000000000000000, 0.40000000000000013, 0.0 },
3829 { 1.1715728752538095, 1.0000000000000000, 0.50000000000000000,
3830 2.0000000000000000, 0.50000000000000000, 0.0 },
3831 { 1.2251482265544145, 1.0000000000000000, 0.50000000000000000,
3832 2.0000000000000000, 0.60000000000000009, 0.0 },
3833 { 1.2922212642709543, 1.0000000000000000, 0.50000000000000000,
3834 2.0000000000000000, 0.70000000000000018, 0.0 },
3835 { 1.3819660112501042, 1.0000000000000000, 0.50000000000000000,
3836 2.0000000000000000, 0.80000000000000004, 0.0 },
3837 { 1.5194938532959121, 1.0000000000000000, 0.50000000000000000,
3838 2.0000000000000000, 0.90000000000000013, 0.0 },
3840 const double toler076 = 2.5000000000000020e-13;
3842 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
3843 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 17
3844 // max(|f - f_GSL| / |f_GSL|): 1.9508457915403988e-16
3845 // mean(f - f_GSL): 2.3373116307898031e-17
3846 // variance(f - f_GSL): 2.3146198993753289e-33
3847 // stddev(f - f_GSL): 4.8110496769159731e-17
3848 const testcase_hyperg<double>
3849 data077[19] =
3851 { 0.90992197313391454, 1.0000000000000000, 0.50000000000000000,
3852 4.0000000000000000, -0.90000000000000002, 0.0 },
3853 { 0.91822592662244484, 1.0000000000000000, 0.50000000000000000,
3854 4.0000000000000000, -0.80000000000000004, 0.0 },
3855 { 0.92687104566419554, 1.0000000000000000, 0.50000000000000000,
3856 4.0000000000000000, -0.69999999999999996, 0.0 },
3857 { 0.93588628166548848, 1.0000000000000000, 0.50000000000000000,
3858 4.0000000000000000, -0.59999999999999998, 0.0 },
3859 { 0.94530459215552909, 1.0000000000000000, 0.50000000000000000,
3860 4.0000000000000000, -0.50000000000000000, 0.0 },
3861 { 0.95516374875247434, 1.0000000000000000, 0.50000000000000000,
3862 4.0000000000000000, -0.39999999999999991, 0.0 },
3863 { 0.96550736800511816, 1.0000000000000000, 0.50000000000000000,
3864 4.0000000000000000, -0.29999999999999993, 0.0 },
3865 { 0.97638624595136270, 1.0000000000000000, 0.50000000000000000,
3866 4.0000000000000000, -0.19999999999999996, 0.0 },
3867 { 0.98786011482678993, 1.0000000000000000, 0.50000000000000000,
3868 4.0000000000000000, -0.099999999999999978, 0.0 },
3869 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3870 4.0000000000000000, 0.0000000000000000, 0.0 },
3871 { 1.0128914530682316, 1.0000000000000000, 0.50000000000000000,
3872 4.0000000000000000, 0.10000000000000009, 0.0 },
3873 { 1.0266391040215350, 1.0000000000000000, 0.50000000000000000,
3874 4.0000000000000000, 0.20000000000000018, 0.0 },
3875 { 1.0413732738729464, 1.0000000000000000, 0.50000000000000000,
3876 4.0000000000000000, 0.30000000000000004, 0.0 },
3877 { 1.0572599536532992, 1.0000000000000000, 0.50000000000000000,
3878 4.0000000000000000, 0.40000000000000013, 0.0 },
3879 { 1.0745166004060953, 1.0000000000000000, 0.50000000000000000,
3880 4.0000000000000000, 0.50000000000000000, 0.0 },
3881 { 1.0934387388831386, 1.0000000000000000, 0.50000000000000000,
3882 4.0000000000000000, 0.60000000000000009, 0.0 },
3883 { 1.1144486980714641, 1.0000000000000000, 0.50000000000000000,
3884 4.0000000000000000, 0.70000000000000018, 0.0 },
3885 { 1.1381966011250106, 1.0000000000000000, 0.50000000000000000,
3886 4.0000000000000000, 0.80000000000000004, 0.0 },
3887 { 1.1658171625342397, 1.0000000000000000, 0.50000000000000000,
3888 4.0000000000000000, 0.90000000000000013, 0.0 },
3890 const double toler077 = 2.5000000000000020e-13;
3892 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
3893 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 7
3894 // max(|f - f_GSL| / |f_GSL|): 4.5130734546221216e-16
3895 // mean(f - f_GSL): 4.6746232615796062e-17
3896 // variance(f - f_GSL): 1.2814504633219814e-34
3897 // stddev(f - f_GSL): 1.1320116886861114e-17
3898 const testcase_hyperg<double>
3899 data078[19] =
3901 { 0.93641908369732896, 1.0000000000000000, 0.50000000000000000,
3902 6.0000000000000000, -0.90000000000000002, 0.0 },
3903 { 0.94256349654111271, 1.0000000000000000, 0.50000000000000000,
3904 6.0000000000000000, -0.80000000000000004, 0.0 },
3905 { 0.94890138508461319, 1.0000000000000000, 0.50000000000000000,
3906 6.0000000000000000, -0.69999999999999996, 0.0 },
3907 { 0.95544578858430029, 1.0000000000000000, 0.50000000000000000,
3908 6.0000000000000000, -0.59999999999999998, 0.0 },
3909 { 0.96221121193620762, 1.0000000000000000, 0.50000000000000000,
3910 6.0000000000000000, -0.50000000000000000, 0.0 },
3911 { 0.96921386948293542, 1.0000000000000000, 0.50000000000000000,
3912 6.0000000000000000, -0.39999999999999991, 0.0 },
3913 { 0.97647198488394704, 1.0000000000000000, 0.50000000000000000,
3914 6.0000000000000000, -0.29999999999999993, 0.0 },
3915 { 0.98400616412578656, 1.0000000000000000, 0.50000000000000000,
3916 6.0000000000000000, -0.19999999999999996, 0.0 },
3917 { 0.99183986544963032, 1.0000000000000000, 0.50000000000000000,
3918 6.0000000000000000, -0.099999999999999978, 0.0 },
3919 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3920 6.0000000000000000, 0.0000000000000000, 0.0 },
3921 { 1.0085177124149158, 1.0000000000000000, 0.50000000000000000,
3922 6.0000000000000000, 0.10000000000000009, 0.0 },
3923 { 1.0174294150407122, 1.0000000000000000, 0.50000000000000000,
3924 6.0000000000000000, 0.20000000000000018, 0.0 },
3925 { 1.0267781897388850, 1.0000000000000000, 0.50000000000000000,
3926 6.0000000000000000, 0.30000000000000004, 0.0 },
3927 { 1.0366157405967287, 1.0000000000000000, 0.50000000000000000,
3928 6.0000000000000000, 0.40000000000000013, 0.0 },
3929 { 1.0470052068648839, 1.0000000000000000, 0.50000000000000000,
3930 6.0000000000000000, 0.50000000000000000, 0.0 },
3931 { 1.0580253905513313, 1.0000000000000000, 0.50000000000000000,
3932 6.0000000000000000, 0.60000000000000009, 0.0 },
3933 { 1.0697774741209765, 1.0000000000000000, 0.50000000000000000,
3934 6.0000000000000000, 0.70000000000000018, 0.0 },
3935 { 1.0823965556448414, 1.0000000000000000, 0.50000000000000000,
3936 6.0000000000000000, 0.80000000000000004, 0.0 },
3937 { 1.0960739512057103, 1.0000000000000000, 0.50000000000000000,
3938 6.0000000000000000, 0.90000000000000013, 0.0 },
3940 const double toler078 = 2.5000000000000020e-13;
3942 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
3943 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 7
3944 // max(|f - f_GSL| / |f_GSL|): 2.2476491960642283e-16
3945 // mean(f - f_GSL): -5.8432790769745078e-18
3946 // variance(f - f_GSL): 2.0022663489405960e-36
3947 // stddev(f - f_GSL): 1.4150146108576393e-18
3948 const testcase_hyperg<double>
3949 data079[19] =
3951 { 0.95069883346936235, 1.0000000000000000, 0.50000000000000000,
3952 8.0000000000000000, -0.90000000000000002, 0.0 },
3953 { 0.95559618047704131, 1.0000000000000000, 0.50000000000000000,
3954 8.0000000000000000, -0.80000000000000004, 0.0 },
3955 { 0.96061938755931664, 1.0000000000000000, 0.50000000000000000,
3956 8.0000000000000000, -0.69999999999999996, 0.0 },
3957 { 0.96577553912851333, 1.0000000000000000, 0.50000000000000000,
3958 8.0000000000000000, -0.59999999999999998, 0.0 },
3959 { 0.97107239473807716, 1.0000000000000000, 0.50000000000000000,
3960 8.0000000000000000, -0.50000000000000000, 0.0 },
3961 { 0.97651848528588481, 1.0000000000000000, 0.50000000000000000,
3962 8.0000000000000000, -0.39999999999999991, 0.0 },
3963 { 0.98212322830227128, 1.0000000000000000, 0.50000000000000000,
3964 8.0000000000000000, -0.29999999999999993, 0.0 },
3965 { 0.98789706736195781, 1.0000000000000000, 0.50000000000000000,
3966 8.0000000000000000, -0.19999999999999996, 0.0 },
3967 { 0.99385164237825074, 1.0000000000000000, 0.50000000000000000,
3968 8.0000000000000000, -0.099999999999999978, 0.0 },
3969 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3970 8.0000000000000000, 0.0000000000000000, 0.0 },
3971 { 1.0063568569383123, 1.0000000000000000, 0.50000000000000000,
3972 8.0000000000000000, 0.10000000000000009, 0.0 },
3973 { 1.0129389344715818, 1.0000000000000000, 0.50000000000000000,
3974 8.0000000000000000, 0.20000000000000018, 0.0 },
3975 { 1.0197653907773940, 1.0000000000000000, 0.50000000000000000,
3976 8.0000000000000000, 0.30000000000000004, 0.0 },
3977 { 1.0268583912277143, 1.0000000000000000, 0.50000000000000000,
3978 8.0000000000000000, 0.40000000000000013, 0.0 },
3979 { 1.0342438793937092, 1.0000000000000000, 0.50000000000000000,
3980 8.0000000000000000, 0.50000000000000000, 0.0 },
3981 { 1.0419526514766855, 1.0000000000000000, 0.50000000000000000,
3982 8.0000000000000000, 0.60000000000000009, 0.0 },
3983 { 1.0500219124976327, 1.0000000000000000, 0.50000000000000000,
3984 8.0000000000000000, 0.70000000000000018, 0.0 },
3985 { 1.0584976491907043, 1.0000000000000000, 0.50000000000000000,
3986 8.0000000000000000, 0.80000000000000004, 0.0 },
3987 { 1.0674385240268101, 1.0000000000000000, 0.50000000000000000,
3988 8.0000000000000000, 0.90000000000000013, 0.0 },
3990 const double toler079 = 2.5000000000000020e-13;
3992 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
3993 // max(|f - f_GSL|): 0.0000000000000000 at index 0
3994 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3995 // mean(f - f_GSL): 0.0000000000000000
3996 // variance(f - f_GSL): 0.0000000000000000
3997 // stddev(f - f_GSL): 0.0000000000000000
3998 const testcase_hyperg<double>
3999 data080[19] =
4001 { 0.95968319138913905, 1.0000000000000000, 0.50000000000000000,
4002 10.000000000000000, -0.90000000000000002, 0.0 },
4003 { 0.96376169072755802, 1.0000000000000000, 0.50000000000000000,
4004 10.000000000000000, -0.80000000000000004, 0.0 },
4005 { 0.96792900082729372, 1.0000000000000000, 0.50000000000000000,
4006 10.000000000000000, -0.69999999999999996, 0.0 },
4007 { 0.97218942798115737, 1.0000000000000000, 0.50000000000000000,
4008 10.000000000000000, -0.59999999999999998, 0.0 },
4009 { 0.97654763592586835, 1.0000000000000000, 0.50000000000000000,
4010 10.000000000000000, -0.50000000000000000, 0.0 },
4011 { 0.98100869054353890, 1.0000000000000000, 0.50000000000000000,
4012 10.000000000000000, -0.39999999999999991, 0.0 },
4013 { 0.98557811238699278, 1.0000000000000000, 0.50000000000000000,
4014 10.000000000000000, -0.29999999999999993, 0.0 },
4015 { 0.99026193885795544, 1.0000000000000000, 0.50000000000000000,
4016 10.000000000000000, -0.19999999999999996, 0.0 },
4017 { 0.99506679842072221, 1.0000000000000000, 0.50000000000000000,
4018 10.000000000000000, -0.099999999999999978, 0.0 },
4019 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
4020 10.000000000000000, 0.0000000000000000, 0.0 },
4021 { 1.0050696417919618, 1.0000000000000000, 0.50000000000000000,
4022 10.000000000000000, 0.10000000000000009, 0.0 },
4023 { 1.0102847452747090, 1.0000000000000000, 0.50000000000000000,
4024 10.000000000000000, 0.20000000000000018, 0.0 },
4025 { 1.0156554225057022, 1.0000000000000000, 0.50000000000000000,
4026 10.000000000000000, 0.30000000000000004, 0.0 },
4027 { 1.0211930882963096, 1.0000000000000000, 0.50000000000000000,
4028 10.000000000000000, 0.40000000000000013, 0.0 },
4029 { 1.0269107343740711, 1.0000000000000000, 0.50000000000000000,
4030 10.000000000000000, 0.50000000000000000, 0.0 },
4031 { 1.0328232917216298, 1.0000000000000000, 0.50000000000000000,
4032 10.000000000000000, 0.60000000000000009, 0.0 },
4033 { 1.0389481230247195, 1.0000000000000000, 0.50000000000000000,
4034 10.000000000000000, 0.70000000000000018, 0.0 },
4035 { 1.0453057164134614, 1.0000000000000000, 0.50000000000000000,
4036 10.000000000000000, 0.80000000000000004, 0.0 },
4037 { 1.0519207114461246, 1.0000000000000000, 0.50000000000000000,
4038 10.000000000000000, 0.90000000000000013, 0.0 },
4040 const double toler080 = 2.5000000000000020e-13;
4042 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
4043 // max(|f - f_GSL|): 3.5527136788005009e-15 at index 18
4044 // max(|f - f_GSL| / |f_GSL|): 1.3886315518367350e-15
4045 // mean(f - f_GSL): 2.6879083754082737e-16
4046 // variance(f - f_GSL): 6.3240381271479359e-31
4047 // stddev(f - f_GSL): 7.9523821130199324e-16
4048 const testcase_hyperg<double>
4049 data081[19] =
4051 { 0.71317098463599415, 1.0000000000000000, 1.0000000000000000,
4052 2.0000000000000000, -0.90000000000000002, 0.0 },
4053 { 0.73473333112764883, 1.0000000000000000, 1.0000000000000000,
4054 2.0000000000000000, -0.80000000000000004, 0.0 },
4055 { 0.75804035866024344, 1.0000000000000000, 1.0000000000000000,
4056 2.0000000000000000, -0.69999999999999996, 0.0 },
4057 { 0.78333938207622589, 1.0000000000000000, 1.0000000000000000,
4058 2.0000000000000000, -0.59999999999999998, 0.0 },
4059 { 0.81093021621632866, 1.0000000000000000, 1.0000000000000000,
4060 2.0000000000000000, -0.50000000000000000, 0.0 },
4061 { 0.84118059155303215, 1.0000000000000000, 1.0000000000000000,
4062 2.0000000000000000, -0.39999999999999991, 0.0 },
4063 { 0.87454754822497005, 1.0000000000000000, 1.0000000000000000,
4064 2.0000000000000000, -0.29999999999999993, 0.0 },
4065 { 0.91160778396977304, 1.0000000000000000, 1.0000000000000000,
4066 2.0000000000000000, -0.19999999999999996, 0.0 },
4067 { 0.95310179804324857, 1.0000000000000000, 1.0000000000000000,
4068 2.0000000000000000, -0.099999999999999978, 0.0 },
4069 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
4070 2.0000000000000000, 0.0000000000000000, 0.0 },
4071 { 1.0536051565782629, 1.0000000000000000, 1.0000000000000000,
4072 2.0000000000000000, 0.10000000000000009, 0.0 },
4073 { 1.1157177565710485, 1.0000000000000000, 1.0000000000000000,
4074 2.0000000000000000, 0.20000000000000018, 0.0 },
4075 { 1.1889164797957747, 1.0000000000000000, 1.0000000000000000,
4076 2.0000000000000000, 0.30000000000000004, 0.0 },
4077 { 1.2770640594149769, 1.0000000000000000, 1.0000000000000000,
4078 2.0000000000000000, 0.40000000000000013, 0.0 },
4079 { 1.3862943611198899, 1.0000000000000000, 1.0000000000000000,
4080 2.0000000000000000, 0.50000000000000000, 0.0 },
4081 { 1.5271512197902593, 1.0000000000000000, 1.0000000000000000,
4082 2.0000000000000000, 0.60000000000000009, 0.0 },
4083 { 1.7199611490370503, 1.0000000000000000, 1.0000000000000000,
4084 2.0000000000000000, 0.70000000000000018, 0.0 },
4085 { 2.0117973905426232, 1.0000000000000000, 1.0000000000000000,
4086 2.0000000000000000, 0.80000000000000004, 0.0 },
4087 { 2.5584278811044925, 1.0000000000000000, 1.0000000000000000,
4088 2.0000000000000000, 0.90000000000000013, 0.0 },
4090 const double toler081 = 2.5000000000000020e-13;
4092 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
4093 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
4094 // max(|f - f_GSL| / |f_GSL|): 3.1924682001889760e-16
4095 // mean(f - f_GSL): 6.4276069846719592e-17
4096 // variance(f - f_GSL): 8.4595753242740185e-33
4097 // stddev(f - f_GSL): 9.1975949705746545e-17
4098 const testcase_hyperg<double>
4099 data082[19] =
4101 { 0.83165649828125487, 1.0000000000000000, 1.0000000000000000,
4102 4.0000000000000000, -0.90000000000000002, 0.0 },
4103 { 0.84626246650116621, 1.0000000000000000, 1.0000000000000000,
4104 4.0000000000000000, -0.80000000000000004, 0.0 },
4105 { 0.86165287670267476, 1.0000000000000000, 1.0000000000000000,
4106 4.0000000000000000, -0.69999999999999996, 0.0 },
4107 { 0.87790681762615264, 1.0000000000000000, 1.0000000000000000,
4108 4.0000000000000000, -0.59999999999999998, 0.0 },
4109 { 0.89511583784087634, 1.0000000000000000, 1.0000000000000000,
4110 4.0000000000000000, -0.50000000000000000, 0.0 },
4111 { 0.91338673957393823, 1.0000000000000000, 1.0000000000000000,
4112 4.0000000000000000, -0.39999999999999991, 0.0 },
4113 { 0.93284521667332010, 1.0000000000000000, 1.0000000000000000,
4114 4.0000000000000000, -0.29999999999999993, 0.0 },
4115 { 0.95364066873549813, 1.0000000000000000, 1.0000000000000000,
4116 4.0000000000000000, -0.19999999999999996, 0.0 },
4117 { 0.97595268969924187, 1.0000000000000000, 1.0000000000000000,
4118 4.0000000000000000, -0.099999999999999978, 0.0 },
4119 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
4120 4.0000000000000000, 0.0000000000000000, 0.0 },
4121 { 1.0260530485179122, 1.0000000000000000, 1.0000000000000000,
4122 4.0000000000000000, 0.10000000000000009, 0.0 },
4123 { 1.0544523154103413, 1.0000000000000000, 1.0000000000000000,
4124 4.0000000000000000, 0.20000000000000018, 0.0 },
4125 { 1.0856358366643180, 1.0000000000000000, 1.0000000000000000,
4126 4.0000000000000000, 0.30000000000000004, 0.0 },
4127 { 1.1201824010510930, 1.0000000000000000, 1.0000000000000000,
4128 4.0000000000000000, 0.40000000000000013, 0.0 },
4129 { 1.1588830833596719, 1.0000000000000000, 1.0000000000000000,
4130 4.0000000000000000, 0.50000000000000000, 0.0 },
4131 { 1.2028682930536780, 1.0000000000000000, 1.0000000000000000,
4132 4.0000000000000000, 0.60000000000000009, 0.0 },
4133 { 1.2538561433469468, 1.0000000000000000, 1.0000000000000000,
4134 4.0000000000000000, 0.70000000000000018, 0.0 },
4135 { 1.3147120107267418, 1.0000000000000000, 1.0000000000000000,
4136 4.0000000000000000, 0.80000000000000004, 0.0 },
4137 { 1.3910528844853491, 1.0000000000000000, 1.0000000000000000,
4138 4.0000000000000000, 0.90000000000000013, 0.0 },
4140 const double toler082 = 2.5000000000000020e-13;
4142 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
4143 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 7
4144 // max(|f - f_GSL| / |f_GSL|): 4.5856134910670077e-16
4145 // mean(f - f_GSL): 5.2589511692770570e-17
4146 // variance(f - f_GSL): 8.9881736403943358e-33
4147 // stddev(f - f_GSL): 9.4805978927461832e-17
4148 const testcase_hyperg<double>
4149 data083[19] =
4151 { 0.87917686994924560, 1.0000000000000000, 1.0000000000000000,
4152 6.0000000000000000, -0.90000000000000002, 0.0 },
4153 { 0.89033956110358403, 1.0000000000000000, 1.0000000000000000,
4154 6.0000000000000000, -0.80000000000000004, 0.0 },
4155 { 0.90196195126098355, 1.0000000000000000, 1.0000000000000000,
4156 6.0000000000000000, -0.69999999999999996, 0.0 },
4157 { 0.91408080149514681, 1.0000000000000000, 1.0000000000000000,
4158 6.0000000000000000, -0.59999999999999998, 0.0 },
4159 { 0.92673756761314952, 1.0000000000000000, 1.0000000000000000,
4160 6.0000000000000000, -0.50000000000000000, 0.0 },
4161 { 0.93997926630123430, 1.0000000000000000, 1.0000000000000000,
4162 6.0000000000000000, -0.39999999999999991, 0.0 },
4163 { 0.95385955885019325, 1.0000000000000000, 1.0000000000000000,
4164 6.0000000000000000, -0.29999999999999993, 0.0 },
4165 { 0.96844012412988900, 1.0000000000000000, 1.0000000000000000,
4166 6.0000000000000000, -0.19999999999999996, 0.0 },
4167 { 0.98379242268046208, 1.0000000000000000, 1.0000000000000000,
4168 6.0000000000000000, -0.099999999999999978, 0.0 },
4169 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
4170 6.0000000000000000, 0.0000000000000000, 0.0 },
4171 { 1.0171615499181177, 1.0000000000000000, 1.0000000000000000,
4172 6.0000000000000000, 0.10000000000000009, 0.0 },
4173 { 1.0353950776091039, 1.0000000000000000, 1.0000000000000000,
4174 6.0000000000000000, 0.20000000000000018, 0.0 },
4175 { 1.0548437030651112, 1.0000000000000000, 1.0000000000000000,
4176 6.0000000000000000, 0.30000000000000004, 0.0 },
4177 { 1.0756840039415978, 1.0000000000000000, 1.0000000000000000,
4178 6.0000000000000000, 0.40000000000000013, 0.0 },
4179 { 1.0981384722661196, 1.0000000000000000, 1.0000000000000000,
4180 6.0000000000000000, 0.50000000000000000, 0.0 },
4181 { 1.1224950318916129, 1.0000000000000000, 1.0000000000000000,
4182 6.0000000000000000, 0.60000000000000009, 0.0 },
4183 { 1.1491396357184527, 1.0000000000000000, 1.0000000000000000,
4184 6.0000000000000000, 0.70000000000000018, 0.0 },
4185 { 1.1786158344507012, 1.0000000000000000, 1.0000000000000000,
4186 6.0000000000000000, 0.80000000000000004, 0.0 },
4187 { 1.2117500593515478, 1.0000000000000000, 1.0000000000000000,
4188 6.0000000000000000, 0.90000000000000013, 0.0 },
4190 const double toler083 = 2.5000000000000020e-13;
4192 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
4193 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 17
4194 // max(|f - f_GSL| / |f_GSL|): 1.9755522134245812e-16
4195 // mean(f - f_GSL): 1.7529837230923523e-17
4196 // variance(f - f_GSL): 1.8020397140465364e-35
4197 // stddev(f - f_GSL): 4.2450438325729174e-18
4198 const testcase_hyperg<double>
4199 data084[19] =
4201 { 0.90538259348578420, 1.0000000000000000, 1.0000000000000000,
4202 8.0000000000000000, -0.90000000000000002, 0.0 },
4203 { 0.91444830598832061, 1.0000000000000000, 1.0000000000000000,
4204 8.0000000000000000, -0.80000000000000004, 0.0 },
4205 { 0.92381915945973991, 1.0000000000000000, 1.0000000000000000,
4206 8.0000000000000000, -0.69999999999999996, 0.0 },
4207 { 0.93351553488501793, 1.0000000000000000, 1.0000000000000000,
4208 8.0000000000000000, -0.59999999999999998, 0.0 },
4209 { 0.94356001859234861, 1.0000000000000000, 1.0000000000000000,
4210 8.0000000000000000, -0.50000000000000000, 0.0 },
4211 { 0.95397775039949628, 1.0000000000000000, 1.0000000000000000,
4212 8.0000000000000000, -0.39999999999999991, 0.0 },
4213 { 0.96479684710618008, 1.0000000000000000, 1.0000000000000000,
4214 8.0000000000000000, -0.29999999999999993, 0.0 },
4215 { 0.97604892281308531, 1.0000000000000000, 1.0000000000000000,
4216 8.0000000000000000, -0.19999999999999996, 0.0 },
4217 { 0.98776973540356938, 1.0000000000000000, 1.0000000000000000,
4218 8.0000000000000000, -0.099999999999999978, 0.0 },
4219 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
4220 8.0000000000000000, 0.0000000000000000, 0.0 },
4221 { 1.0127864273812119, 1.0000000000000000, 1.0000000000000000,
4222 8.0000000000000000, 0.10000000000000009, 0.0 },
4223 { 1.0261830717772533, 1.0000000000000000, 1.0000000000000000,
4224 8.0000000000000000, 0.20000000000000018, 0.0 },
4225 { 1.0402531144740719, 1.0000000000000000, 1.0000000000000000,
4226 8.0000000000000000, 0.30000000000000004, 0.0 },
4227 { 1.0550712790827002, 1.0000000000000000, 1.0000000000000000,
4228 8.0000000000000000, 0.40000000000000013, 0.0 },
4229 { 1.0707271945059007, 1.0000000000000000, 1.0000000000000000,
4230 8.0000000000000000, 0.50000000000000000, 0.0 },
4231 { 1.0873302420658923, 1.0000000000000000, 1.0000000000000000,
4232 8.0000000000000000, 0.60000000000000009, 0.0 },
4233 { 1.1050168587085545, 1.0000000000000000, 1.0000000000000000,
4234 8.0000000000000000, 0.70000000000000018, 0.0 },
4235 { 1.1239622188477687, 1.0000000000000000, 1.0000000000000000,
4236 8.0000000000000000, 0.80000000000000004, 0.0 },
4237 { 1.1444006183097781, 1.0000000000000000, 1.0000000000000000,
4238 8.0000000000000000, 0.90000000000000013, 0.0 },
4240 const double toler084 = 2.5000000000000020e-13;
4242 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
4243 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 18
4244 // max(|f - f_GSL| / |f_GSL|): 2.0014207127505480e-16
4245 // mean(f - f_GSL): 0.0000000000000000
4246 // variance(f - f_GSL): 2.8912726078702206e-33
4247 // stddev(f - f_GSL): 5.3770555212590287e-17
4248 const testcase_hyperg<double>
4249 data085[19] =
4251 { 0.92211295632330392, 1.0000000000000000, 1.0000000000000000,
4252 10.000000000000000, -0.90000000000000002, 0.0 },
4253 { 0.92975727737040625, 1.0000000000000000, 1.0000000000000000,
4254 10.000000000000000, -0.80000000000000004, 0.0 },
4255 { 0.93761992348333489, 1.0000000000000000, 1.0000000000000000,
4256 10.000000000000000, -0.69999999999999996, 0.0 },
4257 { 0.94571346180587790, 1.0000000000000000, 1.0000000000000000,
4258 10.000000000000000, -0.59999999999999998, 0.0 },
4259 { 0.95405164371146900, 1.0000000000000000, 1.0000000000000000,
4260 10.000000000000000, -0.50000000000000000, 0.0 },
4261 { 0.96264956879205987, 1.0000000000000000, 1.0000000000000000,
4262 10.000000000000000, -0.39999999999999991, 0.0 },
4263 { 0.97152388013493107, 1.0000000000000000, 1.0000000000000000,
4264 10.000000000000000, -0.29999999999999993, 0.0 },
4265 { 0.98069299877709348, 1.0000000000000000, 1.0000000000000000,
4266 10.000000000000000, -0.19999999999999996, 0.0 },
4267 { 0.99017740778385854, 1.0000000000000000, 1.0000000000000000,
4268 10.000000000000000, -0.099999999999999978, 0.0 },
4269 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
4270 10.000000000000000, 0.0000000000000000, 0.0 },
4271 { 1.0101865087004833, 1.0000000000000000, 1.0000000000000000,
4272 10.000000000000000, 0.10000000000000009, 0.0 },
4273 { 1.0207660479892111, 1.0000000000000000, 1.0000000000000000,
4274 10.000000000000000, 0.20000000000000018, 0.0 },
4275 { 1.0317718013185031, 1.0000000000000000, 1.0000000000000000,
4276 10.000000000000000, 0.30000000000000004, 0.0 },
4277 { 1.0432419144892398, 1.0000000000000000, 1.0000000000000000,
4278 10.000000000000000, 0.40000000000000013, 0.0 },
4279 { 1.0552206786504446, 1.0000000000000000, 1.0000000000000000,
4280 10.000000000000000, 0.50000000000000000, 0.0 },
4281 { 1.0677601383233675, 1.0000000000000000, 1.0000000000000000,
4282 10.000000000000000, 0.60000000000000009, 0.0 },
4283 { 1.0809223485579968, 1.0000000000000000, 1.0000000000000000,
4284 10.000000000000000, 0.70000000000000018, 0.0 },
4285 { 1.0947826783002668, 1.0000000000000000, 1.0000000000000000,
4286 10.000000000000000, 0.80000000000000004, 0.0 },
4287 { 1.1094349304493603, 1.0000000000000000, 1.0000000000000000,
4288 10.000000000000000, 0.90000000000000013, 0.0 },
4290 const double toler085 = 2.5000000000000020e-13;
4292 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
4293 // max(|f - f_GSL|): 1.7763568394002505e-15 at index 18
4294 // max(|f - f_GSL| / |f_GSL|): 1.9984014443252816e-16
4295 // mean(f - f_GSL): 7.5962628000668607e-17
4296 // variance(f - f_GSL): 1.6955391669463862e-31
4297 // stddev(f - f_GSL): 4.1176925175957300e-16
4298 const testcase_hyperg<double>
4299 data086[19] =
4301 { 0.52631578947368429, 1.0000000000000000, 2.0000000000000000,
4302 2.0000000000000000, -0.90000000000000002, 0.0 },
4303 { 0.55555555555555558, 1.0000000000000000, 2.0000000000000000,
4304 2.0000000000000000, -0.80000000000000004, 0.0 },
4305 { 0.58823529411764708, 1.0000000000000000, 2.0000000000000000,
4306 2.0000000000000000, -0.69999999999999996, 0.0 },
4307 { 0.62500000000000000, 1.0000000000000000, 2.0000000000000000,
4308 2.0000000000000000, -0.59999999999999998, 0.0 },
4309 { 0.66666666666666663, 1.0000000000000000, 2.0000000000000000,
4310 2.0000000000000000, -0.50000000000000000, 0.0 },
4311 { 0.71428571428571430, 1.0000000000000000, 2.0000000000000000,
4312 2.0000000000000000, -0.39999999999999991, 0.0 },
4313 { 0.76923076923076938, 1.0000000000000000, 2.0000000000000000,
4314 2.0000000000000000, -0.29999999999999993, 0.0 },
4315 { 0.83333333333333337, 1.0000000000000000, 2.0000000000000000,
4316 2.0000000000000000, -0.19999999999999996, 0.0 },
4317 { 0.90909090909090906, 1.0000000000000000, 2.0000000000000000,
4318 2.0000000000000000, -0.099999999999999978, 0.0 },
4319 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4320 2.0000000000000000, 0.0000000000000000, 0.0 },
4321 { 1.1111111111111112, 1.0000000000000000, 2.0000000000000000,
4322 2.0000000000000000, 0.10000000000000009, 0.0 },
4323 { 1.2500000000000002, 1.0000000000000000, 2.0000000000000000,
4324 2.0000000000000000, 0.20000000000000018, 0.0 },
4325 { 1.4285714285714286, 1.0000000000000000, 2.0000000000000000,
4326 2.0000000000000000, 0.30000000000000004, 0.0 },
4327 { 1.6666666666666670, 1.0000000000000000, 2.0000000000000000,
4328 2.0000000000000000, 0.40000000000000013, 0.0 },
4329 { 2.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4330 2.0000000000000000, 0.50000000000000000, 0.0 },
4331 { 2.5000000000000009, 1.0000000000000000, 2.0000000000000000,
4332 2.0000000000000000, 0.60000000000000009, 0.0 },
4333 { 3.3333333333333348, 1.0000000000000000, 2.0000000000000000,
4334 2.0000000000000000, 0.70000000000000018, 0.0 },
4335 { 5.0000000000000009, 1.0000000000000000, 2.0000000000000000,
4336 2.0000000000000000, 0.80000000000000004, 0.0 },
4337 { 10.000000000000011, 1.0000000000000000, 2.0000000000000000,
4338 2.0000000000000000, 0.90000000000000013, 0.0 },
4340 const double toler086 = 2.5000000000000020e-13;
4342 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
4343 // max(|f - f_GSL|): 2.6645352591003757e-15 at index 18
4344 // max(|f - f_GSL| / |f_GSL|): 1.2228571846595245e-15
4345 // mean(f - f_GSL): 1.9282820954015878e-16
4346 // variance(f - f_GSL): 3.5826351554959189e-31
4347 // stddev(f - f_GSL): 5.9855118039278136e-16
4348 const testcase_hyperg<double>
4349 data087[19] =
4351 { 0.70351947549341554, 1.0000000000000000, 2.0000000000000000,
4352 4.0000000000000000, -0.90000000000000002, 0.0 },
4353 { 0.72637503722092756, 1.0000000000000000, 2.0000000000000000,
4354 4.0000000000000000, -0.80000000000000004, 0.0 },
4355 { 0.75099661564391240, 1.0000000000000000, 2.0000000000000000,
4356 4.0000000000000000, -0.69999999999999996, 0.0 },
4357 { 0.77761647796730871, 1.0000000000000000, 2.0000000000000000,
4358 4.0000000000000000, -0.59999999999999998, 0.0 },
4359 { 0.80651221621216473, 1.0000000000000000, 2.0000000000000000,
4360 4.0000000000000000, -0.50000000000000000, 0.0 },
4361 { 0.83801894346580275, 1.0000000000000000, 2.0000000000000000,
4362 4.0000000000000000, -0.39999999999999991, 0.0 },
4363 { 0.87254582050258456, 1.0000000000000000, 2.0000000000000000,
4364 4.0000000000000000, -0.29999999999999993, 0.0 },
4365 { 0.91059888544083678, 1.0000000000000000, 2.0000000000000000,
4366 4.0000000000000000, -0.19999999999999996, 0.0 },
4367 { 0.95281329145592386, 1.0000000000000000, 2.0000000000000000,
4368 4.0000000000000000, -0.099999999999999978, 0.0 },
4369 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4370 4.0000000000000000, 0.0000000000000000, 0.0 },
4371 { 1.0532154477379738, 1.0000000000000000, 2.0000000000000000,
4372 4.0000000000000000, 0.10000000000000009, 0.0 },
4373 { 1.1138692114741471, 1.0000000000000000, 2.0000000000000000,
4374 4.0000000000000000, 0.20000000000000018, 0.0 },
4375 { 1.1838976095305187, 1.0000000000000000, 2.0000000000000000,
4376 4.0000000000000000, 0.30000000000000004, 0.0 },
4377 { 1.2660586631630240, 1.0000000000000000, 2.0000000000000000,
4378 4.0000000000000000, 0.40000000000000013, 0.0 },
4379 { 1.3644676665613118, 1.0000000000000000, 2.0000000000000000,
4380 4.0000000000000000, 0.50000000000000000, 0.0 },
4381 { 1.4856585347316102, 1.0000000000000000, 2.0000000000000000,
4382 4.0000000000000000, 0.60000000000000009, 0.0 },
4383 { 1.6409590443536872, 1.0000000000000000, 2.0000000000000000,
4384 4.0000000000000000, 0.70000000000000018, 0.0 },
4385 { 1.8528798927325769, 1.0000000000000000, 2.0000000000000000,
4386 4.0000000000000000, 0.80000000000000004, 0.0 },
4387 { 2.1789423102929653, 1.0000000000000000, 2.0000000000000000,
4388 4.0000000000000000, 0.90000000000000013, 0.0 },
4390 const double toler087 = 2.5000000000000020e-13;
4392 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
4393 // max(|f - f_GSL|): 8.8817841970012523e-16 at index 18
4394 // max(|f - f_GSL| / |f_GSL|): 5.8050967180790176e-16
4395 // mean(f - f_GSL): 5.8432790769745078e-17
4396 // variance(f - f_GSL): 4.0373698660038179e-32
4397 // stddev(f - f_GSL): 2.0093207474178476e-16
4398 const testcase_hyperg<double>
4399 data088[19] =
4401 { 0.78068027379106275, 1.0000000000000000, 2.0000000000000000,
4402 6.0000000000000000, -0.90000000000000002, 0.0 },
4403 { 0.79924541976981278, 1.0000000000000000, 2.0000000000000000,
4404 6.0000000000000000, -0.80000000000000004, 0.0 },
4405 { 0.81891305585650975, 1.0000000000000000, 2.0000000000000000,
4406 6.0000000000000000, -0.69999999999999996, 0.0 },
4407 { 0.83979799626213247, 1.0000000000000000, 2.0000000000000000,
4408 6.0000000000000000, -0.59999999999999998, 0.0 },
4409 { 0.86203315303160111, 1.0000000000000000, 2.0000000000000000,
4410 6.0000000000000000, -0.50000000000000000, 0.0 },
4411 { 0.88577352485361693, 1.0000000000000000, 2.0000000000000000,
4412 6.0000000000000000, -0.39999999999999991, 0.0 },
4413 { 0.91120135738402230, 1.0000000000000000, 2.0000000000000000,
4414 6.0000000000000000, -0.29999999999999993, 0.0 },
4415 { 0.93853291956703588, 1.0000000000000000, 2.0000000000000000,
4416 6.0000000000000000, -0.19999999999999996, 0.0 },
4417 { 0.96802755388922956, 1.0000000000000000, 2.0000000000000000,
4418 6.0000000000000000, -0.099999999999999978, 0.0 },
4419 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4420 6.0000000000000000, 0.0000000000000000, 0.0 },
4421 { 1.0348375559194773, 1.0000000000000000, 2.0000000000000000,
4422 6.0000000000000000, 0.10000000000000009, 0.0 },
4423 { 1.0730246119544820, 1.0000000000000000, 2.0000000000000000,
4424 6.0000000000000000, 0.20000000000000018, 0.0 },
4425 { 1.1151788396279341, 1.0000000000000000, 2.0000000000000000,
4426 6.0000000000000000, 0.30000000000000004, 0.0 },
4427 { 1.1621066403893472, 1.0000000000000000, 2.0000000000000000,
4428 6.0000000000000000, 0.40000000000000013, 0.0 },
4429 { 1.2148922218710421, 1.0000000000000000, 2.0000000000000000,
4430 6.0000000000000000, 0.50000000000000000, 0.0 },
4431 { 1.2750496810838674, 1.0000000000000000, 2.0000000000000000,
4432 6.0000000000000000, 0.60000000000000009, 0.0 },
4433 { 1.3448048570872917, 1.0000000000000000, 2.0000000000000000,
4434 6.0000000000000000, 0.70000000000000018, 0.0 },
4435 { 1.4276833109859521, 1.0000000000000000, 2.0000000000000000,
4436 6.0000000000000000, 0.80000000000000004, 0.0 },
4437 { 1.5299976259379793, 1.0000000000000000, 2.0000000000000000,
4438 6.0000000000000000, 0.90000000000000013, 0.0 },
4440 const double toler088 = 2.5000000000000020e-13;
4442 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
4443 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
4444 // max(|f - f_GSL| / |f_GSL|): 3.4946054932156233e-16
4445 // mean(f - f_GSL): 3.5059674461847047e-17
4446 // variance(f - f_GSL): 9.8111051098089209e-33
4447 // stddev(f - f_GSL): 9.9051022760034738e-17
4448 const testcase_hyperg<double>
4449 data089[19] =
4451 { 0.82510759951857615, 1.0000000000000000, 2.0000000000000000,
4452 8.0000000000000000, -0.90000000000000002, 0.0 },
4453 { 0.84072786892782070, 1.0000000000000000, 2.0000000000000000,
4454 8.0000000000000000, -0.80000000000000004, 0.0 },
4455 { 0.85710884896562356, 1.0000000000000000, 2.0000000000000000,
4456 8.0000000000000000, -0.69999999999999996, 0.0 },
4457 { 0.87431674418118244, 1.0000000000000000, 2.0000000000000000,
4458 8.0000000000000000, -0.59999999999999998, 0.0 },
4459 { 0.89242659229726995, 1.0000000000000000, 2.0000000000000000,
4460 8.0000000000000000, -0.50000000000000000, 0.0 },
4461 { 0.91152392685930339, 1.0000000000000000, 2.0000000000000000,
4462 8.0000000000000000, -0.39999999999999991, 0.0 },
4463 { 0.93170685950993570, 1.0000000000000000, 2.0000000000000000,
4464 8.0000000000000000, -0.29999999999999993, 0.0 },
4465 { 0.95308871926790661, 1.0000000000000000, 2.0000000000000000,
4466 8.0000000000000000, -0.19999999999999996, 0.0 },
4467 { 0.97580144325325802, 1.0000000000000000, 2.0000000000000000,
4468 8.0000000000000000, -0.099999999999999978, 0.0 },
4469 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4470 8.0000000000000000, 0.0000000000000000, 0.0 },
4471 { 1.0258682619030324, 1.0000000000000000, 2.0000000000000000,
4472 8.0000000000000000, 0.10000000000000009, 0.0 },
4473 { 1.0536269616706000, 1.0000000000000000, 2.0000000000000000,
4474 8.0000000000000000, 0.20000000000000018, 0.0 },
4475 { 1.0835447330793833, 1.0000000000000000, 2.0000000000000000,
4476 8.0000000000000000, 0.30000000000000004, 0.0 },
4477 { 1.1159538758396654, 1.0000000000000000, 2.0000000000000000,
4478 8.0000000000000000, 0.40000000000000013, 0.0 },
4479 { 1.1512736659291880, 1.0000000000000000, 2.0000000000000000,
4480 8.0000000000000000, 0.50000000000000000, 0.0 },
4481 { 1.1900463690116090, 1.0000000000000000, 2.0000000000000000,
4482 8.0000000000000000, 0.60000000000000009, 0.0 },
4483 { 1.2329961591622411, 1.0000000000000000, 2.0000000000000000,
4484 8.0000000000000000, 0.70000000000000018, 0.0 },
4485 { 1.2811334345669059, 1.0000000000000000, 2.0000000000000000,
4486 8.0000000000000000, 0.80000000000000004, 0.0 },
4487 { 1.3359629014132053, 1.0000000000000000, 2.0000000000000000,
4488 8.0000000000000000, 0.90000000000000013, 0.0 },
4490 const double toler089 = 2.5000000000000020e-13;
4492 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
4493 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 7
4494 // max(|f - f_GSL| / |f_GSL|): 4.6160879869309861e-16
4495 // mean(f - f_GSL): -2.9216395384872539e-17
4496 // variance(f - f_GSL): 3.7021904791911625e-33
4497 // stddev(f - f_GSL): 6.0845628266878486e-17
4498 const testcase_hyperg<double>
4499 data090[19] =
4501 { 0.85426123653345876, 1.0000000000000000, 2.0000000000000000,
4502 10.000000000000000, -0.90000000000000002, 0.0 },
4503 { 0.86774543390930414, 1.0000000000000000, 2.0000000000000000,
4504 10.000000000000000, -0.80000000000000004, 0.0 },
4505 { 0.88178859537254239, 1.0000000000000000, 2.0000000000000000,
4506 10.000000000000000, -0.69999999999999996, 0.0 },
4507 { 0.89643269097060951, 1.0000000000000000, 2.0000000000000000,
4508 10.000000000000000, -0.59999999999999998, 0.0 },
4509 { 0.91172456687216819, 1.0000000000000000, 2.0000000000000000,
4510 10.000000000000000, -0.50000000000000000, 0.0 },
4511 { 0.92771674975966134, 1.0000000000000000, 2.0000000000000000,
4512 10.000000000000000, -0.39999999999999991, 0.0 },
4513 { 0.94446842993888669, 1.0000000000000000, 2.0000000000000000,
4514 10.000000000000000, -0.29999999999999993, 0.0 },
4515 { 0.96204667481937678, 1.0000000000000000, 2.0000000000000000,
4516 10.000000000000000, -0.19999999999999996, 0.0 },
4517 { 0.98052794339012128, 1.0000000000000000, 2.0000000000000000,
4518 10.000000000000000, -0.099999999999999978, 0.0 },
4519 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4520 10.000000000000000, 0.0000000000000000, 0.0 },
4521 { 1.0205643671068179, 1.0000000000000000, 2.0000000000000000,
4522 10.000000000000000, 0.10000000000000009, 0.0 },
4523 { 1.0423395201078882, 1.0000000000000000, 2.0000000000000000,
4524 10.000000000000000, 0.20000000000000018, 0.0 },
4525 { 1.0654651277885334, 1.0000000000000000, 2.0000000000000000,
4526 10.000000000000000, 0.30000000000000004, 0.0 },
4527 { 1.0901078068101382, 1.0000000000000000, 2.0000000000000000,
4528 10.000000000000000, 0.40000000000000013, 0.0 },
4529 { 1.1164691415928940, 1.0000000000000000, 2.0000000000000000,
4530 10.000000000000000, 0.50000000000000000, 0.0 },
4531 { 1.1447972335326551, 1.0000000000000000, 2.0000000000000000,
4532 10.000000000000000, 0.60000000000000009, 0.0 },
4533 { 1.1754040384534163, 1.0000000000000000, 2.0000000000000000,
4534 10.000000000000000, 0.70000000000000018, 0.0 },
4535 { 1.2086928679893112, 1.0000000000000000, 2.0000000000000000,
4536 10.000000000000000, 0.80000000000000004, 0.0 },
4537 { 1.2452055640510711, 1.0000000000000000, 2.0000000000000000,
4538 10.000000000000000, 0.90000000000000013, 0.0 },
4540 const double toler090 = 2.5000000000000020e-13;
4542 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
4543 // max(|f - f_GSL|): 4.0927261579781771e-12 at index 18
4544 // max(|f - f_GSL| / |f_GSL|): 1.4735287697491136e-15
4545 // mean(f - f_GSL): 2.2385017815981644e-13
4546 // variance(f - f_GSL): 8.7776489381819171e-25
4547 // stddev(f - f_GSL): 9.3689107895111895e-13
4548 const testcase_hyperg<double>
4549 data091[19] =
4551 { 0.25646288779245086, 1.0000000000000000, 5.0000000000000000,
4552 2.0000000000000000, -0.90000000000000002, 0.0 },
4553 { 0.28273129096174376, 1.0000000000000000, 5.0000000000000000,
4554 2.0000000000000000, -0.80000000000000004, 0.0 },
4555 { 0.31438201170962982, 1.0000000000000000, 5.0000000000000000,
4556 2.0000000000000000, -0.69999999999999996, 0.0 },
4557 { 0.35308837890625017, 1.0000000000000000, 5.0000000000000000,
4558 2.0000000000000000, -0.59999999999999998, 0.0 },
4559 { 0.40123456790123452, 1.0000000000000000, 5.0000000000000000,
4560 2.0000000000000000, -0.50000000000000000, 0.0 },
4561 { 0.46230737192836352, 1.0000000000000000, 5.0000000000000000,
4562 2.0000000000000000, -0.39999999999999991, 0.0 },
4563 { 0.54156016946185348, 1.0000000000000000, 5.0000000000000000,
4564 2.0000000000000000, -0.29999999999999993, 0.0 },
4565 { 0.64718364197530875, 1.0000000000000000, 5.0000000000000000,
4566 2.0000000000000000, -0.19999999999999996, 0.0 },
4567 { 0.79246636158732342, 1.0000000000000000, 5.0000000000000000,
4568 2.0000000000000000, -0.099999999999999978, 0.0 },
4569 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4570 2.0000000000000000, 0.0000000000000000, 0.0 },
4571 { 1.3103947568968148, 1.0000000000000000, 5.0000000000000000,
4572 2.0000000000000000, 0.10000000000000009, 0.0 },
4573 { 1.8017578125000016, 1.0000000000000000, 5.0000000000000000,
4574 2.0000000000000000, 0.20000000000000018, 0.0 },
4575 { 2.6374427321949185, 1.0000000000000000, 5.0000000000000000,
4576 2.0000000000000000, 0.30000000000000004, 0.0 },
4577 { 4.1975308641975335, 1.0000000000000000, 5.0000000000000000,
4578 2.0000000000000000, 0.40000000000000013, 0.0 },
4579 { 7.4999999999999964, 1.0000000000000000, 5.0000000000000000,
4580 2.0000000000000000, 0.50000000000000000, 0.0 },
4581 { 15.859375000000012, 1.0000000000000000, 5.0000000000000000,
4582 2.0000000000000000, 0.60000000000000009, 0.0 },
4583 { 43.734567901234662, 1.0000000000000000, 5.0000000000000000,
4584 2.0000000000000000, 0.70000000000000018, 0.0 },
4585 { 194.99999999999994, 1.0000000000000000, 5.0000000000000000,
4586 2.0000000000000000, 0.80000000000000004, 0.0 },
4587 { 2777.5000000000095, 1.0000000000000000, 5.0000000000000000,
4588 2.0000000000000000, 0.90000000000000013, 0.0 },
4590 const double toler091 = 2.5000000000000020e-13;
4592 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
4593 // max(|f - f_GSL|): 4.2632564145606011e-14 at index 18
4594 // max(|f - f_GSL| / |f_GSL|): 1.3117712044801870e-15
4595 // mean(f - f_GSL): 2.6879083754082736e-15
4596 // variance(f - f_GSL): 9.3567700516642700e-29
4597 // stddev(f - f_GSL): 9.6730398798228218e-15
4598 const testcase_hyperg<double>
4599 data092[19] =
4601 { 0.46398891966759009, 1.0000000000000000, 5.0000000000000000,
4602 4.0000000000000000, -0.90000000000000002, 0.0 },
4603 { 0.49382716049382724, 1.0000000000000000, 5.0000000000000000,
4604 4.0000000000000000, -0.80000000000000004, 0.0 },
4605 { 0.52768166089965407, 1.0000000000000000, 5.0000000000000000,
4606 4.0000000000000000, -0.69999999999999996, 0.0 },
4607 { 0.56640625000000000, 1.0000000000000000, 5.0000000000000000,
4608 4.0000000000000000, -0.59999999999999998, 0.0 },
4609 { 0.61111111111111094, 1.0000000000000000, 5.0000000000000000,
4610 4.0000000000000000, -0.50000000000000000, 0.0 },
4611 { 0.66326530612244916, 1.0000000000000000, 5.0000000000000000,
4612 4.0000000000000000, -0.39999999999999991, 0.0 },
4613 { 0.72485207100591709, 1.0000000000000000, 5.0000000000000000,
4614 4.0000000000000000, -0.29999999999999993, 0.0 },
4615 { 0.79861111111111094, 1.0000000000000000, 5.0000000000000000,
4616 4.0000000000000000, -0.19999999999999996, 0.0 },
4617 { 0.88842975206611552, 1.0000000000000000, 5.0000000000000000,
4618 4.0000000000000000, -0.099999999999999978, 0.0 },
4619 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4620 4.0000000000000000, 0.0000000000000000, 0.0 },
4621 { 1.1419753086419753, 1.0000000000000000, 5.0000000000000000,
4622 4.0000000000000000, 0.10000000000000009, 0.0 },
4623 { 1.3281250000000000, 1.0000000000000000, 5.0000000000000000,
4624 4.0000000000000000, 0.20000000000000018, 0.0 },
4625 { 1.5816326530612239, 1.0000000000000000, 5.0000000000000000,
4626 4.0000000000000000, 0.30000000000000004, 0.0 },
4627 { 1.9444444444444458, 1.0000000000000000, 5.0000000000000000,
4628 4.0000000000000000, 0.40000000000000013, 0.0 },
4629 { 2.5000000000000000, 1.0000000000000000, 5.0000000000000000,
4630 4.0000000000000000, 0.50000000000000000, 0.0 },
4631 { 3.4374999999999996, 1.0000000000000000, 5.0000000000000000,
4632 4.0000000000000000, 0.60000000000000009, 0.0 },
4633 { 5.2777777777777786, 1.0000000000000000, 5.0000000000000000,
4634 4.0000000000000000, 0.70000000000000018, 0.0 },
4635 { 9.9999999999999947, 1.0000000000000000, 5.0000000000000000,
4636 4.0000000000000000, 0.80000000000000004, 0.0 },
4637 { 32.499999999999950, 1.0000000000000000, 5.0000000000000000,
4638 4.0000000000000000, 0.90000000000000013, 0.0 },
4640 const double toler092 = 2.5000000000000020e-13;
4642 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
4643 // max(|f - f_GSL|): 6.2172489379008766e-15 at index 18
4644 // max(|f - f_GSL| / |f_GSL|): 1.2433022037532449e-15
4645 // mean(f - f_GSL): 4.9083544246585873e-16
4646 // variance(f - f_GSL): 1.9229766015225486e-30
4647 // stddev(f - f_GSL): 1.3867143186404864e-15
4648 const testcase_hyperg<double>
4649 data093[19] =
4651 { 0.57476744883397490, 1.0000000000000000, 5.0000000000000000,
4652 6.0000000000000000, -0.90000000000000002, 0.0 },
4653 { 0.60302731682513966, 1.0000000000000000, 5.0000000000000000,
4654 6.0000000000000000, -0.80000000000000004, 0.0 },
4655 { 0.63425708719096374, 1.0000000000000000, 5.0000000000000000,
4656 6.0000000000000000, -0.69999999999999996, 0.0 },
4657 { 0.66895764182970430, 1.0000000000000000, 5.0000000000000000,
4658 6.0000000000000000, -0.59999999999999998, 0.0 },
4659 { 0.70775063063963473, 1.0000000000000000, 5.0000000000000000,
4660 6.0000000000000000, -0.50000000000000000, 0.0 },
4661 { 0.75141762103495946, 1.0000000000000000, 5.0000000000000000,
4662 6.0000000000000000, -0.39999999999999991, 0.0 },
4663 { 0.80095569442603320, 1.0000000000000000, 5.0000000000000000,
4664 6.0000000000000000, -0.29999999999999993, 0.0 },
4665 { 0.85765823887436754, 1.0000000000000000, 5.0000000000000000,
4666 6.0000000000000000, -0.19999999999999996, 0.0 },
4667 { 0.92323549576335540, 1.0000000000000000, 5.0000000000000000,
4668 6.0000000000000000, -0.099999999999999978, 0.0 },
4669 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4670 6.0000000000000000, 0.0000000000000000, 0.0 },
4671 { 1.0911622464839472, 1.0000000000000000, 5.0000000000000000,
4672 6.0000000000000000, 0.10000000000000009, 0.0 },
4673 { 1.2013226178607672, 1.0000000000000000, 5.0000000000000000,
4674 6.0000000000000000, 0.20000000000000018, 0.0 },
4675 { 1.3373332072682687, 1.0000000000000000, 5.0000000000000000,
4676 6.0000000000000000, 0.30000000000000004, 0.0 },
4677 { 1.5099074378209718, 1.0000000000000000, 5.0000000000000000,
4678 6.0000000000000000, 0.40000000000000013, 0.0 },
4679 { 1.7368822229245819, 1.0000000000000000, 5.0000000000000000,
4680 6.0000000000000000, 0.50000000000000000, 0.0 },
4681 { 2.0505871832661429, 1.0000000000000000, 5.0000000000000000,
4682 6.0000000000000000, 0.60000000000000009, 0.0 },
4683 { 2.5172389775867976, 1.0000000000000000, 5.0000000000000000,
4684 6.0000000000000000, 0.70000000000000018, 0.0 },
4685 { 3.3015631983556144, 1.0000000000000000, 5.0000000000000000,
4686 6.0000000000000000, 0.80000000000000004, 0.0 },
4687 { 5.0005935155044563, 1.0000000000000000, 5.0000000000000000,
4688 6.0000000000000000, 0.90000000000000013, 0.0 },
4690 const double toler093 = 2.5000000000000020e-13;
4692 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
4693 // max(|f - f_GSL|): 3.1086244689504383e-15 at index 18
4694 // max(|f - f_GSL| / |f_GSL|): 1.1989697058841885e-15
4695 // mean(f - f_GSL): 2.4541772123292936e-16
4696 // variance(f - f_GSL): 4.8074415038063715e-31
4697 // stddev(f - f_GSL): 6.9335715932024320e-16
4698 const testcase_hyperg<double>
4699 data094[19] =
4701 { 0.64582752605387983, 1.0000000000000000, 5.0000000000000000,
4702 8.0000000000000000, -0.90000000000000002, 0.0 },
4703 { 0.67184161997264191, 1.0000000000000000, 5.0000000000000000,
4704 8.0000000000000000, -0.80000000000000004, 0.0 },
4705 { 0.70012779922368040, 1.0000000000000000, 5.0000000000000000,
4706 8.0000000000000000, -0.69999999999999996, 0.0 },
4707 { 0.73100784656910278, 1.0000000000000000, 5.0000000000000000,
4708 8.0000000000000000, -0.59999999999999998, 0.0 },
4709 { 0.76486919089091066, 1.0000000000000000, 5.0000000000000000,
4710 8.0000000000000000, -0.50000000000000000, 0.0 },
4711 { 0.80218301124334590, 1.0000000000000000, 5.0000000000000000,
4712 8.0000000000000000, -0.39999999999999991, 0.0 },
4713 { 0.84352883533234391, 1.0000000000000000, 5.0000000000000000,
4714 8.0000000000000000, -0.29999999999999993, 0.0 },
4715 { 0.88962858902212572, 1.0000000000000000, 5.0000000000000000,
4716 8.0000000000000000, -0.19999999999999996, 0.0 },
4717 { 0.94139473468584123, 1.0000000000000000, 5.0000000000000000,
4718 8.0000000000000000, -0.099999999999999978, 0.0 },
4719 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4720 8.0000000000000000, 0.0000000000000000, 0.0 },
4721 { 1.0669812691939897, 1.0000000000000000, 5.0000000000000000,
4722 8.0000000000000000, 0.10000000000000009, 0.0 },
4723 { 1.1443996012177726, 1.0000000000000000, 5.0000000000000000,
4724 8.0000000000000000, 0.20000000000000018, 0.0 },
4725 { 1.2350966976721314, 1.0000000000000000, 5.0000000000000000,
4726 8.0000000000000000, 0.30000000000000004, 0.0 },
4727 { 1.3431264370409088, 1.0000000000000000, 5.0000000000000000,
4728 8.0000000000000000, 0.40000000000000013, 0.0 },
4729 { 1.4745266814162399, 1.0000000000000000, 5.0000000000000000,
4730 8.0000000000000000, 0.50000000000000000, 0.0 },
4731 { 1.6388137104840066, 1.0000000000000000, 5.0000000000000000,
4732 8.0000000000000000, 0.60000000000000009, 0.0 },
4733 { 1.8522074849776522, 1.0000000000000000, 5.0000000000000000,
4734 8.0000000000000000, 0.70000000000000018, 0.0 },
4735 { 2.1458016978417458, 1.0000000000000000, 5.0000000000000000,
4736 8.0000000000000000, 0.80000000000000004, 0.0 },
4737 { 2.5927464669826348, 1.0000000000000000, 5.0000000000000000,
4738 8.0000000000000000, 0.90000000000000013, 0.0 },
4740 const double toler094 = 2.5000000000000020e-13;
4742 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
4743 // max(|f - f_GSL|): 1.3322676295501878e-15 at index 18
4744 // max(|f - f_GSL| / |f_GSL|): 6.8275390424723874e-16
4745 // mean(f - f_GSL): 1.0517902338554114e-16
4746 // variance(f - f_GSL): 8.8299945988280290e-32
4747 // stddev(f - f_GSL): 2.9715306828010425e-16
4748 const testcase_hyperg<double>
4749 data095[19] =
4751 { 0.69583236336670584, 1.0000000000000000, 5.0000000000000000,
4752 10.000000000000000, -0.90000000000000002, 0.0 },
4753 { 0.71968920666899716, 1.0000000000000000, 5.0000000000000000,
4754 10.000000000000000, -0.80000000000000004, 0.0 },
4755 { 0.74533885416044232, 1.0000000000000000, 5.0000000000000000,
4756 10.000000000000000, -0.69999999999999996, 0.0 },
4757 { 0.77300145361503070, 1.0000000000000000, 5.0000000000000000,
4758 10.000000000000000, -0.59999999999999998, 0.0 },
4759 { 0.80293630810919447, 1.0000000000000000, 5.0000000000000000,
4760 10.000000000000000, -0.50000000000000000, 0.0 },
4761 { 0.83545132638592057, 1.0000000000000000, 5.0000000000000000,
4762 10.000000000000000, -0.39999999999999991, 0.0 },
4763 { 0.87091544744412497, 1.0000000000000000, 5.0000000000000000,
4764 10.000000000000000, -0.29999999999999993, 0.0 },
4765 { 0.90977522877919847, 1.0000000000000000, 5.0000000000000000,
4766 10.000000000000000, -0.19999999999999996, 0.0 },
4767 { 0.95257738192069130, 1.0000000000000000, 5.0000000000000000,
4768 10.000000000000000, -0.099999999999999978, 0.0 },
4769 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4770 10.000000000000000, 0.0000000000000000, 0.0 },
4771 { 1.0528968282789379, 1.0000000000000000, 5.0000000000000000,
4772 10.000000000000000, 0.10000000000000009, 0.0 },
4773 { 1.1123617169062123, 1.0000000000000000, 5.0000000000000000,
4774 10.000000000000000, 0.20000000000000018, 0.0 },
4775 { 1.1798254572896132, 1.0000000000000000, 5.0000000000000000,
4776 10.000000000000000, 0.30000000000000004, 0.0 },
4777 { 1.2572069000522701, 1.0000000000000000, 5.0000000000000000,
4778 10.000000000000000, 0.40000000000000013, 0.0 },
4779 { 1.3471600884974377, 1.0000000000000000, 5.0000000000000000,
4780 10.000000000000000, 0.50000000000000000, 0.0 },
4781 { 1.4535032279573519, 1.0000000000000000, 5.0000000000000000,
4782 10.000000000000000, 0.60000000000000009, 0.0 },
4783 { 1.5820245752814950, 1.0000000000000000, 5.0000000000000000,
4784 10.000000000000000, 0.70000000000000018, 0.0 },
4785 { 1.7421756366906538, 1.0000000000000000, 5.0000000000000000,
4786 10.000000000000000, 0.80000000000000004, 0.0 },
4787 { 1.9513145531098235, 1.0000000000000000, 5.0000000000000000,
4788 10.000000000000000, 0.90000000000000013, 0.0 },
4790 const double toler095 = 2.5000000000000020e-13;
4792 // Test data for a=1.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
4793 // max(|f - f_GSL|): 2.0861625671386719e-07 at index 18
4794 // max(|f - f_GSL| / |f_GSL|): 1.6897916810721003e-15
4795 // mean(f - f_GSL): 1.0989192059253727e-08
4796 // variance(f - f_GSL): 2.2903477685061008e-15
4797 // stddev(f - f_GSL): 4.7857577963224392e-08
4798 const testcase_hyperg<double>
4799 data096[19] =
4801 { 0.12307420104127866, 1.0000000000000000, 10.000000000000000,
4802 2.0000000000000000, -0.90000000000000002, 0.0 },
4803 { 0.13818870041457434, 1.0000000000000000, 10.000000000000000,
4804 2.0000000000000000, -0.80000000000000004, 0.0 },
4805 { 0.15739165631811705, 1.0000000000000000, 10.000000000000000,
4806 2.0000000000000000, -0.69999999999999996, 0.0 },
4807 { 0.18249038606882081, 1.0000000000000000, 10.000000000000000,
4808 2.0000000000000000, -0.59999999999999998, 0.0 },
4809 { 0.21644171225027795, 1.0000000000000000, 10.000000000000000,
4810 2.0000000000000000, -0.50000000000000000, 0.0 },
4811 { 0.26433326159804149, 1.0000000000000000, 10.000000000000000,
4812 2.0000000000000000, -0.39999999999999991, 0.0 },
4813 { 0.33544459430654527, 1.0000000000000000, 10.000000000000000,
4814 2.0000000000000000, -0.29999999999999993, 0.0 },
4815 { 0.44788516696232511, 1.0000000000000000, 10.000000000000000,
4816 2.0000000000000000, -0.19999999999999996, 0.0 },
4817 { 0.63989153514168373, 1.0000000000000000, 10.000000000000000,
4818 2.0000000000000000, -0.099999999999999978, 0.0 },
4819 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4820 2.0000000000000000, 0.0000000000000000, 0.0 },
4821 { 1.7568608796813312, 1.0000000000000000, 10.000000000000000,
4822 2.0000000000000000, 0.10000000000000009, 0.0 },
4823 { 3.5836558871799102, 1.0000000000000000, 10.000000000000000,
4824 2.0000000000000000, 0.20000000000000018, 0.0 },
4825 { 8.8077526749963226, 1.0000000000000000, 10.000000000000000,
4826 2.0000000000000000, 0.30000000000000004, 0.0 },
4827 { 27.285841702089265, 1.0000000000000000, 10.000000000000000,
4828 2.0000000000000000, 0.40000000000000013, 0.0 },
4829 { 113.55555555555557, 1.0000000000000000, 10.000000000000000,
4830 2.0000000000000000, 0.50000000000000000, 0.0 },
4831 { 706.24023437500091, 1.0000000000000000, 10.000000000000000,
4832 2.0000000000000000, 0.60000000000000009, 0.0 },
4833 { 8064.1687976652511, 1.0000000000000000, 10.000000000000000,
4834 2.0000000000000000, 0.70000000000000018, 0.0 },
4835 { 271267.22222222196, 1.0000000000000000, 10.000000000000000,
4836 2.0000000000000000, 0.80000000000000004, 0.0 },
4837 { 123456790.00000113, 1.0000000000000000, 10.000000000000000,
4838 2.0000000000000000, 0.90000000000000013, 0.0 },
4840 const double toler096 = 2.5000000000000020e-13;
4842 // Test data for a=1.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
4843 // max(|f - f_GSL|): 2.6193447411060333e-10 at index 18
4844 // max(|f - f_GSL| / |f_GSL|): 1.6039867544159698e-15
4845 // mean(f - f_GSL): 1.3861192895235850e-11
4846 // variance(f - f_GSL): 3.6088478524883243e-21
4847 // stddev(f - f_GSL): 6.0073686856129647e-11
4848 const testcase_hyperg<double>
4849 data097[19] =
4851 { 0.28363728383055781, 1.0000000000000000, 10.000000000000000,
4852 4.0000000000000000, -0.90000000000000002, 0.0 },
4853 { 0.30933003169808387, 1.0000000000000000, 10.000000000000000,
4854 4.0000000000000000, -0.80000000000000004, 0.0 },
4855 { 0.33998437757128797, 1.0000000000000000, 10.000000000000000,
4856 4.0000000000000000, -0.69999999999999996, 0.0 },
4857 { 0.37713553224291113, 1.0000000000000000, 10.000000000000000,
4858 4.0000000000000000, -0.59999999999999998, 0.0 },
4859 { 0.42299736538419669, 1.0000000000000000, 10.000000000000000,
4860 4.0000000000000000, -0.50000000000000000, 0.0 },
4861 { 0.48086597727600089, 1.0000000000000000, 10.000000000000000,
4862 4.0000000000000000, -0.39999999999999991, 0.0 },
4863 { 0.55583495759293033, 1.0000000000000000, 10.000000000000000,
4864 4.0000000000000000, -0.29999999999999993, 0.0 },
4865 { 0.65612850114039678, 1.0000000000000000, 10.000000000000000,
4866 4.0000000000000000, -0.19999999999999996, 0.0 },
4867 { 0.79573668772968142, 1.0000000000000000, 10.000000000000000,
4868 4.0000000000000000, -0.099999999999999978, 0.0 },
4869 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4870 4.0000000000000000, 0.0000000000000000, 0.0 },
4871 { 1.3184712058058303, 1.0000000000000000, 10.000000000000000,
4872 4.0000000000000000, 0.10000000000000009, 0.0 },
4873 { 1.8576958065941236, 1.0000000000000000, 10.000000000000000,
4874 4.0000000000000000, 0.20000000000000018, 0.0 },
4875 { 2.8759509651764228, 1.0000000000000000, 10.000000000000000,
4876 4.0000000000000000, 0.30000000000000004, 0.0 },
4877 { 5.1046225531822289, 1.0000000000000000, 10.000000000000000,
4878 4.0000000000000000, 0.40000000000000013, 0.0 },
4879 { 11.095238095238095, 1.0000000000000000, 10.000000000000000,
4880 4.0000000000000000, 0.50000000000000000, 0.0 },
4881 { 32.797154017857174, 1.0000000000000000, 10.000000000000000,
4882 4.0000000000000000, 0.60000000000000009, 0.0 },
4883 { 158.01935680536548, 1.0000000000000000, 10.000000000000000,
4884 4.0000000000000000, 0.70000000000000018, 0.0 },
4885 { 1815.9523809523814, 1.0000000000000000, 10.000000000000000,
4886 4.0000000000000000, 0.80000000000000004, 0.0 },
4887 { 163302.14285714392, 1.0000000000000000, 10.000000000000000,
4888 4.0000000000000000, 0.90000000000000013, 0.0 },
4890 const double toler097 = 2.5000000000000020e-13;
4892 // Test data for a=1.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
4893 // max(|f - f_GSL|): 2.0463630789890885e-12 at index 18
4894 // max(|f - f_GSL| / |f_GSL|): 1.5238873992471854e-15
4895 // mean(f - f_GSL): 1.1029773585697082e-13
4896 // variance(f - f_GSL): 2.1981059026132227e-25
4897 // stddev(f - f_GSL): 4.6883962104468326e-13
4898 const testcase_hyperg<double>
4899 data098[19] =
4901 { 0.39006633302741811, 1.0000000000000000, 10.000000000000000,
4902 6.0000000000000000, -0.90000000000000002, 0.0 },
4903 { 0.41898885698103278, 1.0000000000000000, 10.000000000000000,
4904 6.0000000000000000, -0.80000000000000004, 0.0 },
4905 { 0.45245557983812590, 1.0000000000000000, 10.000000000000000,
4906 6.0000000000000000, -0.69999999999999996, 0.0 },
4907 { 0.49160548618861627, 1.0000000000000000, 10.000000000000000,
4908 6.0000000000000000, -0.59999999999999998, 0.0 },
4909 { 0.53798419230517991, 1.0000000000000000, 10.000000000000000,
4910 6.0000000000000000, -0.50000000000000000, 0.0 },
4911 { 0.59373881442067322, 1.0000000000000000, 10.000000000000000,
4912 6.0000000000000000, -0.39999999999999991, 0.0 },
4913 { 0.66193391357076092, 1.0000000000000000, 10.000000000000000,
4914 6.0000000000000000, -0.29999999999999993, 0.0 },
4915 { 0.74708402736952118, 1.0000000000000000, 10.000000000000000,
4916 6.0000000000000000, -0.19999999999999996, 0.0 },
4917 { 0.85609281019430605, 1.0000000000000000, 10.000000000000000,
4918 6.0000000000000000, -0.099999999999999978, 0.0 },
4919 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4920 6.0000000000000000, 0.0000000000000000, 0.0 },
4921 { 1.1974451135148187, 1.0000000000000000, 10.000000000000000,
4922 6.0000000000000000, 0.10000000000000009, 0.0 },
4923 { 1.4820886036706358, 1.0000000000000000, 10.000000000000000,
4924 6.0000000000000000, 0.20000000000000018, 0.0 },
4925 { 1.9201183180477521, 1.0000000000000000, 10.000000000000000,
4926 6.0000000000000000, 0.30000000000000004, 0.0 },
4927 { 2.6569338297733367, 1.0000000000000000, 10.000000000000000,
4928 6.0000000000000000, 0.40000000000000013, 0.0 },
4929 { 4.0634920634920650, 1.0000000000000000, 10.000000000000000,
4930 6.0000000000000000, 0.50000000000000000, 0.0 },
4931 { 7.3102678571428568, 1.0000000000000000, 10.000000000000000,
4932 6.0000000000000000, 0.60000000000000009, 0.0 },
4933 { 17.512574302697782, 1.0000000000000000, 10.000000000000000,
4934 6.0000000000000000, 0.70000000000000018, 0.0 },
4935 { 74.206349206349131, 1.0000000000000000, 10.000000000000000,
4936 6.0000000000000000, 0.80000000000000004, 0.0 },
4937 { 1342.8571428571502, 1.0000000000000000, 10.000000000000000,
4938 6.0000000000000000, 0.90000000000000013, 0.0 },
4940 const double toler098 = 2.5000000000000020e-13;
4942 // Test data for a=1.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
4943 // max(|f - f_GSL|): 7.8159700933611020e-14 at index 18
4944 // max(|f - f_GSL| / |f_GSL|): 1.4210854715201975e-15
4945 // mean(f - f_GSL): 4.6629367034256575e-15
4946 // variance(f - f_GSL): 3.1677071819086927e-28
4947 // stddev(f - f_GSL): 1.7798053775367387e-14
4948 const testcase_hyperg<double>
4949 data099[19] =
4951 { 0.46726928123633210, 1.0000000000000000, 10.000000000000000,
4952 8.0000000000000000, -0.90000000000000002, 0.0 },
4953 { 0.49687547629934464, 1.0000000000000000, 10.000000000000000,
4954 8.0000000000000000, -0.80000000000000004, 0.0 },
4955 { 0.53045208856322223, 1.0000000000000000, 10.000000000000000,
4956 8.0000000000000000, -0.69999999999999996, 0.0 },
4957 { 0.56884765624999989, 1.0000000000000000, 10.000000000000000,
4958 8.0000000000000000, -0.59999999999999998, 0.0 },
4959 { 0.61316872427983504, 1.0000000000000000, 10.000000000000000,
4960 8.0000000000000000, -0.50000000000000000, 0.0 },
4961 { 0.66488500161969544, 1.0000000000000000, 10.000000000000000,
4962 8.0000000000000000, -0.39999999999999991, 0.0 },
4963 { 0.72598998634501621, 1.0000000000000000, 10.000000000000000,
4964 8.0000000000000000, -0.29999999999999993, 0.0 },
4965 { 0.79925411522633760, 1.0000000000000000, 10.000000000000000,
4966 8.0000000000000000, -0.19999999999999996, 0.0 },
4967 { 0.88863845062192182, 1.0000000000000000, 10.000000000000000,
4968 8.0000000000000000, -0.099999999999999978, 0.0 },
4969 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4970 8.0000000000000000, 0.0000000000000000, 0.0 },
4971 { 1.1423563481176653, 1.0000000000000000, 10.000000000000000,
4972 8.0000000000000000, 0.10000000000000009, 0.0 },
4973 { 1.3302951388888891, 1.0000000000000000, 10.000000000000000,
4974 8.0000000000000000, 0.20000000000000018, 0.0 },
4975 { 1.5889212827988335, 1.0000000000000000, 10.000000000000000,
4976 8.0000000000000000, 0.30000000000000004, 0.0 },
4977 { 1.9650205761316886, 1.0000000000000000, 10.000000000000000,
4978 8.0000000000000000, 0.40000000000000013, 0.0 },
4979 { 2.5555555555555549, 1.0000000000000000, 10.000000000000000,
4980 8.0000000000000000, 0.50000000000000000, 0.0 },
4981 { 3.5937500000000013, 1.0000000000000000, 10.000000000000000,
4982 8.0000000000000000, 0.60000000000000009, 0.0 },
4983 { 5.7818930041152274, 1.0000000000000000, 10.000000000000000,
4984 8.0000000000000000, 0.70000000000000018, 0.0 },
4985 { 12.222222222222220, 1.0000000000000000, 10.000000000000000,
4986 8.0000000000000000, 0.80000000000000004, 0.0 },
4987 { 55.000000000000114, 1.0000000000000000, 10.000000000000000,
4988 8.0000000000000000, 0.90000000000000013, 0.0 },
4990 const double toler099 = 2.5000000000000020e-13;
4992 // Test data for a=1.0000000000000000, b=10.000000000000000, c=10.000000000000000.
4993 // max(|f - f_GSL|): 1.7763568394002505e-15 at index 18
4994 // max(|f - f_GSL| / |f_GSL|): 1.9984014443252816e-16
4995 // mean(f - f_GSL): 7.5962628000668607e-17
4996 // variance(f - f_GSL): 1.6955391669463862e-31
4997 // stddev(f - f_GSL): 4.1176925175957300e-16
4998 const testcase_hyperg<double>
4999 data100[19] =
5001 { 0.52631578947368429, 1.0000000000000000, 10.000000000000000,
5002 10.000000000000000, -0.90000000000000002, 0.0 },
5003 { 0.55555555555555558, 1.0000000000000000, 10.000000000000000,
5004 10.000000000000000, -0.80000000000000004, 0.0 },
5005 { 0.58823529411764708, 1.0000000000000000, 10.000000000000000,
5006 10.000000000000000, -0.69999999999999996, 0.0 },
5007 { 0.62500000000000000, 1.0000000000000000, 10.000000000000000,
5008 10.000000000000000, -0.59999999999999998, 0.0 },
5009 { 0.66666666666666663, 1.0000000000000000, 10.000000000000000,
5010 10.000000000000000, -0.50000000000000000, 0.0 },
5011 { 0.71428571428571430, 1.0000000000000000, 10.000000000000000,
5012 10.000000000000000, -0.39999999999999991, 0.0 },
5013 { 0.76923076923076938, 1.0000000000000000, 10.000000000000000,
5014 10.000000000000000, -0.29999999999999993, 0.0 },
5015 { 0.83333333333333337, 1.0000000000000000, 10.000000000000000,
5016 10.000000000000000, -0.19999999999999996, 0.0 },
5017 { 0.90909090909090906, 1.0000000000000000, 10.000000000000000,
5018 10.000000000000000, -0.099999999999999978, 0.0 },
5019 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
5020 10.000000000000000, 0.0000000000000000, 0.0 },
5021 { 1.1111111111111112, 1.0000000000000000, 10.000000000000000,
5022 10.000000000000000, 0.10000000000000009, 0.0 },
5023 { 1.2500000000000002, 1.0000000000000000, 10.000000000000000,
5024 10.000000000000000, 0.20000000000000018, 0.0 },
5025 { 1.4285714285714286, 1.0000000000000000, 10.000000000000000,
5026 10.000000000000000, 0.30000000000000004, 0.0 },
5027 { 1.6666666666666670, 1.0000000000000000, 10.000000000000000,
5028 10.000000000000000, 0.40000000000000013, 0.0 },
5029 { 2.0000000000000000, 1.0000000000000000, 10.000000000000000,
5030 10.000000000000000, 0.50000000000000000, 0.0 },
5031 { 2.5000000000000009, 1.0000000000000000, 10.000000000000000,
5032 10.000000000000000, 0.60000000000000009, 0.0 },
5033 { 3.3333333333333348, 1.0000000000000000, 10.000000000000000,
5034 10.000000000000000, 0.70000000000000018, 0.0 },
5035 { 5.0000000000000009, 1.0000000000000000, 10.000000000000000,
5036 10.000000000000000, 0.80000000000000004, 0.0 },
5037 { 10.000000000000011, 1.0000000000000000, 10.000000000000000,
5038 10.000000000000000, 0.90000000000000013, 0.0 },
5040 const double toler100 = 2.5000000000000020e-13;
5042 // Test data for a=1.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
5043 // max(|f - f_GSL|): 1024.0000000000000 at index 18
5044 // max(|f - f_GSL| / |f_GSL|): 1.7510399999999635e-15
5045 // mean(f - f_GSL): 53.894788252704814
5046 // variance(f - f_GSL): 55188.204676932175
5047 // stddev(f - f_GSL): 234.92169903381034
5048 const testcase_hyperg<double>
5049 data101[19] =
5051 { 0.058479236576646311, 1.0000000000000000, 20.000000000000000,
5052 2.0000000000000000, -0.90000000000000002, 0.0 },
5053 { 0.065788544763137821, 1.0000000000000000, 20.000000000000000,
5054 2.0000000000000000, -0.80000000000000004, 0.0 },
5055 { 0.075184824937824482, 1.0000000000000000, 20.000000000000000,
5056 2.0000000000000000, -0.69999999999999996, 0.0 },
5057 { 0.087707688693157121, 1.0000000000000000, 20.000000000000000,
5058 2.0000000000000000, -0.59999999999999998, 0.0 },
5059 { 0.10521567442213345, 1.0000000000000000, 20.000000000000000,
5060 2.0000000000000000, -0.50000000000000000, 0.0 },
5061 { 0.13135877960541509, 1.0000000000000000, 20.000000000000000,
5062 2.0000000000000000, -0.39999999999999991, 0.0 },
5063 { 0.17423854066297137, 1.0000000000000000, 20.000000000000000,
5064 2.0000000000000000, -0.29999999999999993, 0.0 },
5065 { 0.25492082527223520, 1.0000000000000000, 20.000000000000000,
5066 2.0000000000000000, -0.19999999999999996, 0.0 },
5067 { 0.44025895219654843, 1.0000000000000000, 20.000000000000000,
5068 2.0000000000000000, -0.099999999999999978, 0.0 },
5069 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
5070 2.0000000000000000, 0.0000000000000000, 0.0 },
5071 { 3.3698615820910360, 1.0000000000000000, 20.000000000000000,
5072 2.0000000000000000, 0.10000000000000009, 0.0 },
5073 { 17.997089220808562, 1.0000000000000000, 20.000000000000000,
5074 2.0000000000000000, 0.20000000000000018, 0.0 },
5075 { 153.73298291118951, 1.0000000000000000, 20.000000000000000,
5076 2.0000000000000000, 0.30000000000000004, 0.0 },
5077 { 2159.1667587825768, 1.0000000000000000, 20.000000000000000,
5078 2.0000000000000000, 0.40000000000000013, 0.0 },
5079 { 55188.105263157879, 1.0000000000000000, 20.000000000000000,
5080 2.0000000000000000, 0.50000000000000000, 0.0 },
5081 { 3191209.3921857267, 1.0000000000000000, 20.000000000000000,
5082 2.0000000000000000, 0.60000000000000009, 0.0 },
5083 { 646910975.29153574, 1.0000000000000000, 20.000000000000000,
5084 2.0000000000000000, 0.70000000000000018, 0.0 },
5085 { 1254834626850.2659, 1.0000000000000000, 20.000000000000000,
5086 2.0000000000000000, 0.80000000000000004, 0.0 },
5087 { 5.8479532163743910e+17, 1.0000000000000000, 20.000000000000000,
5088 2.0000000000000000, 0.90000000000000013, 0.0 },
5090 const double toler101 = 2.5000000000000020e-13;
5092 // Test data for a=1.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
5093 // max(|f - f_GSL|): 0.21875000000000000 at index 18
5094 // max(|f - f_GSL| / |f_GSL|): 1.5452521874999694e-15
5095 // mean(f - f_GSL): 0.011513220685868108
5096 // variance(f - f_GSL): 0.0025185017633005862
5097 // stddev(f - f_GSL): 0.050184676578618956
5098 const testcase_hyperg<double>
5099 data102[19] =
5101 { 0.15519511120894958, 1.0000000000000000, 20.000000000000000,
5102 4.0000000000000000, -0.90000000000000002, 0.0 },
5103 { 0.17197165701692893, 1.0000000000000000, 20.000000000000000,
5104 4.0000000000000000, -0.80000000000000004, 0.0 },
5105 { 0.19276847315207329, 1.0000000000000000, 20.000000000000000,
5106 4.0000000000000000, -0.69999999999999996, 0.0 },
5107 { 0.21920107206179093, 1.0000000000000000, 20.000000000000000,
5108 4.0000000000000000, -0.59999999999999998, 0.0 },
5109 { 0.25386158960390576, 1.0000000000000000, 20.000000000000000,
5110 4.0000000000000000, -0.50000000000000000, 0.0 },
5111 { 0.30115970686600663, 1.0000000000000000, 20.000000000000000,
5112 4.0000000000000000, -0.39999999999999991, 0.0 },
5113 { 0.36916408142057128, 1.0000000000000000, 20.000000000000000,
5114 4.0000000000000000, -0.29999999999999993, 0.0 },
5115 { 0.47406175901569547, 1.0000000000000000, 20.000000000000000,
5116 4.0000000000000000, -0.19999999999999996, 0.0 },
5117 { 0.65237908266239919, 1.0000000000000000, 20.000000000000000,
5118 4.0000000000000000, -0.099999999999999978, 0.0 },
5119 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
5120 4.0000000000000000, 0.0000000000000000, 0.0 },
5121 { 1.8227213362622299, 1.0000000000000000, 20.000000000000000,
5122 4.0000000000000000, 0.10000000000000009, 0.0 },
5123 { 4.3716358339791430, 1.0000000000000000, 20.000000000000000,
5124 4.0000000000000000, 0.20000000000000018, 0.0 },
5125 { 15.670841312959222, 1.0000000000000000, 20.000000000000000,
5126 4.0000000000000000, 0.30000000000000004, 0.0 },
5127 { 94.742651122760662, 1.0000000000000000, 20.000000000000000,
5128 4.0000000000000000, 0.40000000000000013, 0.0 },
5129 { 1081.7275541795671, 1.0000000000000000, 20.000000000000000,
5130 4.0000000000000000, 0.50000000000000000, 0.0 },
5131 { 27809.787731465960, 1.0000000000000000, 20.000000000000000,
5132 4.0000000000000000, 0.60000000000000009, 0.0 },
5133 { 2329811.1715181284, 1.0000000000000000, 20.000000000000000,
5134 4.0000000000000000, 0.70000000000000018, 0.0 },
5135 { 1537787532.6780224, 1.0000000000000000, 20.000000000000000,
5136 4.0000000000000000, 0.80000000000000004, 0.0 },
5137 { 141562653507005.19, 1.0000000000000000, 20.000000000000000,
5138 4.0000000000000000, 0.90000000000000013, 0.0 },
5140 const double toler102 = 2.5000000000000020e-13;
5142 // Test data for a=1.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
5143 // max(|f - f_GSL|): 0.00024414062500000000 at index 18
5144 // max(|f - f_GSL| / |f_GSL|): 1.6763226855512285e-15
5145 // mean(f - f_GSL): 1.2849899481406474e-05
5146 // variance(f - f_GSL): 3.1370759089735494e-09
5147 // stddev(f - f_GSL): 5.6009605506319623e-05
5148 const testcase_hyperg<double>
5149 data103[19] =
5151 { 0.23253645591196551, 1.0000000000000000, 20.000000000000000,
5152 6.0000000000000000, -0.90000000000000002, 0.0 },
5153 { 0.25484220947068342, 1.0000000000000000, 20.000000000000000,
5154 6.0000000000000000, -0.80000000000000004, 0.0 },
5155 { 0.28181987881113812, 1.0000000000000000, 20.000000000000000,
5156 6.0000000000000000, -0.69999999999999996, 0.0 },
5157 { 0.31508211677735770, 1.0000000000000000, 20.000000000000000,
5158 6.0000000000000000, -0.59999999999999998, 0.0 },
5159 { 0.35706285886959610, 1.0000000000000000, 20.000000000000000,
5160 6.0000000000000000, -0.50000000000000000, 0.0 },
5161 { 0.41160053409238190, 1.0000000000000000, 20.000000000000000,
5162 6.0000000000000000, -0.39999999999999991, 0.0 },
5163 { 0.48508083111181938, 1.0000000000000000, 20.000000000000000,
5164 6.0000000000000000, -0.29999999999999993, 0.0 },
5165 { 0.58885194371375260, 1.0000000000000000, 20.000000000000000,
5166 6.0000000000000000, -0.19999999999999996, 0.0 },
5167 { 0.74482241684585782, 1.0000000000000000, 20.000000000000000,
5168 6.0000000000000000, -0.099999999999999978, 0.0 },
5169 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
5170 6.0000000000000000, 0.0000000000000000, 0.0 },
5171 { 1.4700356864367146, 1.0000000000000000, 20.000000000000000,
5172 6.0000000000000000, 0.10000000000000009, 0.0 },
5173 { 2.4955144453055174, 1.0000000000000000, 20.000000000000000,
5174 6.0000000000000000, 0.20000000000000018, 0.0 },
5175 { 5.3506594845833471, 1.0000000000000000, 20.000000000000000,
5176 6.0000000000000000, 0.30000000000000004, 0.0 },
5177 { 16.618413752184267, 1.0000000000000000, 20.000000000000000,
5178 6.0000000000000000, 0.40000000000000013, 0.0 },
5179 { 89.310629514963878, 1.0000000000000000, 20.000000000000000,
5180 6.0000000000000000, 0.50000000000000000, 0.0 },
5181 { 1029.3439900542960, 1.0000000000000000, 20.000000000000000,
5182 6.0000000000000000, 0.60000000000000009, 0.0 },
5183 { 35659.847863372670, 1.0000000000000000, 20.000000000000000,
5184 6.0000000000000000, 0.70000000000000018, 0.0 },
5185 { 8009309.6233230168, 1.0000000000000000, 20.000000000000000,
5186 6.0000000000000000, 0.80000000000000004, 0.0 },
5187 { 145640590027.40201, 1.0000000000000000, 20.000000000000000,
5188 6.0000000000000000, 0.90000000000000013, 0.0 },
5190 const double toler103 = 2.5000000000000020e-13;
5192 // Test data for a=1.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
5193 // max(|f - f_GSL|): 7.1525573730468750e-07 at index 18
5194 // max(|f - f_GSL| / |f_GSL|): 1.7237966704607975e-15
5195 // mean(f - f_GSL): 3.7648905700618082e-08
5196 // variance(f - f_GSL): 2.6925522674362989e-14
5197 // stddev(f - f_GSL): 1.6408998346749562e-07
5198 const testcase_hyperg<double>
5199 data104[19] =
5201 { 0.29614148314592509, 1.0000000000000000, 20.000000000000000,
5202 8.0000000000000000, -0.90000000000000002, 0.0 },
5203 { 0.32176277356430805, 1.0000000000000000, 20.000000000000000,
5204 8.0000000000000000, -0.80000000000000004, 0.0 },
5205 { 0.35217870475550511, 1.0000000000000000, 20.000000000000000,
5206 8.0000000000000000, -0.69999999999999996, 0.0 },
5207 { 0.38885270445515113, 1.0000000000000000, 20.000000000000000,
5208 8.0000000000000000, -0.59999999999999998, 0.0 },
5209 { 0.43389978380608418, 1.0000000000000000, 20.000000000000000,
5210 8.0000000000000000, -0.50000000000000000, 0.0 },
5211 { 0.49048612522269414, 1.0000000000000000, 20.000000000000000,
5212 8.0000000000000000, -0.39999999999999991, 0.0 },
5213 { 0.56355539635634599, 1.0000000000000000, 20.000000000000000,
5214 8.0000000000000000, -0.29999999999999993, 0.0 },
5215 { 0.66123153239117671, 1.0000000000000000, 20.000000000000000,
5216 8.0000000000000000, -0.19999999999999996, 0.0 },
5217 { 0.79773363961895416, 1.0000000000000000, 20.000000000000000,
5218 8.0000000000000000, -0.099999999999999978, 0.0 },
5219 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
5220 8.0000000000000000, 0.0000000000000000, 0.0 },
5221 { 1.3245132157016595, 1.0000000000000000, 20.000000000000000,
5222 8.0000000000000000, 0.10000000000000009, 0.0 },
5223 { 1.9065148749742094, 1.0000000000000000, 20.000000000000000,
5224 8.0000000000000000, 0.20000000000000018, 0.0 },
5225 { 3.1328798652457452, 1.0000000000000000, 20.000000000000000,
5226 8.0000000000000000, 0.30000000000000004, 0.0 },
5227 { 6.4172532944033636, 1.0000000000000000, 20.000000000000000,
5228 8.0000000000000000, 0.40000000000000013, 0.0 },
5229 { 19.071683734222436, 1.0000000000000000, 20.000000000000000,
5230 8.0000000000000000, 0.50000000000000000, 0.0 },
5231 { 104.41989641582512, 1.0000000000000000, 20.000000000000000,
5232 8.0000000000000000, 0.60000000000000009, 0.0 },
5233 { 1510.5743992324351, 1.0000000000000000, 20.000000000000000,
5234 8.0000000000000000, 0.70000000000000018, 0.0 },
5235 { 115518.14360562043, 1.0000000000000000, 20.000000000000000,
5236 8.0000000000000000, 0.80000000000000004, 0.0 },
5237 { 414930455.29174191, 1.0000000000000000, 20.000000000000000,
5238 8.0000000000000000, 0.90000000000000013, 0.0 },
5240 const double toler104 = 2.5000000000000020e-13;
5242 // Test data for a=1.0000000000000000, b=20.000000000000000, c=10.000000000000000.
5243 // max(|f - f_GSL|): 4.6566128730773926e-09 at index 18
5244 // max(|f - f_GSL| / |f_GSL|): 1.6665618165271877e-15
5245 // mean(f - f_GSL): 2.4523176471958370e-10
5246 // variance(f - f_GSL): 1.1411894517911952e-18
5247 // stddev(f - f_GSL): 1.0682646918208967e-09
5248 const testcase_hyperg<double>
5249 data105[19] =
5251 { 0.34954259539177701, 1.0000000000000000, 20.000000000000000,
5252 10.000000000000000, -0.90000000000000002, 0.0 },
5253 { 0.37714038609235134, 1.0000000000000000, 20.000000000000000,
5254 10.000000000000000, -0.80000000000000004, 0.0 },
5255 { 0.40942091659748781, 1.0000000000000000, 20.000000000000000,
5256 10.000000000000000, -0.69999999999999996, 0.0 },
5257 { 0.44767109606846422, 1.0000000000000000, 20.000000000000000,
5258 10.000000000000000, -0.59999999999999998, 0.0 },
5259 { 0.49368984777532227, 1.0000000000000000, 20.000000000000000,
5260 10.000000000000000, -0.50000000000000000, 0.0 },
5261 { 0.55006638216982318, 1.0000000000000000, 20.000000000000000,
5262 10.000000000000000, -0.39999999999999991, 0.0 },
5263 { 0.62065830207408901, 1.0000000000000000, 20.000000000000000,
5264 10.000000000000000, -0.29999999999999993, 0.0 },
5265 { 0.71145554513583764, 1.0000000000000000, 20.000000000000000,
5266 10.000000000000000, -0.19999999999999996, 0.0 },
5267 { 0.83223839666914623, 1.0000000000000000, 20.000000000000000,
5268 10.000000000000000, -0.099999999999999978, 0.0 },
5269 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
5270 10.000000000000000, 0.0000000000000000, 0.0 },
5271 { 1.2466748028187731, 1.0000000000000000, 20.000000000000000,
5272 10.000000000000000, 0.10000000000000009, 0.0 },
5273 { 1.6386752725021760, 1.0000000000000000, 20.000000000000000,
5274 10.000000000000000, 0.20000000000000018, 0.0 },
5275 { 2.3340068725479681, 1.0000000000000000, 20.000000000000000,
5276 10.000000000000000, 0.30000000000000004, 0.0 },
5277 { 3.7848108613132099, 1.0000000000000000, 20.000000000000000,
5278 10.000000000000000, 0.40000000000000013, 0.0 },
5279 { 7.6754638550304133, 1.0000000000000000, 20.000000000000000,
5280 10.000000000000000, 0.50000000000000000, 0.0 },
5281 { 23.344217312927277, 1.0000000000000000, 20.000000000000000,
5282 10.000000000000000, 0.60000000000000009, 0.0 },
5283 { 149.83491198246998, 1.0000000000000000, 20.000000000000000,
5284 10.000000000000000, 0.70000000000000018, 0.0 },
5285 { 3936.9253501916060, 1.0000000000000000, 20.000000000000000,
5286 10.000000000000000, 0.80000000000000004, 0.0 },
5287 { 2794143.5036480846, 1.0000000000000000, 20.000000000000000,
5288 10.000000000000000, 0.90000000000000013, 0.0 },
5290 const double toler105 = 2.5000000000000020e-13;
5292 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
5293 // max(|f - f_GSL|): 0.0000000000000000 at index 0
5294 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5295 // mean(f - f_GSL): 0.0000000000000000
5296 // variance(f - f_GSL): 0.0000000000000000
5297 // stddev(f - f_GSL): 0.0000000000000000
5298 const testcase_hyperg<double>
5299 data106[19] =
5301 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5302 2.0000000000000000, -0.90000000000000002, 0.0 },
5303 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5304 2.0000000000000000, -0.80000000000000004, 0.0 },
5305 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5306 2.0000000000000000, -0.69999999999999996, 0.0 },
5307 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5308 2.0000000000000000, -0.59999999999999998, 0.0 },
5309 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5310 2.0000000000000000, -0.50000000000000000, 0.0 },
5311 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5312 2.0000000000000000, -0.39999999999999991, 0.0 },
5313 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5314 2.0000000000000000, -0.29999999999999993, 0.0 },
5315 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5316 2.0000000000000000, -0.19999999999999996, 0.0 },
5317 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5318 2.0000000000000000, -0.099999999999999978, 0.0 },
5319 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5320 2.0000000000000000, 0.0000000000000000, 0.0 },
5321 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5322 2.0000000000000000, 0.10000000000000009, 0.0 },
5323 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5324 2.0000000000000000, 0.20000000000000018, 0.0 },
5325 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5326 2.0000000000000000, 0.30000000000000004, 0.0 },
5327 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5328 2.0000000000000000, 0.40000000000000013, 0.0 },
5329 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5330 2.0000000000000000, 0.50000000000000000, 0.0 },
5331 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5332 2.0000000000000000, 0.60000000000000009, 0.0 },
5333 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5334 2.0000000000000000, 0.70000000000000018, 0.0 },
5335 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5336 2.0000000000000000, 0.80000000000000004, 0.0 },
5337 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5338 2.0000000000000000, 0.90000000000000013, 0.0 },
5340 const double toler106 = 2.5000000000000020e-13;
5342 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
5343 // max(|f - f_GSL|): 0.0000000000000000 at index 0
5344 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5345 // mean(f - f_GSL): 0.0000000000000000
5346 // variance(f - f_GSL): 0.0000000000000000
5347 // stddev(f - f_GSL): 0.0000000000000000
5348 const testcase_hyperg<double>
5349 data107[19] =
5351 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5352 4.0000000000000000, -0.90000000000000002, 0.0 },
5353 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5354 4.0000000000000000, -0.80000000000000004, 0.0 },
5355 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5356 4.0000000000000000, -0.69999999999999996, 0.0 },
5357 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5358 4.0000000000000000, -0.59999999999999998, 0.0 },
5359 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5360 4.0000000000000000, -0.50000000000000000, 0.0 },
5361 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5362 4.0000000000000000, -0.39999999999999991, 0.0 },
5363 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5364 4.0000000000000000, -0.29999999999999993, 0.0 },
5365 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5366 4.0000000000000000, -0.19999999999999996, 0.0 },
5367 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5368 4.0000000000000000, -0.099999999999999978, 0.0 },
5369 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5370 4.0000000000000000, 0.0000000000000000, 0.0 },
5371 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5372 4.0000000000000000, 0.10000000000000009, 0.0 },
5373 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5374 4.0000000000000000, 0.20000000000000018, 0.0 },
5375 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5376 4.0000000000000000, 0.30000000000000004, 0.0 },
5377 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5378 4.0000000000000000, 0.40000000000000013, 0.0 },
5379 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5380 4.0000000000000000, 0.50000000000000000, 0.0 },
5381 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5382 4.0000000000000000, 0.60000000000000009, 0.0 },
5383 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5384 4.0000000000000000, 0.70000000000000018, 0.0 },
5385 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5386 4.0000000000000000, 0.80000000000000004, 0.0 },
5387 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5388 4.0000000000000000, 0.90000000000000013, 0.0 },
5390 const double toler107 = 2.5000000000000020e-13;
5392 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
5393 // max(|f - f_GSL|): 0.0000000000000000 at index 0
5394 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5395 // mean(f - f_GSL): 0.0000000000000000
5396 // variance(f - f_GSL): 0.0000000000000000
5397 // stddev(f - f_GSL): 0.0000000000000000
5398 const testcase_hyperg<double>
5399 data108[19] =
5401 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5402 6.0000000000000000, -0.90000000000000002, 0.0 },
5403 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5404 6.0000000000000000, -0.80000000000000004, 0.0 },
5405 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5406 6.0000000000000000, -0.69999999999999996, 0.0 },
5407 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5408 6.0000000000000000, -0.59999999999999998, 0.0 },
5409 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5410 6.0000000000000000, -0.50000000000000000, 0.0 },
5411 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5412 6.0000000000000000, -0.39999999999999991, 0.0 },
5413 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5414 6.0000000000000000, -0.29999999999999993, 0.0 },
5415 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5416 6.0000000000000000, -0.19999999999999996, 0.0 },
5417 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5418 6.0000000000000000, -0.099999999999999978, 0.0 },
5419 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5420 6.0000000000000000, 0.0000000000000000, 0.0 },
5421 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5422 6.0000000000000000, 0.10000000000000009, 0.0 },
5423 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5424 6.0000000000000000, 0.20000000000000018, 0.0 },
5425 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5426 6.0000000000000000, 0.30000000000000004, 0.0 },
5427 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5428 6.0000000000000000, 0.40000000000000013, 0.0 },
5429 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5430 6.0000000000000000, 0.50000000000000000, 0.0 },
5431 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5432 6.0000000000000000, 0.60000000000000009, 0.0 },
5433 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5434 6.0000000000000000, 0.70000000000000018, 0.0 },
5435 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5436 6.0000000000000000, 0.80000000000000004, 0.0 },
5437 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5438 6.0000000000000000, 0.90000000000000013, 0.0 },
5440 const double toler108 = 2.5000000000000020e-13;
5442 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
5443 // max(|f - f_GSL|): 0.0000000000000000 at index 0
5444 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5445 // mean(f - f_GSL): 0.0000000000000000
5446 // variance(f - f_GSL): 0.0000000000000000
5447 // stddev(f - f_GSL): 0.0000000000000000
5448 const testcase_hyperg<double>
5449 data109[19] =
5451 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5452 8.0000000000000000, -0.90000000000000002, 0.0 },
5453 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5454 8.0000000000000000, -0.80000000000000004, 0.0 },
5455 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5456 8.0000000000000000, -0.69999999999999996, 0.0 },
5457 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5458 8.0000000000000000, -0.59999999999999998, 0.0 },
5459 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5460 8.0000000000000000, -0.50000000000000000, 0.0 },
5461 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5462 8.0000000000000000, -0.39999999999999991, 0.0 },
5463 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5464 8.0000000000000000, -0.29999999999999993, 0.0 },
5465 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5466 8.0000000000000000, -0.19999999999999996, 0.0 },
5467 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5468 8.0000000000000000, -0.099999999999999978, 0.0 },
5469 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5470 8.0000000000000000, 0.0000000000000000, 0.0 },
5471 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5472 8.0000000000000000, 0.10000000000000009, 0.0 },
5473 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5474 8.0000000000000000, 0.20000000000000018, 0.0 },
5475 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5476 8.0000000000000000, 0.30000000000000004, 0.0 },
5477 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5478 8.0000000000000000, 0.40000000000000013, 0.0 },
5479 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5480 8.0000000000000000, 0.50000000000000000, 0.0 },
5481 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5482 8.0000000000000000, 0.60000000000000009, 0.0 },
5483 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5484 8.0000000000000000, 0.70000000000000018, 0.0 },
5485 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5486 8.0000000000000000, 0.80000000000000004, 0.0 },
5487 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5488 8.0000000000000000, 0.90000000000000013, 0.0 },
5490 const double toler109 = 2.5000000000000020e-13;
5492 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
5493 // max(|f - f_GSL|): 0.0000000000000000 at index 0
5494 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5495 // mean(f - f_GSL): 0.0000000000000000
5496 // variance(f - f_GSL): 0.0000000000000000
5497 // stddev(f - f_GSL): 0.0000000000000000
5498 const testcase_hyperg<double>
5499 data110[19] =
5501 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5502 10.000000000000000, -0.90000000000000002, 0.0 },
5503 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5504 10.000000000000000, -0.80000000000000004, 0.0 },
5505 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5506 10.000000000000000, -0.69999999999999996, 0.0 },
5507 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5508 10.000000000000000, -0.59999999999999998, 0.0 },
5509 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5510 10.000000000000000, -0.50000000000000000, 0.0 },
5511 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5512 10.000000000000000, -0.39999999999999991, 0.0 },
5513 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5514 10.000000000000000, -0.29999999999999993, 0.0 },
5515 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5516 10.000000000000000, -0.19999999999999996, 0.0 },
5517 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5518 10.000000000000000, -0.099999999999999978, 0.0 },
5519 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5520 10.000000000000000, 0.0000000000000000, 0.0 },
5521 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5522 10.000000000000000, 0.10000000000000009, 0.0 },
5523 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5524 10.000000000000000, 0.20000000000000018, 0.0 },
5525 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5526 10.000000000000000, 0.30000000000000004, 0.0 },
5527 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5528 10.000000000000000, 0.40000000000000013, 0.0 },
5529 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5530 10.000000000000000, 0.50000000000000000, 0.0 },
5531 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5532 10.000000000000000, 0.60000000000000009, 0.0 },
5533 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5534 10.000000000000000, 0.70000000000000018, 0.0 },
5535 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5536 10.000000000000000, 0.80000000000000004, 0.0 },
5537 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5538 10.000000000000000, 0.90000000000000013, 0.0 },
5540 const double toler110 = 2.5000000000000020e-13;
5542 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
5543 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
5544 // max(|f - f_GSL| / |f_GSL|): 1.8577584504832499e-16
5545 // mean(f - f_GSL): 5.8432790769745078e-18
5546 // variance(f - f_GSL): 1.1262748212790853e-32
5547 // stddev(f - f_GSL): 1.0612609581432294e-16
5548 const testcase_hyperg<double>
5549 data111[19] =
5551 { 0.72547625011001160, 2.0000000000000000, 0.50000000000000000,
5552 2.0000000000000000, -0.90000000000000002, 0.0 },
5553 { 0.74535599249992990, 2.0000000000000000, 0.50000000000000000,
5554 2.0000000000000000, -0.80000000000000004, 0.0 },
5555 { 0.76696498884737041, 2.0000000000000000, 0.50000000000000000,
5556 2.0000000000000000, -0.69999999999999996, 0.0 },
5557 { 0.79056941504209477, 2.0000000000000000, 0.50000000000000000,
5558 2.0000000000000000, -0.59999999999999998, 0.0 },
5559 { 0.81649658092772603, 2.0000000000000000, 0.50000000000000000,
5560 2.0000000000000000, -0.50000000000000000, 0.0 },
5561 { 0.84515425472851669, 2.0000000000000000, 0.50000000000000000,
5562 2.0000000000000000, -0.39999999999999991, 0.0 },
5563 { 0.87705801930702931, 2.0000000000000000, 0.50000000000000000,
5564 2.0000000000000000, -0.29999999999999993, 0.0 },
5565 { 0.91287092917527690, 2.0000000000000000, 0.50000000000000000,
5566 2.0000000000000000, -0.19999999999999996, 0.0 },
5567 { 0.95346258924559224, 2.0000000000000000, 0.50000000000000000,
5568 2.0000000000000000, -0.099999999999999978, 0.0 },
5569 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5570 2.0000000000000000, 0.0000000000000000, 0.0 },
5571 { 1.0540925533894598, 2.0000000000000000, 0.50000000000000000,
5572 2.0000000000000000, 0.10000000000000009, 0.0 },
5573 { 1.1180339887498949, 2.0000000000000000, 0.50000000000000000,
5574 2.0000000000000000, 0.20000000000000018, 0.0 },
5575 { 1.1952286093343938, 2.0000000000000000, 0.50000000000000000,
5576 2.0000000000000000, 0.30000000000000004, 0.0 },
5577 { 1.2909944487358058, 2.0000000000000000, 0.50000000000000000,
5578 2.0000000000000000, 0.40000000000000013, 0.0 },
5579 { 1.4142135623730951, 2.0000000000000000, 0.50000000000000000,
5580 2.0000000000000000, 0.50000000000000000, 0.0 },
5581 { 1.5811388300841900, 2.0000000000000000, 0.50000000000000000,
5582 2.0000000000000000, 0.60000000000000009, 0.0 },
5583 { 1.8257418583505542, 2.0000000000000000, 0.50000000000000000,
5584 2.0000000000000000, 0.70000000000000018, 0.0 },
5585 { 2.2360679774997898, 2.0000000000000000, 0.50000000000000000,
5586 2.0000000000000000, 0.80000000000000004, 0.0 },
5587 { 3.1622776601683809, 2.0000000000000000, 0.50000000000000000,
5588 2.0000000000000000, 0.90000000000000013, 0.0 },
5590 const double toler111 = 2.5000000000000020e-13;
5592 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
5593 // max(|f - f_GSL|): 6.6613381477509392e-16 at index 18
5594 // max(|f - f_GSL| / |f_GSL|): 4.6340403913587147e-16
5595 // mean(f - f_GSL): 7.5962628000668607e-17
5596 // variance(f - f_GSL): 2.0425119025543020e-32
5597 // stddev(f - f_GSL): 1.4291647569662155e-16
5598 const testcase_hyperg<double>
5599 data112[19] =
5601 { 0.83664260086443765, 2.0000000000000000, 0.50000000000000000,
5602 4.0000000000000000, -0.90000000000000002, 0.0 },
5603 { 0.85046584300227079, 2.0000000000000000, 0.50000000000000000,
5604 4.0000000000000000, -0.80000000000000004, 0.0 },
5605 { 0.86509574979651649, 2.0000000000000000, 0.50000000000000000,
5606 4.0000000000000000, -0.69999999999999996, 0.0 },
5607 { 0.88062082573041911, 2.0000000000000000, 0.50000000000000000,
5608 4.0000000000000000, -0.59999999999999998, 0.0 },
5609 { 0.89714464248521597, 2.0000000000000000, 0.50000000000000000,
5610 4.0000000000000000, -0.50000000000000000, 0.0 },
5611 { 0.91478946588967569, 2.0000000000000000, 0.50000000000000000,
5612 4.0000000000000000, -0.39999999999999991, 0.0 },
5613 { 0.93370105322348607, 2.0000000000000000, 0.50000000000000000,
5614 4.0000000000000000, -0.29999999999999993, 0.0 },
5615 { 0.95405511057700887, 2.0000000000000000, 0.50000000000000000,
5616 4.0000000000000000, -0.19999999999999996, 0.0 },
5617 { 0.97606616007978142, 2.0000000000000000, 0.50000000000000000,
5618 4.0000000000000000, -0.099999999999999978, 0.0 },
5619 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5620 4.0000000000000000, 0.0000000000000000, 0.0 },
5621 { 1.0261916902334731, 2.0000000000000000, 0.50000000000000000,
5622 4.0000000000000000, 0.10000000000000009, 0.0 },
5623 { 1.0550723519434702, 2.0000000000000000, 0.50000000000000000,
5624 4.0000000000000000, 0.20000000000000018, 0.0 },
5625 { 1.0872106588188091, 2.0000000000000000, 0.50000000000000000,
5626 4.0000000000000000, 0.30000000000000004, 0.0 },
5627 { 1.1233801699379022, 2.0000000000000000, 0.50000000000000000,
5628 4.0000000000000000, 0.40000000000000013, 0.0 },
5629 { 1.1646752981725688, 2.0000000000000000, 0.50000000000000000,
5630 4.0000000000000000, 0.50000000000000000, 0.0 },
5631 { 1.2127272514219511, 2.0000000000000000, 0.50000000000000000,
5632 4.0000000000000000, 0.60000000000000009, 0.0 },
5633 { 1.2701518651068637, 2.0000000000000000, 0.50000000000000000,
5634 4.0000000000000000, 0.70000000000000018, 0.0 },
5635 { 1.3416407864998725, 2.0000000000000000, 0.50000000000000000,
5636 4.0000000000000000, 0.80000000000000004, 0.0 },
5637 { 1.4374795179111106, 2.0000000000000000, 0.50000000000000000,
5638 4.0000000000000000, 0.90000000000000013, 0.0 },
5640 const double toler112 = 2.5000000000000020e-13;
5642 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
5643 // max(|f - f_GSL|): 3.3306690738754696e-16 at index 8
5644 // max(|f - f_GSL| / |f_GSL|): 3.3853500746952663e-16
5645 // mean(f - f_GSL): 1.1686558153949016e-17
5646 // variance(f - f_GSL): 2.5949371882270124e-33
5647 // stddev(f - f_GSL): 5.0940525990875012e-17
5648 const testcase_hyperg<double>
5649 data113[19] =
5651 { 0.88195381730235822, 2.0000000000000000, 0.50000000000000000,
5652 6.0000000000000000, -0.90000000000000002, 0.0 },
5653 { 0.89265078469555081, 2.0000000000000000, 0.50000000000000000,
5654 6.0000000000000000, -0.80000000000000004, 0.0 },
5655 { 0.90382937908303673, 2.0000000000000000, 0.50000000000000000,
5656 6.0000000000000000, -0.69999999999999996, 0.0 },
5657 { 0.91553161389880600, 2.0000000000000000, 0.50000000000000000,
5658 6.0000000000000000, -0.59999999999999998, 0.0 },
5659 { 0.92780530349281509, 2.0000000000000000, 0.50000000000000000,
5660 6.0000000000000000, -0.50000000000000000, 0.0 },
5661 { 0.94070521140346020, 2.0000000000000000, 0.50000000000000000,
5662 6.0000000000000000, -0.39999999999999991, 0.0 },
5663 { 0.95429450630523349, 2.0000000000000000, 0.50000000000000000,
5664 6.0000000000000000, -0.29999999999999993, 0.0 },
5665 { 0.96864663325785849, 2.0000000000000000, 0.50000000000000000,
5666 6.0000000000000000, -0.19999999999999996, 0.0 },
5667 { 0.98384775588541795, 2.0000000000000000, 0.50000000000000000,
5668 6.0000000000000000, -0.099999999999999978, 0.0 },
5669 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5670 6.0000000000000000, 0.0000000000000000, 0.0 },
5671 { 1.0172258496884334, 2.0000000000000000, 0.50000000000000000,
5672 6.0000000000000000, 0.10000000000000009, 0.0 },
5673 { 1.0356742479163461, 2.0000000000000000, 0.50000000000000000,
5674 6.0000000000000000, 0.20000000000000018, 0.0 },
5675 { 1.0555293036908924, 2.0000000000000000, 0.50000000000000000,
5676 6.0000000000000000, 0.30000000000000004, 0.0 },
5677 { 1.0770231491562379, 2.0000000000000000, 0.50000000000000000,
5678 6.0000000000000000, 0.40000000000000013, 0.0 },
5679 { 1.1004557416484888, 2.0000000000000000, 0.50000000000000000,
5680 6.0000000000000000, 0.50000000000000000, 0.0 },
5681 { 1.1262270515731978, 2.0000000000000000, 0.50000000000000000,
5682 6.0000000000000000, 0.60000000000000009, 0.0 },
5683 { 1.1548932919125088, 2.0000000000000000, 0.50000000000000000,
5684 6.0000000000000000, 0.70000000000000018, 0.0 },
5685 { 1.1872757758134724, 2.0000000000000000, 0.50000000000000000,
5686 6.0000000000000000, 0.80000000000000004, 0.0 },
5687 { 1.2247091713458949, 2.0000000000000000, 0.50000000000000000,
5688 6.0000000000000000, 0.90000000000000013, 0.0 },
5690 const double toler113 = 2.5000000000000020e-13;
5692 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
5693 // max(|f - f_GSL|): 2.2204460492503131e-16 at index 17
5694 // max(|f - f_GSL| / |f_GSL|): 1.9683492716399738e-16
5695 // mean(f - f_GSL): 1.7529837230923523e-17
5696 // variance(f - f_GSL): 2.4527762774522302e-33
5697 // stddev(f - f_GSL): 4.9525511380017369e-17
5698 const testcase_hyperg<double>
5699 data114[19] =
5701 { 0.90716919697107279, 2.0000000000000000, 0.50000000000000000,
5702 8.0000000000000000, -0.90000000000000002, 0.0 },
5703 { 0.91592299407142508, 2.0000000000000000, 0.50000000000000000,
5704 8.0000000000000000, -0.80000000000000004, 0.0 },
5705 { 0.92500027075874192, 2.0000000000000000, 0.50000000000000000,
5706 8.0000000000000000, -0.69999999999999996, 0.0 },
5707 { 0.93442464185467122, 2.0000000000000000, 0.50000000000000000,
5708 8.0000000000000000, -0.59999999999999998, 0.0 },
5709 { 0.94422248683737076, 2.0000000000000000, 0.50000000000000000,
5710 8.0000000000000000, -0.50000000000000000, 0.0 },
5711 { 0.95442341810133347, 2.0000000000000000, 0.50000000000000000,
5712 8.0000000000000000, -0.39999999999999991, 0.0 },
5713 { 0.96506085725516355, 2.0000000000000000, 0.50000000000000000,
5714 8.0000000000000000, -0.29999999999999993, 0.0 },
5715 { 0.97617275213704069, 2.0000000000000000, 0.50000000000000000,
5716 8.0000000000000000, -0.19999999999999996, 0.0 },
5717 { 0.98780247986309799, 2.0000000000000000, 0.50000000000000000,
5718 8.0000000000000000, -0.099999999999999978, 0.0 },
5719 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5720 8.0000000000000000, 0.0000000000000000, 0.0 },
5721 { 1.0128233505813447, 2.0000000000000000, 0.50000000000000000,
5722 8.0000000000000000, 0.10000000000000009, 0.0 },
5723 { 1.0263406246541855, 2.0000000000000000, 0.50000000000000000,
5724 8.0000000000000000, 0.20000000000000018, 0.0 },
5725 { 1.0406326381700366, 2.0000000000000000, 0.50000000000000000,
5726 8.0000000000000000, 0.30000000000000004, 0.0 },
5727 { 1.0557966239802845, 2.0000000000000000, 0.50000000000000000,
5728 8.0000000000000000, 0.40000000000000013, 0.0 },
5729 { 1.0719515075786321, 2.0000000000000000, 0.50000000000000000,
5730 8.0000000000000000, 0.50000000000000000, 0.0 },
5731 { 1.0892457392422055, 2.0000000000000000, 0.50000000000000000,
5732 8.0000000000000000, 0.60000000000000009, 0.0 },
5733 { 1.1078695188000958, 2.0000000000000000, 0.50000000000000000,
5734 8.0000000000000000, 0.70000000000000018, 0.0 },
5735 { 1.1280752258974340, 2.0000000000000000, 0.50000000000000000,
5736 8.0000000000000000, 0.80000000000000004, 0.0 },
5737 { 1.1502152002706476, 2.0000000000000000, 0.50000000000000000,
5738 8.0000000000000000, 0.90000000000000013, 0.0 },
5740 const double toler114 = 2.5000000000000020e-13;
5742 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
5743 // max(|f - f_GSL|): 3.3306690738754696e-16 at index 8
5744 // max(|f - f_GSL| / |f_GSL|): 3.3636359087105992e-16
5745 // mean(f - f_GSL): 2.9216395384872539e-17
5746 // variance(f - f_GSL): 2.1804680539963092e-33
5747 // stddev(f - f_GSL): 4.6695482158302094e-17
5748 const testcase_hyperg<double>
5749 data115[19] =
5751 { 0.92336416053263082, 2.0000000000000000, 0.50000000000000000,
5752 10.000000000000000, -0.90000000000000002, 0.0 },
5753 { 0.93078397248364542, 2.0000000000000000, 0.50000000000000000,
5754 10.000000000000000, -0.80000000000000004, 0.0 },
5755 { 0.93843714333600259, 2.0000000000000000, 0.50000000000000000,
5756 10.000000000000000, -0.69999999999999996, 0.0 },
5757 { 0.94633837784068098, 2.0000000000000000, 0.50000000000000000,
5758 10.000000000000000, -0.59999999999999998, 0.0 },
5759 { 0.95450388104967876, 2.0000000000000000, 0.50000000000000000,
5760 10.000000000000000, -0.50000000000000000, 0.0 },
5761 { 0.96295158125742752, 2.0000000000000000, 0.50000000000000000,
5762 10.000000000000000, -0.39999999999999991, 0.0 },
5763 { 0.97170139827854329, 2.0000000000000000, 0.50000000000000000,
5764 10.000000000000000, -0.29999999999999993, 0.0 },
5765 { 0.98077556918512687, 2.0000000000000000, 0.50000000000000000,
5766 10.000000000000000, -0.19999999999999996, 0.0 },
5767 { 0.99019904777750845, 2.0000000000000000, 0.50000000000000000,
5768 10.000000000000000, -0.099999999999999978, 0.0 },
5769 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5770 10.000000000000000, 0.0000000000000000, 0.0 },
5771 { 1.0102104261941198, 2.0000000000000000, 0.50000000000000000,
5772 10.000000000000000, 0.10000000000000009, 0.0 },
5773 { 1.0208669540935695, 2.0000000000000000, 0.50000000000000000,
5774 10.000000000000000, 0.20000000000000018, 0.0 },
5775 { 1.0320118665407505, 2.0000000000000000, 0.50000000000000000,
5776 10.000000000000000, 0.30000000000000004, 0.0 },
5777 { 1.0436944599504387, 2.0000000000000000, 0.50000000000000000,
5778 10.000000000000000, 0.40000000000000013, 0.0 },
5779 { 1.0559728828278145, 2.0000000000000000, 0.50000000000000000,
5780 10.000000000000000, 0.50000000000000000, 0.0 },
5781 { 1.0689166967761712, 2.0000000000000000, 0.50000000000000000,
5782 10.000000000000000, 0.60000000000000009, 0.0 },
5783 { 1.0826105758119842, 2.0000000000000000, 0.50000000000000000,
5784 10.000000000000000, 0.70000000000000018, 0.0 },
5785 { 1.0971599106346146, 2.0000000000000000, 0.50000000000000000,
5786 10.000000000000000, 0.80000000000000004, 0.0 },
5787 { 1.1126998828023964, 2.0000000000000000, 0.50000000000000000,
5788 10.000000000000000, 0.90000000000000013, 0.0 },
5790 const double toler115 = 2.5000000000000020e-13;
5792 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
5793 // max(|f - f_GSL|): 1.7763568394002505e-15 at index 18
5794 // max(|f - f_GSL| / |f_GSL|): 1.9984014443252816e-16
5795 // mean(f - f_GSL): 7.5962628000668607e-17
5796 // variance(f - f_GSL): 1.6955391669463862e-31
5797 // stddev(f - f_GSL): 4.1176925175957300e-16
5798 const testcase_hyperg<double>
5799 data116[19] =
5801 { 0.52631578947368429, 2.0000000000000000, 1.0000000000000000,
5802 2.0000000000000000, -0.90000000000000002, 0.0 },
5803 { 0.55555555555555558, 2.0000000000000000, 1.0000000000000000,
5804 2.0000000000000000, -0.80000000000000004, 0.0 },
5805 { 0.58823529411764708, 2.0000000000000000, 1.0000000000000000,
5806 2.0000000000000000, -0.69999999999999996, 0.0 },
5807 { 0.62500000000000000, 2.0000000000000000, 1.0000000000000000,
5808 2.0000000000000000, -0.59999999999999998, 0.0 },
5809 { 0.66666666666666663, 2.0000000000000000, 1.0000000000000000,
5810 2.0000000000000000, -0.50000000000000000, 0.0 },
5811 { 0.71428571428571430, 2.0000000000000000, 1.0000000000000000,
5812 2.0000000000000000, -0.39999999999999991, 0.0 },
5813 { 0.76923076923076938, 2.0000000000000000, 1.0000000000000000,
5814 2.0000000000000000, -0.29999999999999993, 0.0 },
5815 { 0.83333333333333337, 2.0000000000000000, 1.0000000000000000,
5816 2.0000000000000000, -0.19999999999999996, 0.0 },
5817 { 0.90909090909090906, 2.0000000000000000, 1.0000000000000000,
5818 2.0000000000000000, -0.099999999999999978, 0.0 },
5819 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5820 2.0000000000000000, 0.0000000000000000, 0.0 },
5821 { 1.1111111111111112, 2.0000000000000000, 1.0000000000000000,
5822 2.0000000000000000, 0.10000000000000009, 0.0 },
5823 { 1.2500000000000002, 2.0000000000000000, 1.0000000000000000,
5824 2.0000000000000000, 0.20000000000000018, 0.0 },
5825 { 1.4285714285714286, 2.0000000000000000, 1.0000000000000000,
5826 2.0000000000000000, 0.30000000000000004, 0.0 },
5827 { 1.6666666666666670, 2.0000000000000000, 1.0000000000000000,
5828 2.0000000000000000, 0.40000000000000013, 0.0 },
5829 { 2.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5830 2.0000000000000000, 0.50000000000000000, 0.0 },
5831 { 2.5000000000000009, 2.0000000000000000, 1.0000000000000000,
5832 2.0000000000000000, 0.60000000000000009, 0.0 },
5833 { 3.3333333333333348, 2.0000000000000000, 1.0000000000000000,
5834 2.0000000000000000, 0.70000000000000018, 0.0 },
5835 { 5.0000000000000009, 2.0000000000000000, 1.0000000000000000,
5836 2.0000000000000000, 0.80000000000000004, 0.0 },
5837 { 10.000000000000011, 2.0000000000000000, 1.0000000000000000,
5838 2.0000000000000000, 0.90000000000000013, 0.0 },
5840 const double toler116 = 2.5000000000000020e-13;
5842 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
5843 // max(|f - f_GSL|): 2.6645352591003757e-15 at index 18
5844 // max(|f - f_GSL| / |f_GSL|): 1.2228571846595245e-15
5845 // mean(f - f_GSL): 1.9282820954015878e-16
5846 // variance(f - f_GSL): 3.5826351554959189e-31
5847 // stddev(f - f_GSL): 5.9855118039278136e-16
5848 const testcase_hyperg<double>
5849 data117[19] =
5851 { 0.70351947549341554, 2.0000000000000000, 1.0000000000000000,
5852 4.0000000000000000, -0.90000000000000002, 0.0 },
5853 { 0.72637503722092756, 2.0000000000000000, 1.0000000000000000,
5854 4.0000000000000000, -0.80000000000000004, 0.0 },
5855 { 0.75099661564391240, 2.0000000000000000, 1.0000000000000000,
5856 4.0000000000000000, -0.69999999999999996, 0.0 },
5857 { 0.77761647796730871, 2.0000000000000000, 1.0000000000000000,
5858 4.0000000000000000, -0.59999999999999998, 0.0 },
5859 { 0.80651221621216473, 2.0000000000000000, 1.0000000000000000,
5860 4.0000000000000000, -0.50000000000000000, 0.0 },
5861 { 0.83801894346580275, 2.0000000000000000, 1.0000000000000000,
5862 4.0000000000000000, -0.39999999999999991, 0.0 },
5863 { 0.87254582050258456, 2.0000000000000000, 1.0000000000000000,
5864 4.0000000000000000, -0.29999999999999993, 0.0 },
5865 { 0.91059888544083678, 2.0000000000000000, 1.0000000000000000,
5866 4.0000000000000000, -0.19999999999999996, 0.0 },
5867 { 0.95281329145592386, 2.0000000000000000, 1.0000000000000000,
5868 4.0000000000000000, -0.099999999999999978, 0.0 },
5869 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5870 4.0000000000000000, 0.0000000000000000, 0.0 },
5871 { 1.0532154477379738, 2.0000000000000000, 1.0000000000000000,
5872 4.0000000000000000, 0.10000000000000009, 0.0 },
5873 { 1.1138692114741471, 2.0000000000000000, 1.0000000000000000,
5874 4.0000000000000000, 0.20000000000000018, 0.0 },
5875 { 1.1838976095305187, 2.0000000000000000, 1.0000000000000000,
5876 4.0000000000000000, 0.30000000000000004, 0.0 },
5877 { 1.2660586631630240, 2.0000000000000000, 1.0000000000000000,
5878 4.0000000000000000, 0.40000000000000013, 0.0 },
5879 { 1.3644676665613118, 2.0000000000000000, 1.0000000000000000,
5880 4.0000000000000000, 0.50000000000000000, 0.0 },
5881 { 1.4856585347316102, 2.0000000000000000, 1.0000000000000000,
5882 4.0000000000000000, 0.60000000000000009, 0.0 },
5883 { 1.6409590443536872, 2.0000000000000000, 1.0000000000000000,
5884 4.0000000000000000, 0.70000000000000018, 0.0 },
5885 { 1.8528798927325769, 2.0000000000000000, 1.0000000000000000,
5886 4.0000000000000000, 0.80000000000000004, 0.0 },
5887 { 2.1789423102929653, 2.0000000000000000, 1.0000000000000000,
5888 4.0000000000000000, 0.90000000000000013, 0.0 },
5890 const double toler117 = 2.5000000000000020e-13;
5892 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
5893 // max(|f - f_GSL|): 8.8817841970012523e-16 at index 18
5894 // max(|f - f_GSL| / |f_GSL|): 5.8050967180790176e-16
5895 // mean(f - f_GSL): 5.8432790769745078e-17
5896 // variance(f - f_GSL): 4.0373698660038179e-32
5897 // stddev(f - f_GSL): 2.0093207474178476e-16
5898 const testcase_hyperg<double>
5899 data118[19] =
5901 { 0.78068027379106275, 2.0000000000000000, 1.0000000000000000,
5902 6.0000000000000000, -0.90000000000000002, 0.0 },
5903 { 0.79924541976981278, 2.0000000000000000, 1.0000000000000000,
5904 6.0000000000000000, -0.80000000000000004, 0.0 },
5905 { 0.81891305585650975, 2.0000000000000000, 1.0000000000000000,
5906 6.0000000000000000, -0.69999999999999996, 0.0 },
5907 { 0.83979799626213247, 2.0000000000000000, 1.0000000000000000,
5908 6.0000000000000000, -0.59999999999999998, 0.0 },
5909 { 0.86203315303160111, 2.0000000000000000, 1.0000000000000000,
5910 6.0000000000000000, -0.50000000000000000, 0.0 },
5911 { 0.88577352485361693, 2.0000000000000000, 1.0000000000000000,
5912 6.0000000000000000, -0.39999999999999991, 0.0 },
5913 { 0.91120135738402230, 2.0000000000000000, 1.0000000000000000,
5914 6.0000000000000000, -0.29999999999999993, 0.0 },
5915 { 0.93853291956703588, 2.0000000000000000, 1.0000000000000000,
5916 6.0000000000000000, -0.19999999999999996, 0.0 },
5917 { 0.96802755388922956, 2.0000000000000000, 1.0000000000000000,
5918 6.0000000000000000, -0.099999999999999978, 0.0 },
5919 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5920 6.0000000000000000, 0.0000000000000000, 0.0 },
5921 { 1.0348375559194773, 2.0000000000000000, 1.0000000000000000,
5922 6.0000000000000000, 0.10000000000000009, 0.0 },
5923 { 1.0730246119544820, 2.0000000000000000, 1.0000000000000000,
5924 6.0000000000000000, 0.20000000000000018, 0.0 },
5925 { 1.1151788396279341, 2.0000000000000000, 1.0000000000000000,
5926 6.0000000000000000, 0.30000000000000004, 0.0 },
5927 { 1.1621066403893472, 2.0000000000000000, 1.0000000000000000,
5928 6.0000000000000000, 0.40000000000000013, 0.0 },
5929 { 1.2148922218710421, 2.0000000000000000, 1.0000000000000000,
5930 6.0000000000000000, 0.50000000000000000, 0.0 },
5931 { 1.2750496810838674, 2.0000000000000000, 1.0000000000000000,
5932 6.0000000000000000, 0.60000000000000009, 0.0 },
5933 { 1.3448048570872917, 2.0000000000000000, 1.0000000000000000,
5934 6.0000000000000000, 0.70000000000000018, 0.0 },
5935 { 1.4276833109859521, 2.0000000000000000, 1.0000000000000000,
5936 6.0000000000000000, 0.80000000000000004, 0.0 },
5937 { 1.5299976259379793, 2.0000000000000000, 1.0000000000000000,
5938 6.0000000000000000, 0.90000000000000013, 0.0 },
5940 const double toler118 = 2.5000000000000020e-13;
5942 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
5943 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
5944 // max(|f - f_GSL| / |f_GSL|): 3.4946054932156233e-16
5945 // mean(f - f_GSL): 3.5059674461847047e-17
5946 // variance(f - f_GSL): 9.8111051098089209e-33
5947 // stddev(f - f_GSL): 9.9051022760034738e-17
5948 const testcase_hyperg<double>
5949 data119[19] =
5951 { 0.82510759951857615, 2.0000000000000000, 1.0000000000000000,
5952 8.0000000000000000, -0.90000000000000002, 0.0 },
5953 { 0.84072786892782070, 2.0000000000000000, 1.0000000000000000,
5954 8.0000000000000000, -0.80000000000000004, 0.0 },
5955 { 0.85710884896562356, 2.0000000000000000, 1.0000000000000000,
5956 8.0000000000000000, -0.69999999999999996, 0.0 },
5957 { 0.87431674418118244, 2.0000000000000000, 1.0000000000000000,
5958 8.0000000000000000, -0.59999999999999998, 0.0 },
5959 { 0.89242659229726995, 2.0000000000000000, 1.0000000000000000,
5960 8.0000000000000000, -0.50000000000000000, 0.0 },
5961 { 0.91152392685930339, 2.0000000000000000, 1.0000000000000000,
5962 8.0000000000000000, -0.39999999999999991, 0.0 },
5963 { 0.93170685950993570, 2.0000000000000000, 1.0000000000000000,
5964 8.0000000000000000, -0.29999999999999993, 0.0 },
5965 { 0.95308871926790661, 2.0000000000000000, 1.0000000000000000,
5966 8.0000000000000000, -0.19999999999999996, 0.0 },
5967 { 0.97580144325325802, 2.0000000000000000, 1.0000000000000000,
5968 8.0000000000000000, -0.099999999999999978, 0.0 },
5969 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5970 8.0000000000000000, 0.0000000000000000, 0.0 },
5971 { 1.0258682619030324, 2.0000000000000000, 1.0000000000000000,
5972 8.0000000000000000, 0.10000000000000009, 0.0 },
5973 { 1.0536269616706000, 2.0000000000000000, 1.0000000000000000,
5974 8.0000000000000000, 0.20000000000000018, 0.0 },
5975 { 1.0835447330793833, 2.0000000000000000, 1.0000000000000000,
5976 8.0000000000000000, 0.30000000000000004, 0.0 },
5977 { 1.1159538758396654, 2.0000000000000000, 1.0000000000000000,
5978 8.0000000000000000, 0.40000000000000013, 0.0 },
5979 { 1.1512736659291880, 2.0000000000000000, 1.0000000000000000,
5980 8.0000000000000000, 0.50000000000000000, 0.0 },
5981 { 1.1900463690116090, 2.0000000000000000, 1.0000000000000000,
5982 8.0000000000000000, 0.60000000000000009, 0.0 },
5983 { 1.2329961591622411, 2.0000000000000000, 1.0000000000000000,
5984 8.0000000000000000, 0.70000000000000018, 0.0 },
5985 { 1.2811334345669059, 2.0000000000000000, 1.0000000000000000,
5986 8.0000000000000000, 0.80000000000000004, 0.0 },
5987 { 1.3359629014132053, 2.0000000000000000, 1.0000000000000000,
5988 8.0000000000000000, 0.90000000000000013, 0.0 },
5990 const double toler119 = 2.5000000000000020e-13;
5992 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
5993 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 7
5994 // max(|f - f_GSL| / |f_GSL|): 4.6160879869309861e-16
5995 // mean(f - f_GSL): -2.9216395384872539e-17
5996 // variance(f - f_GSL): 3.7021904791911625e-33
5997 // stddev(f - f_GSL): 6.0845628266878486e-17
5998 const testcase_hyperg<double>
5999 data120[19] =
6001 { 0.85426123653345876, 2.0000000000000000, 1.0000000000000000,
6002 10.000000000000000, -0.90000000000000002, 0.0 },
6003 { 0.86774543390930414, 2.0000000000000000, 1.0000000000000000,
6004 10.000000000000000, -0.80000000000000004, 0.0 },
6005 { 0.88178859537254239, 2.0000000000000000, 1.0000000000000000,
6006 10.000000000000000, -0.69999999999999996, 0.0 },
6007 { 0.89643269097060951, 2.0000000000000000, 1.0000000000000000,
6008 10.000000000000000, -0.59999999999999998, 0.0 },
6009 { 0.91172456687216819, 2.0000000000000000, 1.0000000000000000,
6010 10.000000000000000, -0.50000000000000000, 0.0 },
6011 { 0.92771674975966134, 2.0000000000000000, 1.0000000000000000,
6012 10.000000000000000, -0.39999999999999991, 0.0 },
6013 { 0.94446842993888669, 2.0000000000000000, 1.0000000000000000,
6014 10.000000000000000, -0.29999999999999993, 0.0 },
6015 { 0.96204667481937678, 2.0000000000000000, 1.0000000000000000,
6016 10.000000000000000, -0.19999999999999996, 0.0 },
6017 { 0.98052794339012128, 2.0000000000000000, 1.0000000000000000,
6018 10.000000000000000, -0.099999999999999978, 0.0 },
6019 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
6020 10.000000000000000, 0.0000000000000000, 0.0 },
6021 { 1.0205643671068179, 2.0000000000000000, 1.0000000000000000,
6022 10.000000000000000, 0.10000000000000009, 0.0 },
6023 { 1.0423395201078882, 2.0000000000000000, 1.0000000000000000,
6024 10.000000000000000, 0.20000000000000018, 0.0 },
6025 { 1.0654651277885334, 2.0000000000000000, 1.0000000000000000,
6026 10.000000000000000, 0.30000000000000004, 0.0 },
6027 { 1.0901078068101382, 2.0000000000000000, 1.0000000000000000,
6028 10.000000000000000, 0.40000000000000013, 0.0 },
6029 { 1.1164691415928940, 2.0000000000000000, 1.0000000000000000,
6030 10.000000000000000, 0.50000000000000000, 0.0 },
6031 { 1.1447972335326551, 2.0000000000000000, 1.0000000000000000,
6032 10.000000000000000, 0.60000000000000009, 0.0 },
6033 { 1.1754040384534163, 2.0000000000000000, 1.0000000000000000,
6034 10.000000000000000, 0.70000000000000018, 0.0 },
6035 { 1.2086928679893112, 2.0000000000000000, 1.0000000000000000,
6036 10.000000000000000, 0.80000000000000004, 0.0 },
6037 { 1.2452055640510711, 2.0000000000000000, 1.0000000000000000,
6038 10.000000000000000, 0.90000000000000013, 0.0 },
6040 const double toler120 = 2.5000000000000020e-13;
6042 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
6043 // max(|f - f_GSL|): 4.2632564145606011e-14 at index 18
6044 // max(|f - f_GSL| / |f_GSL|): 4.2632564145605916e-16
6045 // mean(f - f_GSL): 2.3636063866361887e-15
6046 // variance(f - f_GSL): 9.5093179694074762e-29
6047 // stddev(f - f_GSL): 9.7515731907254209e-15
6048 const testcase_hyperg<double>
6049 data121[19] =
6051 { 0.27700831024930750, 2.0000000000000000, 2.0000000000000000,
6052 2.0000000000000000, -0.90000000000000002, 0.0 },
6053 { 0.30864197530864196, 2.0000000000000000, 2.0000000000000000,
6054 2.0000000000000000, -0.80000000000000004, 0.0 },
6055 { 0.34602076124567477, 2.0000000000000000, 2.0000000000000000,
6056 2.0000000000000000, -0.69999999999999996, 0.0 },
6057 { 0.39062500000000000, 2.0000000000000000, 2.0000000000000000,
6058 2.0000000000000000, -0.59999999999999998, 0.0 },
6059 { 0.44444444444444442, 2.0000000000000000, 2.0000000000000000,
6060 2.0000000000000000, -0.50000000000000000, 0.0 },
6061 { 0.51020408163265318, 2.0000000000000000, 2.0000000000000000,
6062 2.0000000000000000, -0.39999999999999991, 0.0 },
6063 { 0.59171597633136108, 2.0000000000000000, 2.0000000000000000,
6064 2.0000000000000000, -0.29999999999999993, 0.0 },
6065 { 0.69444444444444442, 2.0000000000000000, 2.0000000000000000,
6066 2.0000000000000000, -0.19999999999999996, 0.0 },
6067 { 0.82644628099173545, 2.0000000000000000, 2.0000000000000000,
6068 2.0000000000000000, -0.099999999999999978, 0.0 },
6069 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
6070 2.0000000000000000, 0.0000000000000000, 0.0 },
6071 { 1.2345679012345683, 2.0000000000000000, 2.0000000000000000,
6072 2.0000000000000000, 0.10000000000000009, 0.0 },
6073 { 1.5625000000000007, 2.0000000000000000, 2.0000000000000000,
6074 2.0000000000000000, 0.20000000000000018, 0.0 },
6075 { 2.0408163265306127, 2.0000000000000000, 2.0000000000000000,
6076 2.0000000000000000, 0.30000000000000004, 0.0 },
6077 { 2.7777777777777795, 2.0000000000000000, 2.0000000000000000,
6078 2.0000000000000000, 0.40000000000000013, 0.0 },
6079 { 4.0000000000000000, 2.0000000000000000, 2.0000000000000000,
6080 2.0000000000000000, 0.50000000000000000, 0.0 },
6081 { 6.2500000000000027, 2.0000000000000000, 2.0000000000000000,
6082 2.0000000000000000, 0.60000000000000009, 0.0 },
6083 { 11.111111111111125, 2.0000000000000000, 2.0000000000000000,
6084 2.0000000000000000, 0.70000000000000018, 0.0 },
6085 { 25.000000000000007, 2.0000000000000000, 2.0000000000000000,
6086 2.0000000000000000, 0.80000000000000004, 0.0 },
6087 { 100.00000000000023, 2.0000000000000000, 2.0000000000000000,
6088 2.0000000000000000, 0.90000000000000013, 0.0 },
6090 const double toler121 = 2.5000000000000020e-13;
6092 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
6093 // max(|f - f_GSL|): 7.9936057773011271e-15 at index 18
6094 // max(|f - f_GSL| / |f_GSL|): 1.3252801810681345e-15
6095 // mean(f - f_GSL): 6.3107414031324687e-16
6096 // variance(f - f_GSL): 3.1787980555780903e-30
6097 // stddev(f - f_GSL): 1.7829184096806254e-15
6098 const testcase_hyperg<double>
6099 data122[19] =
6101 { 0.50515448477320835, 2.0000000000000000, 2.0000000000000000,
6102 4.0000000000000000, -0.90000000000000002, 0.0 },
6103 { 0.53674994210078020, 2.0000000000000000, 2.0000000000000000,
6104 4.0000000000000000, -0.80000000000000004, 0.0 },
6105 { 0.57194655162437413, 2.0000000000000000, 2.0000000000000000,
6106 4.0000000000000000, -0.69999999999999996, 0.0 },
6107 { 0.61137322330312327, 2.0000000000000000, 2.0000000000000000,
6108 4.0000000000000000, -0.59999999999999998, 0.0 },
6109 { 0.65581297297972585, 2.0000000000000000, 2.0000000000000000,
6110 4.0000000000000000, -0.50000000000000000, 0.0 },
6111 { 0.70625323977290955, 2.0000000000000000, 2.0000000000000000,
6112 4.0000000000000000, -0.39999999999999991, 0.0 },
6113 { 0.76395739449542666, 2.0000000000000000, 2.0000000000000000,
6114 4.0000000000000000, -0.29999999999999993, 0.0 },
6115 { 0.83056871002513311, 2.0000000000000000, 2.0000000000000000,
6116 4.0000000000000000, -0.19999999999999996, 0.0 },
6117 { 0.90826553449323655, 2.0000000000000000, 2.0000000000000000,
6118 4.0000000000000000, -0.099999999999999978, 0.0 },
6119 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
6120 4.0000000000000000, 0.0000000000000000, 0.0 },
6121 { 1.1098784992198341, 2.0000000000000000, 2.0000000000000000,
6122 4.0000000000000000, 0.10000000000000009, 0.0 },
6123 { 1.2437942741831702, 2.0000000000000000, 2.0000000000000000,
6124 4.0000000000000000, 0.20000000000000018, 0.0 },
6125 { 1.4105343768544543, 2.0000000000000000, 2.0000000000000000,
6126 4.0000000000000000, 0.30000000000000004, 0.0 },
6127 { 1.6238435648986023, 2.0000000000000000, 2.0000000000000000,
6128 4.0000000000000000, 0.40000000000000013, 0.0 },
6129 { 1.9065970003160624, 2.0000000000000000, 2.0000000000000000,
6130 4.0000000000000000, 0.50000000000000000, 0.0 },
6131 { 2.3001951284393627, 2.0000000000000000, 2.0000000000000000,
6132 4.0000000000000000, 0.60000000000000009, 0.0 },
6133 { 2.8891774744673469, 2.0000000000000000, 2.0000000000000000,
6134 4.0000000000000000, 0.70000000000000018, 0.0 },
6135 { 3.8827206436045336, 2.0000000000000000, 2.0000000000000000,
6136 4.0000000000000000, 0.80000000000000004, 0.0 },
6137 { 6.0316345867773640, 2.0000000000000000, 2.0000000000000000,
6138 4.0000000000000000, 0.90000000000000013, 0.0 },
6140 const double toler122 = 2.5000000000000020e-13;
6142 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
6143 // max(|f - f_GSL|): 3.1086244689504383e-15 at index 18
6144 // max(|f - f_GSL| / |f_GSL|): 1.2095468681839713e-15
6145 // mean(f - f_GSL): 2.5126100030990384e-16
6146 // variance(f - f_GSL): 4.7878393162502431e-31
6147 // stddev(f - f_GSL): 6.9194214470938558e-16
6148 const testcase_hyperg<double>
6149 data123[19] =
6151 { 0.61824560969673270, 2.0000000000000000, 2.0000000000000000,
6152 6.0000000000000000, -0.90000000000000002, 0.0 },
6153 { 0.64645665839161026, 2.0000000000000000, 2.0000000000000000,
6154 6.0000000000000000, -0.80000000000000004, 0.0 },
6155 { 0.67712272792612116, 2.0000000000000000, 2.0000000000000000,
6156 6.0000000000000000, -0.69999999999999996, 0.0 },
6157 { 0.71058076074636822, 2.0000000000000000, 2.0000000000000000,
6158 6.0000000000000000, -0.59999999999999998, 0.0 },
6159 { 0.74723387423852838, 2.0000000000000000, 2.0000000000000000,
6160 6.0000000000000000, -0.50000000000000000, 0.0 },
6161 { 0.78756892188863170, 2.0000000000000000, 2.0000000000000000,
6162 6.0000000000000000, -0.39999999999999991, 0.0 },
6163 { 0.83218012557592669, 2.0000000000000000, 2.0000000000000000,
6164 6.0000000000000000, -0.29999999999999993, 0.0 },
6165 { 0.88180144818204143, 2.0000000000000000, 2.0000000000000000,
6166 6.0000000000000000, -0.19999999999999996, 0.0 },
6167 { 0.93735184459468934, 2.0000000000000000, 2.0000000000000000,
6168 6.0000000000000000, -0.099999999999999978, 0.0 },
6169 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
6170 6.0000000000000000, 0.0000000000000000, 0.0 },
6171 { 1.0712594799044883, 2.0000000000000000, 2.0000000000000000,
6172 6.0000000000000000, 0.10000000000000009, 0.0 },
6173 { 1.1531330932162098, 2.0000000000000000, 2.0000000000000000,
6174 6.0000000000000000, 0.20000000000000018, 0.0 },
6175 { 1.2483404191094898, 2.0000000000000000, 2.0000000000000000,
6176 6.0000000000000000, 0.30000000000000004, 0.0 },
6177 { 1.3606934909972506, 2.0000000000000000, 2.0000000000000000,
6178 6.0000000000000000, 0.40000000000000013, 0.0 },
6179 { 1.4957544469027071, 2.0000000000000000, 2.0000000000000000,
6180 6.0000000000000000, 0.50000000000000000, 0.0 },
6181 { 1.6620777107871287, 2.0000000000000000, 2.0000000000000000,
6182 6.0000000000000000, 0.60000000000000009, 0.0 },
6183 { 1.8738132387064512, 2.0000000000000000, 2.0000000000000000,
6184 6.0000000000000000, 0.70000000000000018, 0.0 },
6185 { 2.1570670242247409, 2.0000000000000000, 2.0000000000000000,
6186 6.0000000000000000, 0.80000000000000004, 0.0 },
6187 { 2.5700735959225507, 2.0000000000000000, 2.0000000000000000,
6188 6.0000000000000000, 0.90000000000000013, 0.0 },
6190 const double toler123 = 2.5000000000000020e-13;
6192 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
6193 // max(|f - f_GSL|): 1.3322676295501878e-15 at index 18
6194 // max(|f - f_GSL| / |f_GSL|): 7.1401110547148366e-16
6195 // mean(f - f_GSL): 1.0517902338554114e-16
6196 // variance(f - f_GSL): 8.8299945988280290e-32
6197 // stddev(f - f_GSL): 2.9715306828010425e-16
6198 const testcase_hyperg<double>
6199 data124[19] =
6201 { 0.68776713859043437, 2.0000000000000000, 2.0000000000000000,
6202 8.0000000000000000, -0.90000000000000002, 0.0 },
6203 { 0.71280582849489893, 2.0000000000000000, 2.0000000000000000,
6204 8.0000000000000000, -0.80000000000000004, 0.0 },
6205 { 0.73962983054724896, 2.0000000000000000, 2.0000000000000000,
6206 8.0000000000000000, -0.69999999999999996, 0.0 },
6207 { 0.76844343025262063, 2.0000000000000000, 2.0000000000000000,
6208 8.0000000000000000, -0.59999999999999998, 0.0 },
6209 { 0.79948476671182900, 2.0000000000000000, 2.0000000000000000,
6210 8.0000000000000000, -0.50000000000000000, 0.0 },
6211 { 0.83303347721461252, 2.0000000000000000, 2.0000000000000000,
6212 8.0000000000000000, -0.39999999999999991, 0.0 },
6213 { 0.86942060391338805, 2.0000000000000000, 2.0000000000000000,
6214 8.0000000000000000, -0.29999999999999993, 0.0 },
6215 { 0.90904161711581655, 2.0000000000000000, 2.0000000000000000,
6216 8.0000000000000000, -0.19999999999999996, 0.0 },
6217 { 0.95237381468647742, 2.0000000000000000, 2.0000000000000000,
6218 8.0000000000000000, -0.099999999999999978, 0.0 },
6219 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
6220 8.0000000000000000, 0.0000000000000000, 0.0 },
6221 { 1.0526413941912305, 2.0000000000000000, 2.0000000000000000,
6222 8.0000000000000000, 0.10000000000000009, 0.0 },
6223 { 1.1112045278881502, 2.0000000000000000, 2.0000000000000000,
6224 8.0000000000000000, 0.20000000000000018, 0.0 },
6225 { 1.1768500306393046, 2.0000000000000000, 2.0000000000000000,
6226 8.0000000000000000, 0.30000000000000004, 0.0 },
6227 { 1.2510971588297890, 2.0000000000000000, 2.0000000000000000,
6228 8.0000000000000000, 0.40000000000000013, 0.0 },
6229 { 1.3359896747789315, 2.0000000000000000, 2.0000000000000000,
6230 8.0000000000000000, 0.50000000000000000, 0.0 },
6231 { 1.4343740183432725, 2.0000000000000000, 2.0000000000000000,
6232 8.0000000000000000, 0.60000000000000009, 0.0 },
6233 { 1.5504011881337365, 2.0000000000000000, 2.0000000000000000,
6234 8.0000000000000000, 0.70000000000000018, 0.0 },
6235 { 1.6905307012604318, 2.0000000000000000, 2.0000000000000000,
6236 8.0000000000000000, 0.80000000000000004, 0.0 },
6237 { 1.8658920279264428, 2.0000000000000000, 2.0000000000000000,
6238 8.0000000000000000, 0.90000000000000013, 0.0 },
6240 const double toler124 = 2.5000000000000020e-13;
6242 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
6243 // max(|f - f_GSL|): 6.6613381477509392e-16 at index 18
6244 // max(|f - f_GSL| / |f_GSL|): 4.1884541027166499e-16
6245 // mean(f - f_GSL): 5.8432790769745078e-17
6246 // variance(f - f_GSL): 2.1656512830141486e-32
6247 // stddev(f - f_GSL): 1.4716151952919448e-16
6248 const testcase_hyperg<double>
6249 data125[19] =
6251 { 0.73530262886958797, 2.0000000000000000, 2.0000000000000000,
6252 10.000000000000000, -0.90000000000000002, 0.0 },
6253 { 0.75768898977673649, 2.0000000000000000, 2.0000000000000000,
6254 10.000000000000000, -0.80000000000000004, 0.0 },
6255 { 0.78143483544640080, 2.0000000000000000, 2.0000000000000000,
6256 10.000000000000000, -0.69999999999999996, 0.0 },
6257 { 0.80667428603297209, 2.0000000000000000, 2.0000000000000000,
6258 10.000000000000000, -0.59999999999999998, 0.0 },
6259 { 0.83356078772438313, 2.0000000000000000, 2.0000000000000000,
6260 10.000000000000000, -0.50000000000000000, 0.0 },
6261 { 0.86227093001346156, 2.0000000000000000, 2.0000000000000000,
6262 10.000000000000000, -0.39999999999999991, 0.0 },
6263 { 0.89300925500556971, 2.0000000000000000, 2.0000000000000000,
6264 10.000000000000000, -0.29999999999999993, 0.0 },
6265 { 0.92601438873425990, 2.0000000000000000, 2.0000000000000000,
6266 10.000000000000000, -0.19999999999999996, 0.0 },
6267 { 0.96156696230910810, 2.0000000000000000, 2.0000000000000000,
6268 10.000000000000000, -0.099999999999999978, 0.0 },
6269 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
6270 10.000000000000000, 0.0000000000000000, 0.0 },
6271 { 1.0417127776179342, 2.0000000000000000, 2.0000000000000000,
6272 10.000000000000000, 0.10000000000000009, 0.0 },
6273 { 1.0871896789480930, 2.0000000000000000, 2.0000000000000000,
6274 10.000000000000000, 0.20000000000000018, 0.0 },
6275 { 1.1370264514689949, 2.0000000000000000, 2.0000000000000000,
6276 10.000000000000000, 0.30000000000000004, 0.0 },
6277 { 1.1919677804049158, 2.0000000000000000, 2.0000000000000000,
6278 10.000000000000000, 0.40000000000000013, 0.0 },
6279 { 1.2529628761065934, 2.0000000000000000, 2.0000000000000000,
6280 10.000000000000000, 0.50000000000000000, 0.0 },
6281 { 1.3212511796458866, 2.0000000000000000, 2.0000000000000000,
6282 10.000000000000000, 0.60000000000000009, 0.0 },
6283 { 1.3985017309668506, 2.0000000000000000, 2.0000000000000000,
6284 10.000000000000000, 0.70000000000000018, 0.0 },
6285 { 1.4870567523847895, 2.0000000000000000, 2.0000000000000000,
6286 10.000000000000000, 0.80000000000000004, 0.0 },
6287 { 1.5904049523738044, 2.0000000000000000, 2.0000000000000000,
6288 10.000000000000000, 0.90000000000000013, 0.0 },
6290 const double toler125 = 2.5000000000000020e-13;
6292 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
6293 // max(|f - f_GSL|): 1.0186340659856796e-10 at index 18
6294 // max(|f - f_GSL| / |f_GSL|): 1.1641532182693482e-15
6295 // mean(f - f_GSL): 5.5487040400966458e-12
6296 // variance(f - f_GSL): 5.4399356990620132e-22
6297 // stddev(f - f_GSL): 2.3323669734975269e-11
6298 const testcase_hyperg<double>
6299 data126[19] =
6301 { 0.040386107340619273, 2.0000000000000000, 5.0000000000000000,
6302 2.0000000000000000, -0.90000000000000002, 0.0 },
6303 { 0.052922149401344633, 2.0000000000000000, 5.0000000000000000,
6304 2.0000000000000000, -0.80000000000000004, 0.0 },
6305 { 0.070429627772374270, 2.0000000000000000, 5.0000000000000000,
6306 2.0000000000000000, -0.69999999999999996, 0.0 },
6307 { 0.095367431640624986, 2.0000000000000000, 5.0000000000000000,
6308 2.0000000000000000, -0.59999999999999998, 0.0 },
6309 { 0.13168724279835389, 2.0000000000000000, 5.0000000000000000,
6310 2.0000000000000000, -0.50000000000000000, 0.0 },
6311 { 0.18593443208187072, 2.0000000000000000, 5.0000000000000000,
6312 2.0000000000000000, -0.39999999999999991, 0.0 },
6313 { 0.26932907434290460, 2.0000000000000000, 5.0000000000000000,
6314 2.0000000000000000, -0.29999999999999993, 0.0 },
6315 { 0.40187757201646102, 2.0000000000000000, 5.0000000000000000,
6316 2.0000000000000000, -0.19999999999999996, 0.0 },
6317 { 0.62092132305915493, 2.0000000000000000, 5.0000000000000000,
6318 2.0000000000000000, -0.099999999999999978, 0.0 },
6319 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6320 2.0000000000000000, 0.0000000000000000, 0.0 },
6321 { 1.6935087808430296, 2.0000000000000000, 5.0000000000000000,
6322 2.0000000000000000, 0.10000000000000009, 0.0 },
6323 { 3.0517578125000036, 2.0000000000000000, 5.0000000000000000,
6324 2.0000000000000000, 0.20000000000000018, 0.0 },
6325 { 5.9499018266198629, 2.0000000000000000, 5.0000000000000000,
6326 2.0000000000000000, 0.30000000000000004, 0.0 },
6327 { 12.860082304526767, 2.0000000000000000, 5.0000000000000000,
6328 2.0000000000000000, 0.40000000000000013, 0.0 },
6329 { 32.000000000000000, 2.0000000000000000, 5.0000000000000000,
6330 2.0000000000000000, 0.50000000000000000, 0.0 },
6331 { 97.656250000000114, 2.0000000000000000, 5.0000000000000000,
6332 2.0000000000000000, 0.60000000000000009, 0.0 },
6333 { 411.52263374485722, 2.0000000000000000, 5.0000000000000000,
6334 2.0000000000000000, 0.70000000000000018, 0.0 },
6335 { 3124.9999999999995, 2.0000000000000000, 5.0000000000000000,
6336 2.0000000000000000, 0.80000000000000004, 0.0 },
6337 { 100000.00000000055, 2.0000000000000000, 5.0000000000000000,
6338 2.0000000000000000, 0.90000000000000013, 0.0 },
6340 const double toler126 = 2.5000000000000020e-13;
6342 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
6343 // max(|f - f_GSL|): 6.8212102632969618e-13 at index 18
6344 // max(|f - f_GSL| / |f_GSL|): 1.2402200478721734e-15
6345 // mean(f - f_GSL): 3.8828589466495609e-14
6346 // variance(f - f_GSL): 2.4267524775254640e-26
6347 // stddev(f - f_GSL): 1.5578037352392837e-13
6348 const testcase_hyperg<double>
6349 data127[19] =
6351 { 0.21140107887447138, 2.0000000000000000, 5.0000000000000000,
6352 4.0000000000000000, -0.90000000000000002, 0.0 },
6353 { 0.24005486968449927, 2.0000000000000000, 5.0000000000000000,
6354 4.0000000000000000, -0.80000000000000004, 0.0 },
6355 { 0.27478119275391810, 2.0000000000000000, 5.0000000000000000,
6356 4.0000000000000000, -0.69999999999999996, 0.0 },
6357 { 0.31738281250000006, 2.0000000000000000, 5.0000000000000000,
6358 4.0000000000000000, -0.59999999999999998, 0.0 },
6359 { 0.37037037037037024, 2.0000000000000000, 5.0000000000000000,
6360 4.0000000000000000, -0.50000000000000000, 0.0 },
6361 { 0.43731778425655982, 2.0000000000000000, 5.0000000000000000,
6362 4.0000000000000000, -0.39999999999999991, 0.0 },
6363 { 0.52344105598543467, 2.0000000000000000, 5.0000000000000000,
6364 4.0000000000000000, -0.29999999999999993, 0.0 },
6365 { 0.63657407407407429, 2.0000000000000000, 5.0000000000000000,
6366 4.0000000000000000, -0.19999999999999996, 0.0 },
6367 { 0.78888054094665638, 2.0000000000000000, 5.0000000000000000,
6368 4.0000000000000000, -0.099999999999999978, 0.0 },
6369 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6370 4.0000000000000000, 0.0000000000000000, 0.0 },
6371 { 1.3031550068587108, 2.0000000000000000, 5.0000000000000000,
6372 4.0000000000000000, 0.10000000000000009, 0.0 },
6373 { 1.7578125000000011, 2.0000000000000000, 5.0000000000000000,
6374 4.0000000000000000, 0.20000000000000018, 0.0 },
6375 { 2.4781341107871717, 2.0000000000000000, 5.0000000000000000,
6376 4.0000000000000000, 0.30000000000000004, 0.0 },
6377 { 3.7037037037037073, 2.0000000000000000, 5.0000000000000000,
6378 4.0000000000000000, 0.40000000000000013, 0.0 },
6379 { 5.9999999999999982, 2.0000000000000000, 5.0000000000000000,
6380 4.0000000000000000, 0.50000000000000000, 0.0 },
6381 { 10.937500000000005, 2.0000000000000000, 5.0000000000000000,
6382 4.0000000000000000, 0.60000000000000009, 0.0 },
6383 { 24.074074074074115, 2.0000000000000000, 5.0000000000000000,
6384 4.0000000000000000, 0.70000000000000018, 0.0 },
6385 { 74.999999999999957, 2.0000000000000000, 5.0000000000000000,
6386 4.0000000000000000, 0.80000000000000004, 0.0 },
6387 { 550.00000000000068, 2.0000000000000000, 5.0000000000000000,
6388 4.0000000000000000, 0.90000000000000013, 0.0 },
6390 const double toler127 = 2.5000000000000020e-13;
6392 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
6393 // max(|f - f_GSL|): 4.9737991503207013e-14 at index 18
6394 // max(|f - f_GSL| / |f_GSL|): 1.6580642616864621e-15
6395 // mean(f - f_GSL): 3.1670572597201835e-15
6396 // variance(f - f_GSL): 1.2718576052442072e-28
6397 // stddev(f - f_GSL): 1.1277666448535384e-14
6398 const testcase_hyperg<double>
6399 data128[19] =
6401 { 0.33250915203252129, 2.0000000000000000, 5.0000000000000000,
6402 6.0000000000000000, -0.90000000000000002, 0.0 },
6403 { 0.36566851047721943, 2.0000000000000000, 5.0000000000000000,
6404 6.0000000000000000, -0.80000000000000004, 0.0 },
6405 { 0.40414812182437959, 2.0000000000000000, 5.0000000000000000,
6406 6.0000000000000000, -0.69999999999999996, 0.0 },
6407 { 0.44916943268118498, 2.0000000000000000, 5.0000000000000000,
6408 6.0000000000000000, -0.59999999999999998, 0.0 },
6409 { 0.50233081077479547, 2.0000000000000000, 5.0000000000000000,
6410 6.0000000000000000, -0.50000000000000000, 0.0 },
6411 { 0.56575808728873322, 2.0000000000000000, 5.0000000000000000,
6412 6.0000000000000000, -0.39999999999999991, 0.0 },
6413 { 0.64233106844971455, 2.0000000000000000, 5.0000000000000000,
6414 6.0000000000000000, -0.29999999999999993, 0.0 },
6415 { 0.73603371116919514, 2.0000000000000000, 5.0000000000000000,
6416 6.0000000000000000, -0.19999999999999996, 0.0 },
6417 { 0.85251256240112439, 2.0000000000000000, 5.0000000000000000,
6418 6.0000000000000000, -0.099999999999999978, 0.0 },
6419 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6420 6.0000000000000000, 0.0000000000000000, 0.0 },
6421 { 1.1909065696197674, 2.0000000000000000, 5.0000000000000000,
6422 6.0000000000000000, 0.10000000000000009, 0.0 },
6423 { 1.4447095285569318, 2.0000000000000000, 5.0000000000000000,
6424 6.0000000000000000, 0.20000000000000018, 0.0 },
6425 { 1.7935243137840653, 2.0000000000000000, 5.0000000000000000,
6426 6.0000000000000000, 0.30000000000000004, 0.0 },
6427 { 2.2937035820494467, 2.0000000000000000, 5.0000000000000000,
6428 6.0000000000000000, 0.40000000000000013, 0.0 },
6429 { 3.0524711083016687, 2.0000000000000000, 5.0000000000000000,
6430 6.0000000000000000, 0.50000000000000000, 0.0 },
6431 { 4.2976512669354259, 2.0000000000000000, 5.0000000000000000,
6432 6.0000000000000000, 0.60000000000000009, 0.0 },
6433 { 6.5977107563194739, 2.0000000000000000, 5.0000000000000000,
6434 6.0000000000000000, 0.70000000000000018, 0.0 },
6435 { 11.793747206577530, 2.0000000000000000, 5.0000000000000000,
6436 6.0000000000000000, 0.80000000000000004, 0.0 },
6437 { 29.997625937982132, 2.0000000000000000, 5.0000000000000000,
6438 6.0000000000000000, 0.90000000000000013, 0.0 },
6440 const double toler128 = 2.5000000000000020e-13;
6442 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
6443 // max(|f - f_GSL|): 1.1546319456101628e-14 at index 18
6444 // max(|f - f_GSL| / |f_GSL|): 1.4852319937858925e-15
6445 // mean(f - f_GSL): 8.5896202431525265e-16
6446 // variance(f - f_GSL): 6.6980634833963886e-30
6447 // stddev(f - f_GSL): 2.5880617232586221e-15
6448 const testcase_hyperg<double>
6449 data129[19] =
6451 { 0.42108197362250294, 2.0000000000000000, 5.0000000000000000,
6452 8.0000000000000000, -0.90000000000000002, 0.0 },
6453 { 0.45503172013983040, 2.0000000000000000, 5.0000000000000000,
6454 8.0000000000000000, -0.80000000000000004, 0.0 },
6455 { 0.49345609813624314, 2.0000000000000000, 5.0000000000000000,
6456 8.0000000000000000, -0.69999999999999996, 0.0 },
6457 { 0.53720880551221295, 2.0000000000000000, 5.0000000000000000,
6458 8.0000000000000000, -0.59999999999999998, 0.0 },
6459 { 0.58736431524847466, 2.0000000000000000, 5.0000000000000000,
6460 8.0000000000000000, -0.50000000000000000, 0.0 },
6461 { 0.64529222467897995, 2.0000000000000000, 5.0000000000000000,
6462 8.0000000000000000, -0.39999999999999991, 0.0 },
6463 { 0.71276337354393959, 2.0000000000000000, 5.0000000000000000,
6464 8.0000000000000000, -0.29999999999999993, 0.0 },
6465 { 0.79210466220795306, 2.0000000000000000, 5.0000000000000000,
6466 8.0000000000000000, -0.19999999999999996, 0.0 },
6467 { 0.88643063455510596, 2.0000000000000000, 5.0000000000000000,
6468 8.0000000000000000, -0.099999999999999978, 0.0 },
6469 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6470 8.0000000000000000, 0.0000000000000000, 0.0 },
6471 { 1.1387832139040652, 2.0000000000000000, 5.0000000000000000,
6472 8.0000000000000000, 0.10000000000000009, 0.0 },
6473 { 1.3114025920844754, 2.0000000000000000, 5.0000000000000000,
6474 8.0000000000000000, 0.20000000000000018, 0.0 },
6475 { 1.5307655016768162, 2.0000000000000000, 5.0000000000000000,
6476 8.0000000000000000, 0.30000000000000004, 0.0 },
6477 { 1.8170727950333352, 2.0000000000000000, 5.0000000000000000,
6478 8.0000000000000000, 0.40000000000000013, 0.0 },
6479 { 2.2037865486700836, 2.0000000000000000, 5.0000000000000000,
6480 8.0000000000000000, 0.50000000000000000, 0.0 },
6481 { 2.7506766056439380, 2.0000000000000000, 5.0000000000000000,
6482 8.0000000000000000, 0.60000000000000009, 0.0 },
6483 { 3.5764534935716998, 2.0000000000000000, 5.0000000000000000,
6484 8.0000000000000000, 0.70000000000000018, 0.0 },
6485 { 4.9587762302155403, 2.0000000000000000, 5.0000000000000000,
6486 8.0000000000000000, 0.80000000000000004, 0.0 },
6487 { 7.7740847924166907, 2.0000000000000000, 5.0000000000000000,
6488 8.0000000000000000, 0.90000000000000013, 0.0 },
6490 const double toler129 = 2.5000000000000020e-13;
6492 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
6493 // max(|f - f_GSL|): 4.4408920985006262e-15 at index 18
6494 // max(|f - f_GSL| / |f_GSL|): 1.0721199711322765e-15
6495 // mean(f - f_GSL): 3.5059674461847049e-16
6496 // variance(f - f_GSL): 9.8111051098089205e-31
6497 // stddev(f - f_GSL): 9.9051022760034740e-16
6498 const testcase_hyperg<double>
6499 data130[19] =
6501 { 0.48860241312958436, 2.0000000000000000, 5.0000000000000000,
6502 10.000000000000000, -0.90000000000000002, 0.0 },
6503 { 0.52193382517068487, 2.0000000000000000, 5.0000000000000000,
6504 10.000000000000000, -0.80000000000000004, 0.0 },
6505 { 0.55902375003954219, 2.0000000000000000, 5.0000000000000000,
6506 10.000000000000000, -0.69999999999999996, 0.0 },
6507 { 0.60049055150230324, 2.0000000000000000, 5.0000000000000000,
6508 10.000000000000000, -0.59999999999999998, 0.0 },
6509 { 0.64709127927203469, 2.0000000000000000, 5.0000000000000000,
6510 10.000000000000000, -0.50000000000000000, 0.0 },
6511 { 0.69976233335368998, 2.0000000000000000, 5.0000000000000000,
6512 10.000000000000000, -0.39999999999999991, 0.0 },
6513 { 0.75967529501080988, 2.0000000000000000, 5.0000000000000000,
6514 10.000000000000000, -0.29999999999999993, 0.0 },
6515 { 0.82831498895254407, 2.0000000000000000, 5.0000000000000000,
6516 10.000000000000000, -0.19999999999999996, 0.0 },
6517 { 0.90759090169653933, 2.0000000000000000, 5.0000000000000000,
6518 10.000000000000000, -0.099999999999999978, 0.0 },
6519 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6520 10.000000000000000, 0.0000000000000000, 0.0 },
6521 { 1.1088712278667465, 2.0000000000000000, 5.0000000000000000,
6522 10.000000000000000, 0.10000000000000009, 0.0 },
6523 { 1.2387445478440855, 2.0000000000000000, 5.0000000000000000,
6524 10.000000000000000, 0.20000000000000018, 0.0 },
6525 { 1.3959812720437546, 2.0000000000000000, 5.0000000000000000,
6526 10.000000000000000, 0.30000000000000004, 0.0 },
6527 { 1.5897930661091169, 2.0000000000000000, 5.0000000000000000,
6528 10.000000000000000, 0.40000000000000013, 0.0 },
6529 { 1.8340789380307454, 2.0000000000000000, 5.0000000000000000,
6530 10.000000000000000, 0.50000000000000000, 0.0 },
6531 { 2.1509548085970764, 2.0000000000000000, 5.0000000000000000,
6532 10.000000000000000, 0.60000000000000009, 0.0 },
6533 { 2.5782406951207526, 2.0000000000000000, 5.0000000000000000,
6534 10.000000000000000, 0.70000000000000018, 0.0 },
6535 { 3.1877847194242737, 2.0000000000000000, 5.0000000000000000,
6536 10.000000000000000, 0.80000000000000004, 0.0 },
6537 { 4.1421596631676918, 2.0000000000000000, 5.0000000000000000,
6538 10.000000000000000, 0.90000000000000013, 0.0 },
6540 const double toler130 = 2.5000000000000020e-13;
6542 // Test data for a=2.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
6543 // max(|f - f_GSL|): 2.2888183593750000e-05 at index 18
6544 // max(|f - f_GSL| / |f_GSL|): 2.4795532226562509e-15
6545 // mean(f - f_GSL): 1.2059140510950354e-06
6546 // variance(f - f_GSL): 2.7568813079896666e-11
6547 // stddev(f - f_GSL): 5.2506012112801583e-06
6548 const testcase_hyperg<double>
6549 data131[19] =
6551 { 0.0016310376661280216, 2.0000000000000000, 10.000000000000000,
6552 2.0000000000000000, -0.90000000000000002, 0.0 },
6553 { 0.0028007538972582421, 2.0000000000000000, 10.000000000000000,
6554 2.0000000000000000, -0.80000000000000004, 0.0 },
6555 { 0.0049603324681551939, 2.0000000000000000, 10.000000000000000,
6556 2.0000000000000000, -0.69999999999999996, 0.0 },
6557 { 0.0090949470177292789, 2.0000000000000000, 10.000000000000000,
6558 2.0000000000000000, -0.59999999999999998, 0.0 },
6559 { 0.017341529915832606, 2.0000000000000000, 10.000000000000000,
6560 2.0000000000000000, -0.50000000000000000, 0.0 },
6561 { 0.034571613033607791, 2.0000000000000000, 10.000000000000000,
6562 2.0000000000000000, -0.39999999999999991, 0.0 },
6563 { 0.072538150286405839, 2.0000000000000000, 10.000000000000000,
6564 2.0000000000000000, -0.29999999999999993, 0.0 },
6565 { 0.16150558288984579, 2.0000000000000000, 10.000000000000000,
6566 2.0000000000000000, -0.19999999999999996, 0.0 },
6567 { 0.38554328942953142, 2.0000000000000000, 10.000000000000000,
6568 2.0000000000000000, -0.099999999999999978, 0.0 },
6569 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6570 2.0000000000000000, 0.0000000000000000, 0.0 },
6571 { 2.8679719907924444, 2.0000000000000000, 10.000000000000000,
6572 2.0000000000000000, 0.10000000000000009, 0.0 },
6573 { 9.3132257461548065, 2.0000000000000000, 10.000000000000000,
6574 2.0000000000000000, 0.20000000000000018, 0.0 },
6575 { 35.401331746414378, 2.0000000000000000, 10.000000000000000,
6576 2.0000000000000000, 0.30000000000000004, 0.0 },
6577 { 165.38171687920246, 2.0000000000000000, 10.000000000000000,
6578 2.0000000000000000, 0.40000000000000013, 0.0 },
6579 { 1024.0000000000000, 2.0000000000000000, 10.000000000000000,
6580 2.0000000000000000, 0.50000000000000000, 0.0 },
6581 { 9536.7431640625218, 2.0000000000000000, 10.000000000000000,
6582 2.0000000000000000, 0.60000000000000009, 0.0 },
6583 { 169350.87808430390, 2.0000000000000000, 10.000000000000000,
6584 2.0000000000000000, 0.70000000000000018, 0.0 },
6585 { 9765624.9999999963, 2.0000000000000000, 10.000000000000000,
6586 2.0000000000000000, 0.80000000000000004, 0.0 },
6587 { 10000000000.000111, 2.0000000000000000, 10.000000000000000,
6588 2.0000000000000000, 0.90000000000000013, 0.0 },
6590 const double toler131 = 2.5000000000000020e-13;
6592 // Test data for a=2.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
6593 // max(|f - f_GSL|): 1.4901161193847656e-08 at index 18
6594 // max(|f - f_GSL| / |f_GSL|): 1.4958811384436608e-15
6595 // mean(f - f_GSL): 7.8582773037277017e-10
6596 // variance(f - f_GSL): 1.1683981904064149e-17
6597 // stddev(f - f_GSL): 3.4181840067591665e-09
6598 const testcase_hyperg<double>
6599 data132[19] =
6601 { 0.071191280690193537, 2.0000000000000000, 10.000000000000000,
6602 4.0000000000000000, -0.90000000000000002, 0.0 },
6603 { 0.085646504654238384, 2.0000000000000000, 10.000000000000000,
6604 4.0000000000000000, -0.80000000000000004, 0.0 },
6605 { 0.10478215656371109, 2.0000000000000000, 10.000000000000000,
6606 4.0000000000000000, -0.69999999999999996, 0.0 },
6607 { 0.13074816337653578, 2.0000000000000000, 10.000000000000000,
6608 4.0000000000000000, -0.59999999999999998, 0.0 },
6609 { 0.16701141666848118, 2.0000000000000000, 10.000000000000000,
6610 4.0000000000000000, -0.50000000000000000, 0.0 },
6611 { 0.21939323375313963, 2.0000000000000000, 10.000000000000000,
6612 4.0000000000000000, -0.39999999999999991, 0.0 },
6613 { 0.29813515331786639, 2.0000000000000000, 10.000000000000000,
6614 4.0000000000000000, -0.29999999999999993, 0.0 },
6615 { 0.42225974638874397, 2.0000000000000000, 10.000000000000000,
6616 4.0000000000000000, -0.19999999999999996, 0.0 },
6617 { 0.62942145962174878, 2.0000000000000000, 10.000000000000000,
6618 4.0000000000000000, -0.099999999999999978, 0.0 },
6619 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6620 4.0000000000000000, 0.0000000000000000, 0.0 },
6621 { 1.7218685262373197, 2.0000000000000000, 10.000000000000000,
6622 4.0000000000000000, 0.10000000000000009, 0.0 },
6623 { 3.2855760483514738, 2.0000000000000000, 10.000000000000000,
6624 4.0000000000000000, 0.20000000000000018, 0.0 },
6625 { 7.1616652508907093, 2.0000000000000000, 10.000000000000000,
6626 4.0000000000000000, 0.30000000000000004, 0.0 },
6627 { 18.612326808485950, 2.0000000000000000, 10.000000000000000,
6628 4.0000000000000000, 0.40000000000000013, 0.0 },
6629 { 61.476190476190474, 2.0000000000000000, 10.000000000000000,
6630 4.0000000000000000, 0.50000000000000000, 0.0 },
6631 { 286.27580915178623, 2.0000000000000000, 10.000000000000000,
6632 4.0000000000000000, 0.60000000000000009, 0.0 },
6633 { 2274.9441142102414, 2.0000000000000000, 10.000000000000000,
6634 4.0000000000000000, 0.70000000000000018, 0.0 },
6635 { 47229.761904761865, 2.0000000000000000, 10.000000000000000,
6636 4.0000000000000000, 0.80000000000000004, 0.0 },
6637 { 9961460.7142858077, 2.0000000000000000, 10.000000000000000,
6638 4.0000000000000000, 0.90000000000000013, 0.0 },
6640 const double toler132 = 2.5000000000000020e-13;
6642 // Test data for a=2.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
6643 // max(|f - f_GSL|): 8.7311491370201111e-11 at index 18
6644 // max(|f - f_GSL| / |f_GSL|): 1.5843951771650161e-15
6645 // mean(f - f_GSL): 4.6467391338242840e-12
6646 // variance(f - f_GSL): 4.0072766661644994e-22
6647 // stddev(f - f_GSL): 2.0018183399510804e-11
6648 const testcase_hyperg<double>
6649 data133[19] =
6651 { 0.14747230019381058, 2.0000000000000000, 10.000000000000000,
6652 6.0000000000000000, -0.90000000000000002, 0.0 },
6653 { 0.17073600100690609, 2.0000000000000000, 10.000000000000000,
6654 6.0000000000000000, -0.80000000000000004, 0.0 },
6655 { 0.19982795745135354, 2.0000000000000000, 10.000000000000000,
6656 6.0000000000000000, -0.69999999999999996, 0.0 },
6657 { 0.23681776864188053, 2.0000000000000000, 10.000000000000000,
6658 6.0000000000000000, -0.59999999999999998, 0.0 },
6659 { 0.28475624360398011, 2.0000000000000000, 10.000000000000000,
6660 6.0000000000000000, -0.50000000000000000, 0.0 },
6661 { 0.34827500743063161, 2.0000000000000000, 10.000000000000000,
6662 6.0000000000000000, -0.39999999999999991, 0.0 },
6663 { 0.43464829159684687, 2.0000000000000000, 10.000000000000000,
6664 6.0000000000000000, -0.29999999999999993, 0.0 },
6665 { 0.55576053438064787, 2.0000000000000000, 10.000000000000000,
6666 6.0000000000000000, -0.19999999999999996, 0.0 },
6667 { 0.73195020913445530, 2.0000000000000000, 10.000000000000000,
6668 6.0000000000000000, -0.099999999999999978, 0.0 },
6669 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6670 6.0000000000000000, 0.0000000000000000, 0.0 },
6671 { 1.4310223867822929, 2.0000000000000000, 10.000000000000000,
6672 6.0000000000000000, 0.10000000000000009, 0.0 },
6673 { 2.1742563399057566, 2.0000000000000000, 10.000000000000000,
6674 6.0000000000000000, 0.20000000000000018, 0.0 },
6675 { 3.5769231236256043, 2.0000000000000000, 10.000000000000000,
6676 6.0000000000000000, 0.30000000000000004, 0.0 },
6677 { 6.5620441134844469, 2.0000000000000000, 10.000000000000000,
6678 6.0000000000000000, 0.40000000000000013, 0.0 },
6679 { 14.063492063492063, 2.0000000000000000, 10.000000000000000,
6680 6.0000000000000000, 0.50000000000000000, 0.0 },
6681 { 38.085937500000036, 2.0000000000000000, 10.000000000000000,
6682 6.0000000000000000, 0.60000000000000009, 0.0 },
6683 { 150.92973632068330, 2.0000000000000000, 10.000000000000000,
6684 6.0000000000000000, 0.70000000000000018, 0.0 },
6685 { 1212.3015873015852, 2.0000000000000000, 10.000000000000000,
6686 6.0000000000000000, 0.80000000000000004, 0.0 },
6687 { 55107.142857143110, 2.0000000000000000, 10.000000000000000,
6688 6.0000000000000000, 0.90000000000000013, 0.0 },
6690 const double toler133 = 2.5000000000000020e-13;
6692 // Test data for a=2.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
6693 // max(|f - f_GSL|): 1.8189894035458565e-12 at index 18
6694 // max(|f - f_GSL| / |f_GSL|): 1.4848893090170230e-15
6695 // mean(f - f_GSL): 1.0027066896088256e-13
6696 // variance(f - f_GSL): 1.7322804840633983e-25
6697 // stddev(f - f_GSL): 4.1620673757922257e-13
6698 const testcase_hyperg<double>
6699 data134[19] =
6701 { 0.21658059714090577, 2.0000000000000000, 10.000000000000000,
6702 8.0000000000000000, -0.90000000000000002, 0.0 },
6703 { 0.24513539602702861, 2.0000000000000000, 10.000000000000000,
6704 8.0000000000000000, -0.80000000000000004, 0.0 },
6705 { 0.27967018274845046, 2.0000000000000000, 10.000000000000000,
6706 8.0000000000000000, -0.69999999999999996, 0.0 },
6707 { 0.32196044921875022, 2.0000000000000000, 10.000000000000000,
6708 8.0000000000000000, -0.59999999999999998, 0.0 },
6709 { 0.37448559670781911, 2.0000000000000000, 10.000000000000000,
6710 8.0000000000000000, -0.50000000000000000, 0.0 },
6711 { 0.44078856032208802, 2.0000000000000000, 10.000000000000000,
6712 8.0000000000000000, -0.39999999999999991, 0.0 },
6713 { 0.52606701446027793, 2.0000000000000000, 10.000000000000000,
6714 8.0000000000000000, -0.29999999999999993, 0.0 },
6715 { 0.63818158436213956, 2.0000000000000000, 10.000000000000000,
6716 8.0000000000000000, -0.19999999999999996, 0.0 },
6717 { 0.78944971882612769, 2.0000000000000000, 10.000000000000000,
6718 8.0000000000000000, -0.099999999999999978, 0.0 },
6719 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6720 8.0000000000000000, 0.0000000000000000, 0.0 },
6721 { 1.3044251384443430, 2.0000000000000000, 10.000000000000000,
6722 8.0000000000000000, 0.10000000000000009, 0.0 },
6723 { 1.7659505208333344, 2.0000000000000000, 10.000000000000000,
6724 8.0000000000000000, 0.20000000000000018, 0.0 },
6725 { 2.5093710953769270, 2.0000000000000000, 10.000000000000000,
6726 8.0000000000000000, 0.30000000000000004, 0.0 },
6727 { 3.8065843621399202, 2.0000000000000000, 10.000000000000000,
6728 8.0000000000000000, 0.40000000000000013, 0.0 },
6729 { 6.3333333333333313, 2.0000000000000000, 10.000000000000000,
6730 8.0000000000000000, 0.50000000000000000, 0.0 },
6731 { 12.109375000000004, 2.0000000000000000, 10.000000000000000,
6732 8.0000000000000000, 0.60000000000000009, 0.0 },
6733 { 29.115226337448608, 2.0000000000000000, 10.000000000000000,
6734 8.0000000000000000, 0.70000000000000018, 0.0 },
6735 { 108.33333333333330, 2.0000000000000000, 10.000000000000000,
6736 8.0000000000000000, 0.80000000000000004, 0.0 },
6737 { 1225.0000000000023, 2.0000000000000000, 10.000000000000000,
6738 8.0000000000000000, 0.90000000000000013, 0.0 },
6740 const double toler134 = 2.5000000000000020e-13;
6742 // Test data for a=2.0000000000000000, b=10.000000000000000, c=10.000000000000000.
6743 // max(|f - f_GSL|): 4.2632564145606011e-14 at index 18
6744 // max(|f - f_GSL| / |f_GSL|): 4.2632564145605916e-16
6745 // mean(f - f_GSL): 2.3636063866361887e-15
6746 // variance(f - f_GSL): 9.5093179694074762e-29
6747 // stddev(f - f_GSL): 9.7515731907254209e-15
6748 const testcase_hyperg<double>
6749 data135[19] =
6751 { 0.27700831024930750, 2.0000000000000000, 10.000000000000000,
6752 10.000000000000000, -0.90000000000000002, 0.0 },
6753 { 0.30864197530864196, 2.0000000000000000, 10.000000000000000,
6754 10.000000000000000, -0.80000000000000004, 0.0 },
6755 { 0.34602076124567477, 2.0000000000000000, 10.000000000000000,
6756 10.000000000000000, -0.69999999999999996, 0.0 },
6757 { 0.39062500000000000, 2.0000000000000000, 10.000000000000000,
6758 10.000000000000000, -0.59999999999999998, 0.0 },
6759 { 0.44444444444444442, 2.0000000000000000, 10.000000000000000,
6760 10.000000000000000, -0.50000000000000000, 0.0 },
6761 { 0.51020408163265318, 2.0000000000000000, 10.000000000000000,
6762 10.000000000000000, -0.39999999999999991, 0.0 },
6763 { 0.59171597633136108, 2.0000000000000000, 10.000000000000000,
6764 10.000000000000000, -0.29999999999999993, 0.0 },
6765 { 0.69444444444444442, 2.0000000000000000, 10.000000000000000,
6766 10.000000000000000, -0.19999999999999996, 0.0 },
6767 { 0.82644628099173545, 2.0000000000000000, 10.000000000000000,
6768 10.000000000000000, -0.099999999999999978, 0.0 },
6769 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6770 10.000000000000000, 0.0000000000000000, 0.0 },
6771 { 1.2345679012345683, 2.0000000000000000, 10.000000000000000,
6772 10.000000000000000, 0.10000000000000009, 0.0 },
6773 { 1.5625000000000007, 2.0000000000000000, 10.000000000000000,
6774 10.000000000000000, 0.20000000000000018, 0.0 },
6775 { 2.0408163265306127, 2.0000000000000000, 10.000000000000000,
6776 10.000000000000000, 0.30000000000000004, 0.0 },
6777 { 2.7777777777777795, 2.0000000000000000, 10.000000000000000,
6778 10.000000000000000, 0.40000000000000013, 0.0 },
6779 { 4.0000000000000000, 2.0000000000000000, 10.000000000000000,
6780 10.000000000000000, 0.50000000000000000, 0.0 },
6781 { 6.2500000000000027, 2.0000000000000000, 10.000000000000000,
6782 10.000000000000000, 0.60000000000000009, 0.0 },
6783 { 11.111111111111125, 2.0000000000000000, 10.000000000000000,
6784 10.000000000000000, 0.70000000000000018, 0.0 },
6785 { 25.000000000000007, 2.0000000000000000, 10.000000000000000,
6786 10.000000000000000, 0.80000000000000004, 0.0 },
6787 { 100.00000000000023, 2.0000000000000000, 10.000000000000000,
6788 10.000000000000000, 0.90000000000000013, 0.0 },
6790 const double toler135 = 2.5000000000000020e-13;
6792 // Test data for a=2.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
6793 // max(|f - f_GSL|): 475136.00000000000 at index 18
6794 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
6795 // mean(f - f_GSL): 25007.185032091642
6796 // variance(f - f_GSL): 11881799540.814577
6797 // stddev(f - f_GSL): 109003.66755671379
6798 const testcase_hyperg<double>
6799 data136[19] =
6801 { 2.6602838683283435e-06, 2.0000000000000000, 20.000000000000000,
6802 2.0000000000000000, -0.90000000000000002, 0.0 },
6803 { 7.8442223930072316e-06, 2.0000000000000000, 20.000000000000000,
6804 2.0000000000000000, -0.80000000000000004, 0.0 },
6805 { 2.4604898194634598e-05, 2.0000000000000000, 20.000000000000000,
6806 2.0000000000000000, -0.69999999999999996, 0.0 },
6807 { 8.2718061255302686e-05, 2.0000000000000000, 20.000000000000000,
6808 2.0000000000000000, -0.59999999999999998, 0.0 },
6809 { 0.00030072865982171723, 2.0000000000000000, 20.000000000000000,
6810 2.0000000000000000, -0.50000000000000000, 0.0 },
6811 { 0.0011951964277455204, 2.0000000000000000, 20.000000000000000,
6812 2.0000000000000000, -0.39999999999999991, 0.0 },
6813 { 0.0052617832469731996, 2.0000000000000000, 20.000000000000000,
6814 2.0000000000000000, -0.29999999999999993, 0.0 },
6815 { 0.026084053304588850, 2.0000000000000000, 20.000000000000000,
6816 2.0000000000000000, -0.19999999999999996, 0.0 },
6817 { 0.14864362802414346, 2.0000000000000000, 20.000000000000000,
6818 2.0000000000000000, -0.099999999999999978, 0.0 },
6819 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6820 2.0000000000000000, 0.0000000000000000, 0.0 },
6821 { 8.2252633399699757, 2.0000000000000000, 20.000000000000000,
6822 2.0000000000000000, 0.10000000000000009, 0.0 },
6823 { 86.736173798840738, 2.0000000000000000, 20.000000000000000,
6824 2.0000000000000000, 0.20000000000000018, 0.0 },
6825 { 1253.2542894196868, 2.0000000000000000, 20.000000000000000,
6826 2.0000000000000000, 0.30000000000000004, 0.0 },
6827 { 27351.112277912678, 2.0000000000000000, 20.000000000000000,
6828 2.0000000000000000, 0.40000000000000013, 0.0 },
6829 { 1048576.0000000000, 2.0000000000000000, 20.000000000000000,
6830 2.0000000000000000, 0.50000000000000000, 0.0 },
6831 { 90949470.177293226, 2.0000000000000000, 20.000000000000000,
6832 2.0000000000000000, 0.60000000000000009, 0.0 },
6833 { 28679719907.924767, 2.0000000000000000, 20.000000000000000,
6834 2.0000000000000000, 0.70000000000000018, 0.0 },
6835 { 95367431640624.906, 2.0000000000000000, 20.000000000000000,
6836 2.0000000000000000, 0.80000000000000004, 0.0 },
6837 { 1.0000000000000220e+20, 2.0000000000000000, 20.000000000000000,
6838 2.0000000000000000, 0.90000000000000013, 0.0 },
6840 const double toler136 = 5.0000000000000039e-13;
6842 // Test data for a=2.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
6843 // max(|f - f_GSL|): 40.000000000000000 at index 18
6844 // max(|f - f_GSL| / |f_GSL|): 1.8712609271522778e-15
6845 // mean(f - f_GSL): 2.1052671749403089
6846 // variance(f - f_GSL): 84.210508462254538
6847 // stddev(f - f_GSL): 9.1766283820504881
6848 const testcase_hyperg<double>
6849 data137[19] =
6851 { 0.018828092583720632, 2.0000000000000000, 20.000000000000000,
6852 4.0000000000000000, -0.90000000000000002, 0.0 },
6853 { 0.023381944060455365, 2.0000000000000000, 20.000000000000000,
6854 4.0000000000000000, -0.80000000000000004, 0.0 },
6855 { 0.029789623984280887, 2.0000000000000000, 20.000000000000000,
6856 4.0000000000000000, -0.69999999999999996, 0.0 },
6857 { 0.039191021482500567, 2.0000000000000000, 20.000000000000000,
6858 4.0000000000000000, -0.59999999999999998, 0.0 },
6859 { 0.053727813036721528, 2.0000000000000000, 20.000000000000000,
6860 4.0000000000000000, -0.50000000000000000, 0.0 },
6861 { 0.077762010061668857, 2.0000000000000000, 20.000000000000000,
6862 4.0000000000000000, -0.39999999999999991, 0.0 },
6863 { 0.12110505620123323, 2.0000000000000000, 20.000000000000000,
6864 4.0000000000000000, -0.29999999999999993, 0.0 },
6865 { 0.20870149809080582, 2.0000000000000000, 20.000000000000000,
6866 4.0000000000000000, -0.19999999999999996, 0.0 },
6867 { 0.41429234328785763, 2.0000000000000000, 20.000000000000000,
6868 4.0000000000000000, -0.099999999999999978, 0.0 },
6869 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6870 4.0000000000000000, 0.0000000000000000, 0.0 },
6871 { 3.1308087404153113, 2.0000000000000000, 20.000000000000000,
6872 4.0000000000000000, 0.10000000000000009, 0.0 },
6873 { 13.586180626453100, 2.0000000000000000, 20.000000000000000,
6874 4.0000000000000000, 0.20000000000000018, 0.0 },
6875 { 87.117304082784415, 2.0000000000000000, 20.000000000000000,
6876 4.0000000000000000, 0.30000000000000004, 0.0 },
6877 { 889.26474381243384, 2.0000000000000000, 20.000000000000000,
6878 4.0000000000000000, 0.40000000000000013, 0.0 },
6879 { 16231.913312693494, 2.0000000000000000, 20.000000000000000,
6880 4.0000000000000000, 0.50000000000000000, 0.0 },
6881 { 653537.51168945129, 2.0000000000000000, 20.000000000000000,
6882 4.0000000000000000, 0.60000000000000009, 0.0 },
6883 { 87756230.793849647, 2.0000000000000000, 20.000000000000000,
6884 4.0000000000000000, 0.70000000000000018, 0.0 },
6885 { 101493977171.74945, 2.0000000000000000, 20.000000000000000,
6886 4.0000000000000000, 0.80000000000000004, 0.0 },
6887 { 21375960679557820., 2.0000000000000000, 20.000000000000000,
6888 4.0000000000000000, 0.90000000000000013, 0.0 },
6890 const double toler137 = 2.5000000000000020e-13;
6892 // Test data for a=2.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
6893 // max(|f - f_GSL|): 0.031250000000000000 at index 18
6894 // max(|f - f_GSL| / |f_GSL|): 1.6379336164121759e-15
6895 // mean(f - f_GSL): 0.0016447556893365942
6896 // variance(f - f_GSL): 5.1397960874034849e-05
6897 // stddev(f - f_GSL): 0.0071692371193896806
6898 const testcase_hyperg<double>
6899 data138[19] =
6901 { 0.049200410661854238, 2.0000000000000000, 20.000000000000000,
6902 6.0000000000000000, -0.90000000000000002, 0.0 },
6903 { 0.059460876757152607, 2.0000000000000000, 20.000000000000000,
6904 6.0000000000000000, -0.80000000000000004, 0.0 },
6905 { 0.073244762686653225, 2.0000000000000000, 20.000000000000000,
6906 6.0000000000000000, -0.69999999999999996, 0.0 },
6907 { 0.092334626017932769, 2.0000000000000000, 20.000000000000000,
6908 6.0000000000000000, -0.59999999999999998, 0.0 },
6909 { 0.11976760350696856, 2.0000000000000000, 20.000000000000000,
6910 6.0000000000000000, -0.50000000000000000, 0.0 },
6911 { 0.16102414609169405, 2.0000000000000000, 20.000000000000000,
6912 6.0000000000000000, -0.39999999999999991, 0.0 },
6913 { 0.22670456785796236, 2.0000000000000000, 20.000000000000000,
6914 6.0000000000000000, -0.29999999999999993, 0.0 },
6915 { 0.33912903252727361, 2.0000000000000000, 20.000000000000000,
6916 6.0000000000000000, -0.19999999999999996, 0.0 },
6917 { 0.55049794600858049, 2.0000000000000000, 20.000000000000000,
6918 6.0000000000000000, -0.099999999999999978, 0.0 },
6919 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6920 6.0000000000000000, 0.0000000000000000, 0.0 },
6921 { 2.1254722872032232, 2.0000000000000000, 20.000000000000000,
6922 6.0000000000000000, 0.10000000000000009, 0.0 },
6923 { 5.6261213886736314, 2.0000000000000000, 20.000000000000000,
6924 6.0000000000000000, 0.20000000000000018, 0.0 },
6925 { 20.137315891130996, 2.0000000000000000, 20.000000000000000,
6926 6.0000000000000000, 0.30000000000000004, 0.0 },
6927 { 108.04381584643900, 2.0000000000000000, 20.000000000000000,
6928 6.0000000000000000, 0.40000000000000013, 0.0 },
6929 { 992.41692466460245, 2.0000000000000000, 20.000000000000000,
6930 6.0000000000000000, 0.50000000000000000, 0.0 },
6931 { 19055.363816004465, 2.0000000000000000, 20.000000000000000,
6932 6.0000000000000000, 0.60000000000000009, 0.0 },
6933 { 1105471.9504312191, 2.0000000000000000, 20.000000000000000,
6934 6.0000000000000000, 0.70000000000000018, 0.0 },
6935 { 448521363.90608919, 2.0000000000000000, 20.000000000000000,
6936 6.0000000000000000, 0.80000000000000004, 0.0 },
6937 { 19078917293639.652, 2.0000000000000000, 20.000000000000000,
6938 6.0000000000000000, 0.90000000000000013, 0.0 },
6940 const double toler138 = 2.5000000000000020e-13;
6942 // Test data for a=2.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
6943 // max(|f - f_GSL|): 8.3923339843750000e-05 at index 18
6944 // max(|f - f_GSL| / |f_GSL|): 1.8221514326726564e-15
6945 // mean(f - f_GSL): 4.4172143495227617e-06
6946 // variance(f - f_GSL): 3.7068906120670492e-10
6947 // stddev(f - f_GSL): 1.9253287023433297e-05
6948 const testcase_hyperg<double>
6949 data139[19] =
6951 { 0.083753547015334884, 2.0000000000000000, 20.000000000000000,
6952 8.0000000000000000, -0.90000000000000002, 0.0 },
6953 { 0.099238444687035743, 2.0000000000000000, 20.000000000000000,
6954 8.0000000000000000, -0.80000000000000004, 0.0 },
6955 { 0.11938294012867748, 2.0000000000000000, 20.000000000000000,
6956 8.0000000000000000, -0.69999999999999996, 0.0 },
6957 { 0.14622683905023329, 2.0000000000000000, 20.000000000000000,
6958 8.0000000000000000, -0.59999999999999998, 0.0 },
6959 { 0.18303556733713028, 2.0000000000000000, 20.000000000000000,
6960 8.0000000000000000, -0.50000000000000000, 0.0 },
6961 { 0.23527764069382415, 2.0000000000000000, 20.000000000000000,
6962 8.0000000000000000, -0.39999999999999991, 0.0 },
6963 { 0.31261681740827069, 2.0000000000000000, 20.000000000000000,
6964 8.0000000000000000, -0.29999999999999993, 0.0 },
6965 { 0.43327581880538862, 2.0000000000000000, 20.000000000000000,
6966 8.0000000000000000, -0.19999999999999996, 0.0 },
6967 { 0.63445840637296680, 2.0000000000000000, 20.000000000000000,
6968 8.0000000000000000, -0.099999999999999978, 0.0 },
6969 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6970 8.0000000000000000, 0.0000000000000000, 0.0 },
6971 { 1.7438842395813297, 2.0000000000000000, 20.000000000000000,
6972 8.0000000000000000, 0.10000000000000009, 0.0 },
6973 { 3.5070840938209331, 2.0000000000000000, 20.000000000000000,
6974 8.0000000000000000, 0.20000000000000018, 0.0 },
6975 { 8.6573372006089713, 2.0000000000000000, 20.000000000000000,
6976 8.0000000000000000, 0.30000000000000004, 0.0 },
6977 { 28.779342118408998, 2.0000000000000000, 20.000000000000000,
6978 8.0000000000000000, 0.40000000000000013, 0.0 },
6979 { 147.50178613955714, 2.0000000000000000, 20.000000000000000,
6980 8.0000000000000000, 0.50000000000000000, 0.0 },
6981 { 1427.1686016136398, 2.0000000000000000, 20.000000000000000,
6982 8.0000000000000000, 0.60000000000000009, 0.0 },
6983 { 36780.643714655955, 2.0000000000000000, 20.000000000000000,
6984 8.0000000000000000, 0.70000000000000018, 0.0 },
6985 { 5313869.6058585485, 2.0000000000000000, 20.000000000000000,
6986 8.0000000000000000, 0.80000000000000004, 0.0 },
6987 { 46057280607.383286, 2.0000000000000000, 20.000000000000000,
6988 8.0000000000000000, 0.90000000000000013, 0.0 },
6990 const double toler139 = 2.5000000000000020e-13;
6992 // Test data for a=2.0000000000000000, b=20.000000000000000, c=10.000000000000000.
6993 // max(|f - f_GSL|): 5.0663948059082031e-07 at index 18
6994 // max(|f - f_GSL| / |f_GSL|): 1.9925479281069681e-15
6995 // mean(f - f_GSL): 2.6669880993704522e-08
6996 // variance(f - f_GSL): 1.3509399735218820e-14
6997 // stddev(f - f_GSL): 1.1622994336752823e-07
6998 const testcase_hyperg<double>
6999 data140[19] =
7001 { 0.11920045035073676, 2.0000000000000000, 20.000000000000000,
7002 10.000000000000000, -0.90000000000000002, 0.0 },
7003 { 0.13907946814302777, 2.0000000000000000, 20.000000000000000,
7004 10.000000000000000, -0.80000000000000004, 0.0 },
7005 { 0.16431439792559696, 2.0000000000000000, 20.000000000000000,
7006 10.000000000000000, -0.69999999999999996, 0.0 },
7007 { 0.19698796016986989, 2.0000000000000000, 20.000000000000000,
7008 10.000000000000000, -0.59999999999999998, 0.0 },
7009 { 0.24028510928790547, 2.0000000000000000, 20.000000000000000,
7010 10.000000000000000, -0.50000000000000000, 0.0 },
7011 { 0.29926031296483130, 2.0000000000000000, 20.000000000000000,
7012 10.000000000000000, -0.39999999999999991, 0.0 },
7013 { 0.38229327814229175, 2.0000000000000000, 20.000000000000000,
7014 10.000000000000000, -0.29999999999999993, 0.0 },
7015 { 0.50402047283093132, 2.0000000000000000, 20.000000000000000,
7016 10.000000000000000, -0.19999999999999996, 0.0 },
7017 { 0.69167261179586526, 2.0000000000000000, 20.000000000000000,
7018 10.000000000000000, -0.099999999999999978, 0.0 },
7019 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
7020 10.000000000000000, 0.0000000000000000, 0.0 },
7021 { 1.5503152253394308, 2.0000000000000000, 20.000000000000000,
7022 10.000000000000000, 0.10000000000000009, 0.0 },
7023 { 2.6469548193635828, 2.0000000000000000, 20.000000000000000,
7024 10.000000000000000, 0.20000000000000018, 0.0 },
7025 { 5.1882631330566813, 2.0000000000000000, 20.000000000000000,
7026 10.000000000000000, 0.30000000000000004, 0.0 },
7027 { 12.476792759124546, 2.0000000000000000, 20.000000000000000,
7028 10.000000000000000, 0.40000000000000013, 0.0 },
7029 { 41.026391565091259, 2.0000000000000000, 20.000000000000000,
7030 10.000000000000000, 0.50000000000000000, 0.0 },
7031 { 220.92584715988204, 2.0000000000000000, 20.000000000000000,
7032 10.000000000000000, 0.60000000000000009, 0.0 },
7033 { 2677.0834450236389, 2.0000000000000000, 20.000000000000000,
7034 10.000000000000000, 0.70000000000000018, 0.0 },
7035 { 141774.31260689779, 2.0000000000000000, 20.000000000000000,
7036 10.000000000000000, 0.80000000000000004, 0.0 },
7037 { 254267148.83197621, 2.0000000000000000, 20.000000000000000,
7038 10.000000000000000, 0.90000000000000013, 0.0 },
7040 const double toler140 = 2.5000000000000020e-13;
7042 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
7043 // max(|f - f_GSL|): 0.0000000000000000 at index 0
7044 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
7045 // mean(f - f_GSL): 0.0000000000000000
7046 // variance(f - f_GSL): 0.0000000000000000
7047 // stddev(f - f_GSL): 0.0000000000000000
7048 const testcase_hyperg<double>
7049 data141[19] =
7051 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7052 2.0000000000000000, -0.90000000000000002, 0.0 },
7053 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7054 2.0000000000000000, -0.80000000000000004, 0.0 },
7055 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7056 2.0000000000000000, -0.69999999999999996, 0.0 },
7057 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7058 2.0000000000000000, -0.59999999999999998, 0.0 },
7059 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7060 2.0000000000000000, -0.50000000000000000, 0.0 },
7061 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7062 2.0000000000000000, -0.39999999999999991, 0.0 },
7063 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7064 2.0000000000000000, -0.29999999999999993, 0.0 },
7065 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7066 2.0000000000000000, -0.19999999999999996, 0.0 },
7067 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7068 2.0000000000000000, -0.099999999999999978, 0.0 },
7069 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7070 2.0000000000000000, 0.0000000000000000, 0.0 },
7071 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7072 2.0000000000000000, 0.10000000000000009, 0.0 },
7073 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7074 2.0000000000000000, 0.20000000000000018, 0.0 },
7075 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7076 2.0000000000000000, 0.30000000000000004, 0.0 },
7077 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7078 2.0000000000000000, 0.40000000000000013, 0.0 },
7079 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7080 2.0000000000000000, 0.50000000000000000, 0.0 },
7081 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7082 2.0000000000000000, 0.60000000000000009, 0.0 },
7083 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7084 2.0000000000000000, 0.70000000000000018, 0.0 },
7085 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7086 2.0000000000000000, 0.80000000000000004, 0.0 },
7087 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7088 2.0000000000000000, 0.90000000000000013, 0.0 },
7090 const double toler141 = 2.5000000000000020e-13;
7092 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
7093 // max(|f - f_GSL|): 0.0000000000000000 at index 0
7094 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
7095 // mean(f - f_GSL): 0.0000000000000000
7096 // variance(f - f_GSL): 0.0000000000000000
7097 // stddev(f - f_GSL): 0.0000000000000000
7098 const testcase_hyperg<double>
7099 data142[19] =
7101 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7102 4.0000000000000000, -0.90000000000000002, 0.0 },
7103 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7104 4.0000000000000000, -0.80000000000000004, 0.0 },
7105 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7106 4.0000000000000000, -0.69999999999999996, 0.0 },
7107 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7108 4.0000000000000000, -0.59999999999999998, 0.0 },
7109 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7110 4.0000000000000000, -0.50000000000000000, 0.0 },
7111 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7112 4.0000000000000000, -0.39999999999999991, 0.0 },
7113 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7114 4.0000000000000000, -0.29999999999999993, 0.0 },
7115 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7116 4.0000000000000000, -0.19999999999999996, 0.0 },
7117 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7118 4.0000000000000000, -0.099999999999999978, 0.0 },
7119 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7120 4.0000000000000000, 0.0000000000000000, 0.0 },
7121 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7122 4.0000000000000000, 0.10000000000000009, 0.0 },
7123 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7124 4.0000000000000000, 0.20000000000000018, 0.0 },
7125 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7126 4.0000000000000000, 0.30000000000000004, 0.0 },
7127 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7128 4.0000000000000000, 0.40000000000000013, 0.0 },
7129 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7130 4.0000000000000000, 0.50000000000000000, 0.0 },
7131 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7132 4.0000000000000000, 0.60000000000000009, 0.0 },
7133 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7134 4.0000000000000000, 0.70000000000000018, 0.0 },
7135 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7136 4.0000000000000000, 0.80000000000000004, 0.0 },
7137 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7138 4.0000000000000000, 0.90000000000000013, 0.0 },
7140 const double toler142 = 2.5000000000000020e-13;
7142 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
7143 // max(|f - f_GSL|): 0.0000000000000000 at index 0
7144 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
7145 // mean(f - f_GSL): 0.0000000000000000
7146 // variance(f - f_GSL): 0.0000000000000000
7147 // stddev(f - f_GSL): 0.0000000000000000
7148 const testcase_hyperg<double>
7149 data143[19] =
7151 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7152 6.0000000000000000, -0.90000000000000002, 0.0 },
7153 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7154 6.0000000000000000, -0.80000000000000004, 0.0 },
7155 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7156 6.0000000000000000, -0.69999999999999996, 0.0 },
7157 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7158 6.0000000000000000, -0.59999999999999998, 0.0 },
7159 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7160 6.0000000000000000, -0.50000000000000000, 0.0 },
7161 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7162 6.0000000000000000, -0.39999999999999991, 0.0 },
7163 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7164 6.0000000000000000, -0.29999999999999993, 0.0 },
7165 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7166 6.0000000000000000, -0.19999999999999996, 0.0 },
7167 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7168 6.0000000000000000, -0.099999999999999978, 0.0 },
7169 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7170 6.0000000000000000, 0.0000000000000000, 0.0 },
7171 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7172 6.0000000000000000, 0.10000000000000009, 0.0 },
7173 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7174 6.0000000000000000, 0.20000000000000018, 0.0 },
7175 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7176 6.0000000000000000, 0.30000000000000004, 0.0 },
7177 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7178 6.0000000000000000, 0.40000000000000013, 0.0 },
7179 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7180 6.0000000000000000, 0.50000000000000000, 0.0 },
7181 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7182 6.0000000000000000, 0.60000000000000009, 0.0 },
7183 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7184 6.0000000000000000, 0.70000000000000018, 0.0 },
7185 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7186 6.0000000000000000, 0.80000000000000004, 0.0 },
7187 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7188 6.0000000000000000, 0.90000000000000013, 0.0 },
7190 const double toler143 = 2.5000000000000020e-13;
7192 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
7193 // max(|f - f_GSL|): 0.0000000000000000 at index 0
7194 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
7195 // mean(f - f_GSL): 0.0000000000000000
7196 // variance(f - f_GSL): 0.0000000000000000
7197 // stddev(f - f_GSL): 0.0000000000000000
7198 const testcase_hyperg<double>
7199 data144[19] =
7201 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7202 8.0000000000000000, -0.90000000000000002, 0.0 },
7203 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7204 8.0000000000000000, -0.80000000000000004, 0.0 },
7205 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7206 8.0000000000000000, -0.69999999999999996, 0.0 },
7207 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7208 8.0000000000000000, -0.59999999999999998, 0.0 },
7209 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7210 8.0000000000000000, -0.50000000000000000, 0.0 },
7211 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7212 8.0000000000000000, -0.39999999999999991, 0.0 },
7213 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7214 8.0000000000000000, -0.29999999999999993, 0.0 },
7215 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7216 8.0000000000000000, -0.19999999999999996, 0.0 },
7217 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7218 8.0000000000000000, -0.099999999999999978, 0.0 },
7219 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7220 8.0000000000000000, 0.0000000000000000, 0.0 },
7221 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7222 8.0000000000000000, 0.10000000000000009, 0.0 },
7223 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7224 8.0000000000000000, 0.20000000000000018, 0.0 },
7225 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7226 8.0000000000000000, 0.30000000000000004, 0.0 },
7227 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7228 8.0000000000000000, 0.40000000000000013, 0.0 },
7229 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7230 8.0000000000000000, 0.50000000000000000, 0.0 },
7231 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7232 8.0000000000000000, 0.60000000000000009, 0.0 },
7233 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7234 8.0000000000000000, 0.70000000000000018, 0.0 },
7235 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7236 8.0000000000000000, 0.80000000000000004, 0.0 },
7237 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7238 8.0000000000000000, 0.90000000000000013, 0.0 },
7240 const double toler144 = 2.5000000000000020e-13;
7242 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
7243 // max(|f - f_GSL|): 0.0000000000000000 at index 0
7244 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
7245 // mean(f - f_GSL): 0.0000000000000000
7246 // variance(f - f_GSL): 0.0000000000000000
7247 // stddev(f - f_GSL): 0.0000000000000000
7248 const testcase_hyperg<double>
7249 data145[19] =
7251 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7252 10.000000000000000, -0.90000000000000002, 0.0 },
7253 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7254 10.000000000000000, -0.80000000000000004, 0.0 },
7255 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7256 10.000000000000000, -0.69999999999999996, 0.0 },
7257 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7258 10.000000000000000, -0.59999999999999998, 0.0 },
7259 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7260 10.000000000000000, -0.50000000000000000, 0.0 },
7261 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7262 10.000000000000000, -0.39999999999999991, 0.0 },
7263 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7264 10.000000000000000, -0.29999999999999993, 0.0 },
7265 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7266 10.000000000000000, -0.19999999999999996, 0.0 },
7267 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7268 10.000000000000000, -0.099999999999999978, 0.0 },
7269 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7270 10.000000000000000, 0.0000000000000000, 0.0 },
7271 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7272 10.000000000000000, 0.10000000000000009, 0.0 },
7273 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7274 10.000000000000000, 0.20000000000000018, 0.0 },
7275 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7276 10.000000000000000, 0.30000000000000004, 0.0 },
7277 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7278 10.000000000000000, 0.40000000000000013, 0.0 },
7279 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7280 10.000000000000000, 0.50000000000000000, 0.0 },
7281 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7282 10.000000000000000, 0.60000000000000009, 0.0 },
7283 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7284 10.000000000000000, 0.70000000000000018, 0.0 },
7285 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7286 10.000000000000000, 0.80000000000000004, 0.0 },
7287 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
7288 10.000000000000000, 0.90000000000000013, 0.0 },
7290 const double toler145 = 2.5000000000000020e-13;
7292 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
7293 // max(|f - f_GSL|): 4.5474735088646412e-13 at index 18
7294 // max(|f - f_GSL| / |f_GSL|): 1.5124797514980592e-15
7295 // mean(f - f_GSL): 2.5336458077761468e-14
7296 // variance(f - f_GSL): 1.0813211674051158e-26
7297 // stddev(f - f_GSL): 1.0398659372270619e-13
7298 const testcase_hyperg<double>
7299 data146[19] =
7301 { 0.52275983209457544, 5.0000000000000000, 0.50000000000000000,
7302 2.0000000000000000, -0.90000000000000002, 0.0 },
7303 { 0.54700336898143009, 5.0000000000000000, 0.50000000000000000,
7304 2.0000000000000000, -0.80000000000000004, 0.0 },
7305 { 0.57468955512602038, 5.0000000000000000, 0.50000000000000000,
7306 2.0000000000000000, -0.69999999999999996, 0.0 },
7307 { 0.60665490543315048, 5.0000000000000000, 0.50000000000000000,
7308 2.0000000000000000, -0.59999999999999998, 0.0 },
7309 { 0.64403057859056190, 5.0000000000000000, 0.50000000000000000,
7310 2.0000000000000000, -0.50000000000000000, 0.0 },
7311 { 0.68838183648623719, 5.0000000000000000, 0.50000000000000000,
7312 2.0000000000000000, -0.39999999999999991, 0.0 },
7313 { 0.74193265039311118, 5.0000000000000000, 0.50000000000000000,
7314 2.0000000000000000, -0.29999999999999993, 0.0 },
7315 { 0.80794095908995300, 5.0000000000000000, 0.50000000000000000,
7316 2.0000000000000000, -0.19999999999999996, 0.0 },
7317 { 0.89135275749639320, 5.0000000000000000, 0.50000000000000000,
7318 2.0000000000000000, -0.099999999999999978, 0.0 },
7319 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7320 2.0000000000000000, 0.0000000000000000, 0.0 },
7321 { 1.1469266219310688, 5.0000000000000000, 0.50000000000000000,
7322 2.0000000000000000, 0.10000000000000009, 0.0 },
7323 { 1.3552340708357493, 5.0000000000000000, 0.50000000000000000,
7324 2.0000000000000000, 0.20000000000000018, 0.0 },
7325 { 1.6690840478838305, 5.0000000000000000, 0.50000000000000000,
7326 2.0000000000000000, 0.30000000000000004, 0.0 },
7327 { 2.1815415453174500, 5.0000000000000000, 0.50000000000000000,
7328 2.0000000000000000, 0.40000000000000013, 0.0 },
7329 { 3.1156892546032235, 5.0000000000000000, 0.50000000000000000,
7330 2.0000000000000000, 0.50000000000000000, 0.0 },
7331 { 5.1109077417760416, 5.0000000000000000, 0.50000000000000000,
7332 2.0000000000000000, 0.60000000000000009, 0.0 },
7333 { 10.560352936466318, 5.0000000000000000, 0.50000000000000000,
7334 2.0000000000000000, 0.70000000000000018, 0.0 },
7335 { 33.541019662496815, 5.0000000000000000, 0.50000000000000000,
7336 2.0000000000000000, 0.80000000000000004, 0.0 },
7337 { 300.66343065819723, 5.0000000000000000, 0.50000000000000000,
7338 2.0000000000000000, 0.90000000000000013, 0.0 },
7340 const double toler146 = 2.5000000000000020e-13;
7342 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
7343 // max(|f - f_GSL|): 8.8817841970012523e-15 at index 18
7344 // max(|f - f_GSL| / |f_GSL|): 1.3217255411112292e-15
7345 // mean(f - f_GSL): 6.8950693108299193e-16
7346 // variance(f - f_GSL): 3.9356627445430313e-30
7347 // stddev(f - f_GSL): 1.9838504844224102e-15
7348 const testcase_hyperg<double>
7349 data147[19] =
7351 { 0.68252041951139286, 5.0000000000000000, 0.50000000000000000,
7352 4.0000000000000000, -0.90000000000000002, 0.0 },
7353 { 0.70394732624993395, 5.0000000000000000, 0.50000000000000000,
7354 4.0000000000000000, -0.80000000000000004, 0.0 },
7355 { 0.72748884971552052, 5.0000000000000000, 0.50000000000000000,
7356 4.0000000000000000, -0.69999999999999996, 0.0 },
7357 { 0.75351147371199667, 5.0000000000000000, 0.50000000000000000,
7358 4.0000000000000000, -0.59999999999999998, 0.0 },
7359 { 0.78247589005573737, 5.0000000000000000, 0.50000000000000000,
7360 4.0000000000000000, -0.50000000000000000, 0.0 },
7361 { 0.81497017420249795, 5.0000000000000000, 0.50000000000000000,
7362 4.0000000000000000, -0.39999999999999991, 0.0 },
7363 { 0.85175826875009608, 5.0000000000000000, 0.50000000000000000,
7364 4.0000000000000000, -0.29999999999999993, 0.0 },
7365 { 0.89385278481745867, 5.0000000000000000, 0.50000000000000000,
7366 4.0000000000000000, -0.19999999999999996, 0.0 },
7367 { 0.94262778709507411, 5.0000000000000000, 0.50000000000000000,
7368 4.0000000000000000, -0.099999999999999978, 0.0 },
7369 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7370 4.0000000000000000, 0.0000000000000000, 0.0 },
7371 { 1.0687327277420910, 5.0000000000000000, 0.50000000000000000,
7372 4.0000000000000000, 0.10000000000000009, 0.0 },
7373 { 1.1529725508983291, 5.0000000000000000, 0.50000000000000000,
7374 4.0000000000000000, 0.20000000000000018, 0.0 },
7375 { 1.2592587134058799, 5.0000000000000000, 0.50000000000000000,
7376 4.0000000000000000, 0.30000000000000004, 0.0 },
7377 { 1.3985773194637896, 5.0000000000000000, 0.50000000000000000,
7378 4.0000000000000000, 0.40000000000000013, 0.0 },
7379 { 1.5909902576697317, 5.0000000000000000, 0.50000000000000000,
7380 4.0000000000000000, 0.50000000000000000, 0.0 },
7381 { 1.8776023607249752, 5.0000000000000000, 0.50000000000000000,
7382 4.0000000000000000, 0.60000000000000009, 0.0 },
7383 { 2.3582499003694664, 5.0000000000000000, 0.50000000000000000,
7384 4.0000000000000000, 0.70000000000000018, 0.0 },
7385 { 3.3541019662496838, 5.0000000000000000, 0.50000000000000000,
7386 4.0000000000000000, 0.80000000000000004, 0.0 },
7387 { 6.7198400278578028, 5.0000000000000000, 0.50000000000000000,
7388 4.0000000000000000, 0.90000000000000013, 0.0 },
7390 const double toler147 = 2.5000000000000020e-13;
7392 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
7393 // max(|f - f_GSL|): 2.6645352591003757e-15 at index 18
7394 // max(|f - f_GSL| / |f_GSL|): 1.2228264607471081e-15
7395 // mean(f - f_GSL): 2.2788788400200583e-16
7396 // variance(f - f_GSL): 3.4817209315093131e-31
7397 // stddev(f - f_GSL): 5.9006109272763554e-16
7398 const testcase_hyperg<double>
7399 data148[19] =
7401 { 0.75755211927082600, 5.0000000000000000, 0.50000000000000000,
7402 6.0000000000000000, -0.90000000000000002, 0.0 },
7403 { 0.77603550233010965, 5.0000000000000000, 0.50000000000000000,
7404 6.0000000000000000, -0.80000000000000004, 0.0 },
7405 { 0.79596241913438504, 5.0000000000000000, 0.50000000000000000,
7406 6.0000000000000000, -0.69999999999999996, 0.0 },
7407 { 0.81753360792105212, 5.0000000000000000, 0.50000000000000000,
7408 6.0000000000000000, -0.59999999999999998, 0.0 },
7409 { 0.84099165409805532, 5.0000000000000000, 0.50000000000000000,
7410 6.0000000000000000, -0.50000000000000000, 0.0 },
7411 { 0.86663303852180906, 5.0000000000000000, 0.50000000000000000,
7412 6.0000000000000000, -0.39999999999999991, 0.0 },
7413 { 0.89482475828629915, 5.0000000000000000, 0.50000000000000000,
7414 6.0000000000000000, -0.29999999999999993, 0.0 },
7415 { 0.92602774279590350, 5.0000000000000000, 0.50000000000000000,
7416 6.0000000000000000, -0.19999999999999996, 0.0 },
7417 { 0.96083064727087386, 5.0000000000000000, 0.50000000000000000,
7418 6.0000000000000000, -0.099999999999999978, 0.0 },
7419 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7420 6.0000000000000000, 0.0000000000000000, 0.0 },
7421 { 1.0445570841313008, 5.0000000000000000, 0.50000000000000000,
7422 6.0000000000000000, 0.10000000000000009, 0.0 },
7423 { 1.0959004638926033, 5.0000000000000000, 0.50000000000000000,
7424 6.0000000000000000, 0.20000000000000018, 0.0 },
7425 { 1.1560106261370562, 5.0000000000000000, 0.50000000000000000,
7426 6.0000000000000000, 0.30000000000000004, 0.0 },
7427 { 1.2278121770678148, 5.0000000000000000, 0.50000000000000000,
7428 6.0000000000000000, 0.40000000000000013, 0.0 },
7429 { 1.3158640214709998, 5.0000000000000000, 0.50000000000000000,
7430 6.0000000000000000, 0.50000000000000000, 0.0 },
7431 { 1.4278095344155000, 5.0000000000000000, 0.50000000000000000,
7432 6.0000000000000000, 0.60000000000000009, 0.0 },
7433 { 1.5778700502946617, 5.0000000000000000, 0.50000000000000000,
7434 6.0000000000000000, 0.70000000000000018, 0.0 },
7435 { 1.7972173289196469, 5.0000000000000000, 0.50000000000000000,
7436 6.0000000000000000, 0.80000000000000004, 0.0 },
7437 { 2.1789970569269732, 5.0000000000000000, 0.50000000000000000,
7438 6.0000000000000000, 0.90000000000000013, 0.0 },
7440 const double toler148 = 2.5000000000000020e-13;
7442 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
7443 // max(|f - f_GSL|): 8.8817841970012523e-16 at index 18
7444 // max(|f - f_GSL| / |f_GSL|): 5.6109827053892650e-16
7445 // mean(f - f_GSL): 7.5962628000668607e-17
7446 // variance(f - f_GSL): 3.8685788127881258e-32
7447 // stddev(f - f_GSL): 1.9668703090921186e-16
7448 const testcase_hyperg<double>
7449 data149[19] =
7451 { 0.80270093579329460, 5.0000000000000000, 0.50000000000000000,
7452 8.0000000000000000, -0.90000000000000002, 0.0 },
7453 { 0.81884974572462765, 5.0000000000000000, 0.50000000000000000,
7454 8.0000000000000000, -0.80000000000000004, 0.0 },
7455 { 0.83605266330015260, 5.0000000000000000, 0.50000000000000000,
7456 8.0000000000000000, -0.69999999999999996, 0.0 },
7457 { 0.85443340762796027, 5.0000000000000000, 0.50000000000000000,
7458 8.0000000000000000, -0.59999999999999998, 0.0 },
7459 { 0.87413762182790711, 5.0000000000000000, 0.50000000000000000,
7460 8.0000000000000000, -0.50000000000000000, 0.0 },
7461 { 0.89533826626907298, 5.0000000000000000, 0.50000000000000000,
7462 8.0000000000000000, -0.39999999999999991, 0.0 },
7463 { 0.91824276674115313, 5.0000000000000000, 0.50000000000000000,
7464 8.0000000000000000, -0.29999999999999993, 0.0 },
7465 { 0.94310265050720576, 5.0000000000000000, 0.50000000000000000,
7466 8.0000000000000000, -0.19999999999999996, 0.0 },
7467 { 0.97022678857609712, 5.0000000000000000, 0.50000000000000000,
7468 8.0000000000000000, -0.099999999999999978, 0.0 },
7469 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7470 8.0000000000000000, 0.0000000000000000, 0.0 },
7471 { 1.0329098673199812, 5.0000000000000000, 0.50000000000000000,
7472 8.0000000000000000, 0.10000000000000009, 0.0 },
7473 { 1.0695865684573389, 5.0000000000000000, 0.50000000000000000,
7474 8.0000000000000000, 0.20000000000000018, 0.0 },
7475 { 1.1108642103944570, 5.0000000000000000, 0.50000000000000000,
7476 8.0000000000000000, 0.30000000000000004, 0.0 },
7477 { 1.1578795055970506, 5.0000000000000000, 0.50000000000000000,
7478 8.0000000000000000, 0.40000000000000013, 0.0 },
7479 { 1.2122394794169442, 5.0000000000000000, 0.50000000000000000,
7480 8.0000000000000000, 0.50000000000000000, 0.0 },
7481 { 1.2763274721556934, 5.0000000000000000, 0.50000000000000000,
7482 8.0000000000000000, 0.60000000000000009, 0.0 },
7483 { 1.3539179650251021, 5.0000000000000000, 0.50000000000000000,
7484 8.0000000000000000, 0.70000000000000018, 0.0 },
7485 { 1.4515986118197148, 5.0000000000000000, 0.50000000000000000,
7486 8.0000000000000000, 0.80000000000000004, 0.0 },
7487 { 1.5829284571614224, 5.0000000000000000, 0.50000000000000000,
7488 8.0000000000000000, 0.90000000000000013, 0.0 },
7490 const double toler149 = 2.5000000000000020e-13;
7492 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
7493 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
7494 // max(|f - f_GSL| / |f_GSL|): 3.2099086385883890e-16
7495 // mean(f - f_GSL): 5.8432790769745078e-17
7496 // variance(f - f_GSL): 8.7218722159852367e-33
7497 // stddev(f - f_GSL): 9.3390964316604188e-17
7498 const testcase_hyperg<double>
7499 data150[19] =
7501 { 0.83322694172301981, 5.0000000000000000, 0.50000000000000000,
7502 10.000000000000000, -0.90000000000000002, 0.0 },
7503 { 0.84753931604765675, 5.0000000000000000, 0.50000000000000000,
7504 10.000000000000000, -0.80000000000000004, 0.0 },
7505 { 0.86265784532195022, 5.0000000000000000, 0.50000000000000000,
7506 10.000000000000000, -0.69999999999999996, 0.0 },
7507 { 0.87866479300707090, 5.0000000000000000, 0.50000000000000000,
7508 10.000000000000000, -0.59999999999999998, 0.0 },
7509 { 0.89565516540263501, 5.0000000000000000, 0.50000000000000000,
7510 10.000000000000000, -0.50000000000000000, 0.0 },
7511 { 0.91373946207610557, 5.0000000000000000, 0.50000000000000000,
7512 10.000000000000000, -0.39999999999999991, 0.0 },
7513 { 0.93304721345881914, 5.0000000000000000, 0.50000000000000000,
7514 10.000000000000000, -0.29999999999999993, 0.0 },
7515 { 0.95373159512905148, 5.0000000000000000, 0.50000000000000000,
7516 10.000000000000000, -0.19999999999999996, 0.0 },
7517 { 0.97597554238828121, 5.0000000000000000, 0.50000000000000000,
7518 10.000000000000000, -0.099999999999999978, 0.0 },
7519 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7520 10.000000000000000, 0.0000000000000000, 0.0 },
7521 { 1.0260752851887982, 5.0000000000000000, 0.50000000000000000,
7522 10.000000000000000, 0.10000000000000009, 0.0 },
7523 { 1.0545371197996178, 5.0000000000000000, 0.50000000000000000,
7524 10.000000000000000, 0.20000000000000018, 0.0 },
7525 { 1.0858099017045830, 5.0000000000000000, 0.50000000000000000,
7526 10.000000000000000, 0.30000000000000004, 0.0 },
7527 { 1.1204416568688709, 5.0000000000000000, 0.50000000000000000,
7528 10.000000000000000, 0.40000000000000013, 0.0 },
7529 { 1.1591587835964847, 5.0000000000000000, 0.50000000000000000,
7530 10.000000000000000, 0.50000000000000000, 0.0 },
7531 { 1.2029564720303347, 5.0000000000000000, 0.50000000000000000,
7532 10.000000000000000, 0.60000000000000009, 0.0 },
7533 { 1.2532588722007874, 5.0000000000000000, 0.50000000000000000,
7534 10.000000000000000, 0.70000000000000018, 0.0 },
7535 { 1.3122319926925459, 5.0000000000000000, 0.50000000000000000,
7536 10.000000000000000, 0.80000000000000004, 0.0 },
7537 { 1.3834948587364102, 5.0000000000000000, 0.50000000000000000,
7538 10.000000000000000, 0.90000000000000013, 0.0 },
7540 const double toler150 = 2.5000000000000020e-13;
7542 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
7543 // max(|f - f_GSL|): 4.0927261579781771e-12 at index 18
7544 // max(|f - f_GSL| / |f_GSL|): 1.4735287697491136e-15
7545 // mean(f - f_GSL): 2.2385017815981644e-13
7546 // variance(f - f_GSL): 8.7776489381819171e-25
7547 // stddev(f - f_GSL): 9.3689107895111895e-13
7548 const testcase_hyperg<double>
7549 data151[19] =
7551 { 0.25646288779245086, 5.0000000000000000, 1.0000000000000000,
7552 2.0000000000000000, -0.90000000000000002, 0.0 },
7553 { 0.28273129096174376, 5.0000000000000000, 1.0000000000000000,
7554 2.0000000000000000, -0.80000000000000004, 0.0 },
7555 { 0.31438201170962982, 5.0000000000000000, 1.0000000000000000,
7556 2.0000000000000000, -0.69999999999999996, 0.0 },
7557 { 0.35308837890625017, 5.0000000000000000, 1.0000000000000000,
7558 2.0000000000000000, -0.59999999999999998, 0.0 },
7559 { 0.40123456790123452, 5.0000000000000000, 1.0000000000000000,
7560 2.0000000000000000, -0.50000000000000000, 0.0 },
7561 { 0.46230737192836352, 5.0000000000000000, 1.0000000000000000,
7562 2.0000000000000000, -0.39999999999999991, 0.0 },
7563 { 0.54156016946185348, 5.0000000000000000, 1.0000000000000000,
7564 2.0000000000000000, -0.29999999999999993, 0.0 },
7565 { 0.64718364197530875, 5.0000000000000000, 1.0000000000000000,
7566 2.0000000000000000, -0.19999999999999996, 0.0 },
7567 { 0.79246636158732342, 5.0000000000000000, 1.0000000000000000,
7568 2.0000000000000000, -0.099999999999999978, 0.0 },
7569 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7570 2.0000000000000000, 0.0000000000000000, 0.0 },
7571 { 1.3103947568968148, 5.0000000000000000, 1.0000000000000000,
7572 2.0000000000000000, 0.10000000000000009, 0.0 },
7573 { 1.8017578125000016, 5.0000000000000000, 1.0000000000000000,
7574 2.0000000000000000, 0.20000000000000018, 0.0 },
7575 { 2.6374427321949185, 5.0000000000000000, 1.0000000000000000,
7576 2.0000000000000000, 0.30000000000000004, 0.0 },
7577 { 4.1975308641975335, 5.0000000000000000, 1.0000000000000000,
7578 2.0000000000000000, 0.40000000000000013, 0.0 },
7579 { 7.4999999999999964, 5.0000000000000000, 1.0000000000000000,
7580 2.0000000000000000, 0.50000000000000000, 0.0 },
7581 { 15.859375000000012, 5.0000000000000000, 1.0000000000000000,
7582 2.0000000000000000, 0.60000000000000009, 0.0 },
7583 { 43.734567901234662, 5.0000000000000000, 1.0000000000000000,
7584 2.0000000000000000, 0.70000000000000018, 0.0 },
7585 { 194.99999999999994, 5.0000000000000000, 1.0000000000000000,
7586 2.0000000000000000, 0.80000000000000004, 0.0 },
7587 { 2777.5000000000095, 5.0000000000000000, 1.0000000000000000,
7588 2.0000000000000000, 0.90000000000000013, 0.0 },
7590 const double toler151 = 2.5000000000000020e-13;
7592 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
7593 // max(|f - f_GSL|): 4.2632564145606011e-14 at index 18
7594 // max(|f - f_GSL| / |f_GSL|): 1.3117712044801870e-15
7595 // mean(f - f_GSL): 2.6879083754082736e-15
7596 // variance(f - f_GSL): 9.3567700516642700e-29
7597 // stddev(f - f_GSL): 9.6730398798228218e-15
7598 const testcase_hyperg<double>
7599 data152[19] =
7601 { 0.46398891966759009, 5.0000000000000000, 1.0000000000000000,
7602 4.0000000000000000, -0.90000000000000002, 0.0 },
7603 { 0.49382716049382724, 5.0000000000000000, 1.0000000000000000,
7604 4.0000000000000000, -0.80000000000000004, 0.0 },
7605 { 0.52768166089965407, 5.0000000000000000, 1.0000000000000000,
7606 4.0000000000000000, -0.69999999999999996, 0.0 },
7607 { 0.56640625000000000, 5.0000000000000000, 1.0000000000000000,
7608 4.0000000000000000, -0.59999999999999998, 0.0 },
7609 { 0.61111111111111094, 5.0000000000000000, 1.0000000000000000,
7610 4.0000000000000000, -0.50000000000000000, 0.0 },
7611 { 0.66326530612244916, 5.0000000000000000, 1.0000000000000000,
7612 4.0000000000000000, -0.39999999999999991, 0.0 },
7613 { 0.72485207100591709, 5.0000000000000000, 1.0000000000000000,
7614 4.0000000000000000, -0.29999999999999993, 0.0 },
7615 { 0.79861111111111094, 5.0000000000000000, 1.0000000000000000,
7616 4.0000000000000000, -0.19999999999999996, 0.0 },
7617 { 0.88842975206611552, 5.0000000000000000, 1.0000000000000000,
7618 4.0000000000000000, -0.099999999999999978, 0.0 },
7619 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7620 4.0000000000000000, 0.0000000000000000, 0.0 },
7621 { 1.1419753086419753, 5.0000000000000000, 1.0000000000000000,
7622 4.0000000000000000, 0.10000000000000009, 0.0 },
7623 { 1.3281250000000000, 5.0000000000000000, 1.0000000000000000,
7624 4.0000000000000000, 0.20000000000000018, 0.0 },
7625 { 1.5816326530612239, 5.0000000000000000, 1.0000000000000000,
7626 4.0000000000000000, 0.30000000000000004, 0.0 },
7627 { 1.9444444444444458, 5.0000000000000000, 1.0000000000000000,
7628 4.0000000000000000, 0.40000000000000013, 0.0 },
7629 { 2.5000000000000000, 5.0000000000000000, 1.0000000000000000,
7630 4.0000000000000000, 0.50000000000000000, 0.0 },
7631 { 3.4374999999999996, 5.0000000000000000, 1.0000000000000000,
7632 4.0000000000000000, 0.60000000000000009, 0.0 },
7633 { 5.2777777777777786, 5.0000000000000000, 1.0000000000000000,
7634 4.0000000000000000, 0.70000000000000018, 0.0 },
7635 { 9.9999999999999947, 5.0000000000000000, 1.0000000000000000,
7636 4.0000000000000000, 0.80000000000000004, 0.0 },
7637 { 32.499999999999950, 5.0000000000000000, 1.0000000000000000,
7638 4.0000000000000000, 0.90000000000000013, 0.0 },
7640 const double toler152 = 2.5000000000000020e-13;
7642 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
7643 // max(|f - f_GSL|): 6.2172489379008766e-15 at index 18
7644 // max(|f - f_GSL| / |f_GSL|): 1.2433022037532449e-15
7645 // mean(f - f_GSL): 4.9083544246585873e-16
7646 // variance(f - f_GSL): 1.9229766015225486e-30
7647 // stddev(f - f_GSL): 1.3867143186404864e-15
7648 const testcase_hyperg<double>
7649 data153[19] =
7651 { 0.57476744883397490, 5.0000000000000000, 1.0000000000000000,
7652 6.0000000000000000, -0.90000000000000002, 0.0 },
7653 { 0.60302731682513966, 5.0000000000000000, 1.0000000000000000,
7654 6.0000000000000000, -0.80000000000000004, 0.0 },
7655 { 0.63425708719096374, 5.0000000000000000, 1.0000000000000000,
7656 6.0000000000000000, -0.69999999999999996, 0.0 },
7657 { 0.66895764182970430, 5.0000000000000000, 1.0000000000000000,
7658 6.0000000000000000, -0.59999999999999998, 0.0 },
7659 { 0.70775063063963473, 5.0000000000000000, 1.0000000000000000,
7660 6.0000000000000000, -0.50000000000000000, 0.0 },
7661 { 0.75141762103495946, 5.0000000000000000, 1.0000000000000000,
7662 6.0000000000000000, -0.39999999999999991, 0.0 },
7663 { 0.80095569442603320, 5.0000000000000000, 1.0000000000000000,
7664 6.0000000000000000, -0.29999999999999993, 0.0 },
7665 { 0.85765823887436754, 5.0000000000000000, 1.0000000000000000,
7666 6.0000000000000000, -0.19999999999999996, 0.0 },
7667 { 0.92323549576335540, 5.0000000000000000, 1.0000000000000000,
7668 6.0000000000000000, -0.099999999999999978, 0.0 },
7669 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7670 6.0000000000000000, 0.0000000000000000, 0.0 },
7671 { 1.0911622464839472, 5.0000000000000000, 1.0000000000000000,
7672 6.0000000000000000, 0.10000000000000009, 0.0 },
7673 { 1.2013226178607672, 5.0000000000000000, 1.0000000000000000,
7674 6.0000000000000000, 0.20000000000000018, 0.0 },
7675 { 1.3373332072682687, 5.0000000000000000, 1.0000000000000000,
7676 6.0000000000000000, 0.30000000000000004, 0.0 },
7677 { 1.5099074378209718, 5.0000000000000000, 1.0000000000000000,
7678 6.0000000000000000, 0.40000000000000013, 0.0 },
7679 { 1.7368822229245819, 5.0000000000000000, 1.0000000000000000,
7680 6.0000000000000000, 0.50000000000000000, 0.0 },
7681 { 2.0505871832661429, 5.0000000000000000, 1.0000000000000000,
7682 6.0000000000000000, 0.60000000000000009, 0.0 },
7683 { 2.5172389775867976, 5.0000000000000000, 1.0000000000000000,
7684 6.0000000000000000, 0.70000000000000018, 0.0 },
7685 { 3.3015631983556144, 5.0000000000000000, 1.0000000000000000,
7686 6.0000000000000000, 0.80000000000000004, 0.0 },
7687 { 5.0005935155044563, 5.0000000000000000, 1.0000000000000000,
7688 6.0000000000000000, 0.90000000000000013, 0.0 },
7690 const double toler153 = 2.5000000000000020e-13;
7692 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
7693 // max(|f - f_GSL|): 3.1086244689504383e-15 at index 18
7694 // max(|f - f_GSL| / |f_GSL|): 1.1989697058841885e-15
7695 // mean(f - f_GSL): 2.4541772123292936e-16
7696 // variance(f - f_GSL): 4.8074415038063715e-31
7697 // stddev(f - f_GSL): 6.9335715932024320e-16
7698 const testcase_hyperg<double>
7699 data154[19] =
7701 { 0.64582752605387983, 5.0000000000000000, 1.0000000000000000,
7702 8.0000000000000000, -0.90000000000000002, 0.0 },
7703 { 0.67184161997264191, 5.0000000000000000, 1.0000000000000000,
7704 8.0000000000000000, -0.80000000000000004, 0.0 },
7705 { 0.70012779922368040, 5.0000000000000000, 1.0000000000000000,
7706 8.0000000000000000, -0.69999999999999996, 0.0 },
7707 { 0.73100784656910278, 5.0000000000000000, 1.0000000000000000,
7708 8.0000000000000000, -0.59999999999999998, 0.0 },
7709 { 0.76486919089091066, 5.0000000000000000, 1.0000000000000000,
7710 8.0000000000000000, -0.50000000000000000, 0.0 },
7711 { 0.80218301124334590, 5.0000000000000000, 1.0000000000000000,
7712 8.0000000000000000, -0.39999999999999991, 0.0 },
7713 { 0.84352883533234391, 5.0000000000000000, 1.0000000000000000,
7714 8.0000000000000000, -0.29999999999999993, 0.0 },
7715 { 0.88962858902212572, 5.0000000000000000, 1.0000000000000000,
7716 8.0000000000000000, -0.19999999999999996, 0.0 },
7717 { 0.94139473468584123, 5.0000000000000000, 1.0000000000000000,
7718 8.0000000000000000, -0.099999999999999978, 0.0 },
7719 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7720 8.0000000000000000, 0.0000000000000000, 0.0 },
7721 { 1.0669812691939897, 5.0000000000000000, 1.0000000000000000,
7722 8.0000000000000000, 0.10000000000000009, 0.0 },
7723 { 1.1443996012177726, 5.0000000000000000, 1.0000000000000000,
7724 8.0000000000000000, 0.20000000000000018, 0.0 },
7725 { 1.2350966976721314, 5.0000000000000000, 1.0000000000000000,
7726 8.0000000000000000, 0.30000000000000004, 0.0 },
7727 { 1.3431264370409088, 5.0000000000000000, 1.0000000000000000,
7728 8.0000000000000000, 0.40000000000000013, 0.0 },
7729 { 1.4745266814162399, 5.0000000000000000, 1.0000000000000000,
7730 8.0000000000000000, 0.50000000000000000, 0.0 },
7731 { 1.6388137104840066, 5.0000000000000000, 1.0000000000000000,
7732 8.0000000000000000, 0.60000000000000009, 0.0 },
7733 { 1.8522074849776522, 5.0000000000000000, 1.0000000000000000,
7734 8.0000000000000000, 0.70000000000000018, 0.0 },
7735 { 2.1458016978417458, 5.0000000000000000, 1.0000000000000000,
7736 8.0000000000000000, 0.80000000000000004, 0.0 },
7737 { 2.5927464669826348, 5.0000000000000000, 1.0000000000000000,
7738 8.0000000000000000, 0.90000000000000013, 0.0 },
7740 const double toler154 = 2.5000000000000020e-13;
7742 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
7743 // max(|f - f_GSL|): 1.3322676295501878e-15 at index 18
7744 // max(|f - f_GSL| / |f_GSL|): 6.8275390424723874e-16
7745 // mean(f - f_GSL): 1.0517902338554114e-16
7746 // variance(f - f_GSL): 8.8299945988280290e-32
7747 // stddev(f - f_GSL): 2.9715306828010425e-16
7748 const testcase_hyperg<double>
7749 data155[19] =
7751 { 0.69583236336670584, 5.0000000000000000, 1.0000000000000000,
7752 10.000000000000000, -0.90000000000000002, 0.0 },
7753 { 0.71968920666899716, 5.0000000000000000, 1.0000000000000000,
7754 10.000000000000000, -0.80000000000000004, 0.0 },
7755 { 0.74533885416044232, 5.0000000000000000, 1.0000000000000000,
7756 10.000000000000000, -0.69999999999999996, 0.0 },
7757 { 0.77300145361503070, 5.0000000000000000, 1.0000000000000000,
7758 10.000000000000000, -0.59999999999999998, 0.0 },
7759 { 0.80293630810919447, 5.0000000000000000, 1.0000000000000000,
7760 10.000000000000000, -0.50000000000000000, 0.0 },
7761 { 0.83545132638592057, 5.0000000000000000, 1.0000000000000000,
7762 10.000000000000000, -0.39999999999999991, 0.0 },
7763 { 0.87091544744412497, 5.0000000000000000, 1.0000000000000000,
7764 10.000000000000000, -0.29999999999999993, 0.0 },
7765 { 0.90977522877919847, 5.0000000000000000, 1.0000000000000000,
7766 10.000000000000000, -0.19999999999999996, 0.0 },
7767 { 0.95257738192069130, 5.0000000000000000, 1.0000000000000000,
7768 10.000000000000000, -0.099999999999999978, 0.0 },
7769 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7770 10.000000000000000, 0.0000000000000000, 0.0 },
7771 { 1.0528968282789379, 5.0000000000000000, 1.0000000000000000,
7772 10.000000000000000, 0.10000000000000009, 0.0 },
7773 { 1.1123617169062123, 5.0000000000000000, 1.0000000000000000,
7774 10.000000000000000, 0.20000000000000018, 0.0 },
7775 { 1.1798254572896132, 5.0000000000000000, 1.0000000000000000,
7776 10.000000000000000, 0.30000000000000004, 0.0 },
7777 { 1.2572069000522701, 5.0000000000000000, 1.0000000000000000,
7778 10.000000000000000, 0.40000000000000013, 0.0 },
7779 { 1.3471600884974377, 5.0000000000000000, 1.0000000000000000,
7780 10.000000000000000, 0.50000000000000000, 0.0 },
7781 { 1.4535032279573519, 5.0000000000000000, 1.0000000000000000,
7782 10.000000000000000, 0.60000000000000009, 0.0 },
7783 { 1.5820245752814950, 5.0000000000000000, 1.0000000000000000,
7784 10.000000000000000, 0.70000000000000018, 0.0 },
7785 { 1.7421756366906538, 5.0000000000000000, 1.0000000000000000,
7786 10.000000000000000, 0.80000000000000004, 0.0 },
7787 { 1.9513145531098235, 5.0000000000000000, 1.0000000000000000,
7788 10.000000000000000, 0.90000000000000013, 0.0 },
7790 const double toler155 = 2.5000000000000020e-13;
7792 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
7793 // max(|f - f_GSL|): 1.0186340659856796e-10 at index 18
7794 // max(|f - f_GSL| / |f_GSL|): 1.1641532182693482e-15
7795 // mean(f - f_GSL): 5.5487040400966458e-12
7796 // variance(f - f_GSL): 5.4399356990620132e-22
7797 // stddev(f - f_GSL): 2.3323669734975269e-11
7798 const testcase_hyperg<double>
7799 data156[19] =
7801 { 0.040386107340619273, 5.0000000000000000, 2.0000000000000000,
7802 2.0000000000000000, -0.90000000000000002, 0.0 },
7803 { 0.052922149401344633, 5.0000000000000000, 2.0000000000000000,
7804 2.0000000000000000, -0.80000000000000004, 0.0 },
7805 { 0.070429627772374270, 5.0000000000000000, 2.0000000000000000,
7806 2.0000000000000000, -0.69999999999999996, 0.0 },
7807 { 0.095367431640624986, 5.0000000000000000, 2.0000000000000000,
7808 2.0000000000000000, -0.59999999999999998, 0.0 },
7809 { 0.13168724279835389, 5.0000000000000000, 2.0000000000000000,
7810 2.0000000000000000, -0.50000000000000000, 0.0 },
7811 { 0.18593443208187072, 5.0000000000000000, 2.0000000000000000,
7812 2.0000000000000000, -0.39999999999999991, 0.0 },
7813 { 0.26932907434290460, 5.0000000000000000, 2.0000000000000000,
7814 2.0000000000000000, -0.29999999999999993, 0.0 },
7815 { 0.40187757201646102, 5.0000000000000000, 2.0000000000000000,
7816 2.0000000000000000, -0.19999999999999996, 0.0 },
7817 { 0.62092132305915493, 5.0000000000000000, 2.0000000000000000,
7818 2.0000000000000000, -0.099999999999999978, 0.0 },
7819 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7820 2.0000000000000000, 0.0000000000000000, 0.0 },
7821 { 1.6935087808430296, 5.0000000000000000, 2.0000000000000000,
7822 2.0000000000000000, 0.10000000000000009, 0.0 },
7823 { 3.0517578125000036, 5.0000000000000000, 2.0000000000000000,
7824 2.0000000000000000, 0.20000000000000018, 0.0 },
7825 { 5.9499018266198629, 5.0000000000000000, 2.0000000000000000,
7826 2.0000000000000000, 0.30000000000000004, 0.0 },
7827 { 12.860082304526767, 5.0000000000000000, 2.0000000000000000,
7828 2.0000000000000000, 0.40000000000000013, 0.0 },
7829 { 32.000000000000000, 5.0000000000000000, 2.0000000000000000,
7830 2.0000000000000000, 0.50000000000000000, 0.0 },
7831 { 97.656250000000114, 5.0000000000000000, 2.0000000000000000,
7832 2.0000000000000000, 0.60000000000000009, 0.0 },
7833 { 411.52263374485722, 5.0000000000000000, 2.0000000000000000,
7834 2.0000000000000000, 0.70000000000000018, 0.0 },
7835 { 3124.9999999999995, 5.0000000000000000, 2.0000000000000000,
7836 2.0000000000000000, 0.80000000000000004, 0.0 },
7837 { 100000.00000000055, 5.0000000000000000, 2.0000000000000000,
7838 2.0000000000000000, 0.90000000000000013, 0.0 },
7840 const double toler156 = 2.5000000000000020e-13;
7842 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
7843 // max(|f - f_GSL|): 6.8212102632969618e-13 at index 18
7844 // max(|f - f_GSL| / |f_GSL|): 1.2402200478721734e-15
7845 // mean(f - f_GSL): 3.8828589466495609e-14
7846 // variance(f - f_GSL): 2.4267524775254640e-26
7847 // stddev(f - f_GSL): 1.5578037352392837e-13
7848 const testcase_hyperg<double>
7849 data157[19] =
7851 { 0.21140107887447138, 5.0000000000000000, 2.0000000000000000,
7852 4.0000000000000000, -0.90000000000000002, 0.0 },
7853 { 0.24005486968449927, 5.0000000000000000, 2.0000000000000000,
7854 4.0000000000000000, -0.80000000000000004, 0.0 },
7855 { 0.27478119275391810, 5.0000000000000000, 2.0000000000000000,
7856 4.0000000000000000, -0.69999999999999996, 0.0 },
7857 { 0.31738281250000006, 5.0000000000000000, 2.0000000000000000,
7858 4.0000000000000000, -0.59999999999999998, 0.0 },
7859 { 0.37037037037037024, 5.0000000000000000, 2.0000000000000000,
7860 4.0000000000000000, -0.50000000000000000, 0.0 },
7861 { 0.43731778425655982, 5.0000000000000000, 2.0000000000000000,
7862 4.0000000000000000, -0.39999999999999991, 0.0 },
7863 { 0.52344105598543467, 5.0000000000000000, 2.0000000000000000,
7864 4.0000000000000000, -0.29999999999999993, 0.0 },
7865 { 0.63657407407407429, 5.0000000000000000, 2.0000000000000000,
7866 4.0000000000000000, -0.19999999999999996, 0.0 },
7867 { 0.78888054094665638, 5.0000000000000000, 2.0000000000000000,
7868 4.0000000000000000, -0.099999999999999978, 0.0 },
7869 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7870 4.0000000000000000, 0.0000000000000000, 0.0 },
7871 { 1.3031550068587108, 5.0000000000000000, 2.0000000000000000,
7872 4.0000000000000000, 0.10000000000000009, 0.0 },
7873 { 1.7578125000000011, 5.0000000000000000, 2.0000000000000000,
7874 4.0000000000000000, 0.20000000000000018, 0.0 },
7875 { 2.4781341107871717, 5.0000000000000000, 2.0000000000000000,
7876 4.0000000000000000, 0.30000000000000004, 0.0 },
7877 { 3.7037037037037073, 5.0000000000000000, 2.0000000000000000,
7878 4.0000000000000000, 0.40000000000000013, 0.0 },
7879 { 5.9999999999999982, 5.0000000000000000, 2.0000000000000000,
7880 4.0000000000000000, 0.50000000000000000, 0.0 },
7881 { 10.937500000000005, 5.0000000000000000, 2.0000000000000000,
7882 4.0000000000000000, 0.60000000000000009, 0.0 },
7883 { 24.074074074074115, 5.0000000000000000, 2.0000000000000000,
7884 4.0000000000000000, 0.70000000000000018, 0.0 },
7885 { 74.999999999999957, 5.0000000000000000, 2.0000000000000000,
7886 4.0000000000000000, 0.80000000000000004, 0.0 },
7887 { 550.00000000000068, 5.0000000000000000, 2.0000000000000000,
7888 4.0000000000000000, 0.90000000000000013, 0.0 },
7890 const double toler157 = 2.5000000000000020e-13;
7892 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
7893 // max(|f - f_GSL|): 4.9737991503207013e-14 at index 18
7894 // max(|f - f_GSL| / |f_GSL|): 1.6580642616864621e-15
7895 // mean(f - f_GSL): 3.1670572597201835e-15
7896 // variance(f - f_GSL): 1.2718576052442072e-28
7897 // stddev(f - f_GSL): 1.1277666448535384e-14
7898 const testcase_hyperg<double>
7899 data158[19] =
7901 { 0.33250915203252129, 5.0000000000000000, 2.0000000000000000,
7902 6.0000000000000000, -0.90000000000000002, 0.0 },
7903 { 0.36566851047721943, 5.0000000000000000, 2.0000000000000000,
7904 6.0000000000000000, -0.80000000000000004, 0.0 },
7905 { 0.40414812182437959, 5.0000000000000000, 2.0000000000000000,
7906 6.0000000000000000, -0.69999999999999996, 0.0 },
7907 { 0.44916943268118498, 5.0000000000000000, 2.0000000000000000,
7908 6.0000000000000000, -0.59999999999999998, 0.0 },
7909 { 0.50233081077479547, 5.0000000000000000, 2.0000000000000000,
7910 6.0000000000000000, -0.50000000000000000, 0.0 },
7911 { 0.56575808728873322, 5.0000000000000000, 2.0000000000000000,
7912 6.0000000000000000, -0.39999999999999991, 0.0 },
7913 { 0.64233106844971455, 5.0000000000000000, 2.0000000000000000,
7914 6.0000000000000000, -0.29999999999999993, 0.0 },
7915 { 0.73603371116919514, 5.0000000000000000, 2.0000000000000000,
7916 6.0000000000000000, -0.19999999999999996, 0.0 },
7917 { 0.85251256240112439, 5.0000000000000000, 2.0000000000000000,
7918 6.0000000000000000, -0.099999999999999978, 0.0 },
7919 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7920 6.0000000000000000, 0.0000000000000000, 0.0 },
7921 { 1.1909065696197674, 5.0000000000000000, 2.0000000000000000,
7922 6.0000000000000000, 0.10000000000000009, 0.0 },
7923 { 1.4447095285569318, 5.0000000000000000, 2.0000000000000000,
7924 6.0000000000000000, 0.20000000000000018, 0.0 },
7925 { 1.7935243137840653, 5.0000000000000000, 2.0000000000000000,
7926 6.0000000000000000, 0.30000000000000004, 0.0 },
7927 { 2.2937035820494467, 5.0000000000000000, 2.0000000000000000,
7928 6.0000000000000000, 0.40000000000000013, 0.0 },
7929 { 3.0524711083016687, 5.0000000000000000, 2.0000000000000000,
7930 6.0000000000000000, 0.50000000000000000, 0.0 },
7931 { 4.2976512669354259, 5.0000000000000000, 2.0000000000000000,
7932 6.0000000000000000, 0.60000000000000009, 0.0 },
7933 { 6.5977107563194739, 5.0000000000000000, 2.0000000000000000,
7934 6.0000000000000000, 0.70000000000000018, 0.0 },
7935 { 11.793747206577530, 5.0000000000000000, 2.0000000000000000,
7936 6.0000000000000000, 0.80000000000000004, 0.0 },
7937 { 29.997625937982132, 5.0000000000000000, 2.0000000000000000,
7938 6.0000000000000000, 0.90000000000000013, 0.0 },
7940 const double toler158 = 2.5000000000000020e-13;
7942 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
7943 // max(|f - f_GSL|): 1.1546319456101628e-14 at index 18
7944 // max(|f - f_GSL| / |f_GSL|): 1.4852319937858925e-15
7945 // mean(f - f_GSL): 8.5896202431525265e-16
7946 // variance(f - f_GSL): 6.6980634833963886e-30
7947 // stddev(f - f_GSL): 2.5880617232586221e-15
7948 const testcase_hyperg<double>
7949 data159[19] =
7951 { 0.42108197362250294, 5.0000000000000000, 2.0000000000000000,
7952 8.0000000000000000, -0.90000000000000002, 0.0 },
7953 { 0.45503172013983040, 5.0000000000000000, 2.0000000000000000,
7954 8.0000000000000000, -0.80000000000000004, 0.0 },
7955 { 0.49345609813624314, 5.0000000000000000, 2.0000000000000000,
7956 8.0000000000000000, -0.69999999999999996, 0.0 },
7957 { 0.53720880551221295, 5.0000000000000000, 2.0000000000000000,
7958 8.0000000000000000, -0.59999999999999998, 0.0 },
7959 { 0.58736431524847466, 5.0000000000000000, 2.0000000000000000,
7960 8.0000000000000000, -0.50000000000000000, 0.0 },
7961 { 0.64529222467897995, 5.0000000000000000, 2.0000000000000000,
7962 8.0000000000000000, -0.39999999999999991, 0.0 },
7963 { 0.71276337354393959, 5.0000000000000000, 2.0000000000000000,
7964 8.0000000000000000, -0.29999999999999993, 0.0 },
7965 { 0.79210466220795306, 5.0000000000000000, 2.0000000000000000,
7966 8.0000000000000000, -0.19999999999999996, 0.0 },
7967 { 0.88643063455510596, 5.0000000000000000, 2.0000000000000000,
7968 8.0000000000000000, -0.099999999999999978, 0.0 },
7969 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7970 8.0000000000000000, 0.0000000000000000, 0.0 },
7971 { 1.1387832139040652, 5.0000000000000000, 2.0000000000000000,
7972 8.0000000000000000, 0.10000000000000009, 0.0 },
7973 { 1.3114025920844754, 5.0000000000000000, 2.0000000000000000,
7974 8.0000000000000000, 0.20000000000000018, 0.0 },
7975 { 1.5307655016768162, 5.0000000000000000, 2.0000000000000000,
7976 8.0000000000000000, 0.30000000000000004, 0.0 },
7977 { 1.8170727950333352, 5.0000000000000000, 2.0000000000000000,
7978 8.0000000000000000, 0.40000000000000013, 0.0 },
7979 { 2.2037865486700836, 5.0000000000000000, 2.0000000000000000,
7980 8.0000000000000000, 0.50000000000000000, 0.0 },
7981 { 2.7506766056439380, 5.0000000000000000, 2.0000000000000000,
7982 8.0000000000000000, 0.60000000000000009, 0.0 },
7983 { 3.5764534935716998, 5.0000000000000000, 2.0000000000000000,
7984 8.0000000000000000, 0.70000000000000018, 0.0 },
7985 { 4.9587762302155403, 5.0000000000000000, 2.0000000000000000,
7986 8.0000000000000000, 0.80000000000000004, 0.0 },
7987 { 7.7740847924166907, 5.0000000000000000, 2.0000000000000000,
7988 8.0000000000000000, 0.90000000000000013, 0.0 },
7990 const double toler159 = 2.5000000000000020e-13;
7992 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
7993 // max(|f - f_GSL|): 4.4408920985006262e-15 at index 18
7994 // max(|f - f_GSL| / |f_GSL|): 1.0721199711322765e-15
7995 // mean(f - f_GSL): 3.5059674461847049e-16
7996 // variance(f - f_GSL): 9.8111051098089205e-31
7997 // stddev(f - f_GSL): 9.9051022760034740e-16
7998 const testcase_hyperg<double>
7999 data160[19] =
8001 { 0.48860241312958436, 5.0000000000000000, 2.0000000000000000,
8002 10.000000000000000, -0.90000000000000002, 0.0 },
8003 { 0.52193382517068487, 5.0000000000000000, 2.0000000000000000,
8004 10.000000000000000, -0.80000000000000004, 0.0 },
8005 { 0.55902375003954219, 5.0000000000000000, 2.0000000000000000,
8006 10.000000000000000, -0.69999999999999996, 0.0 },
8007 { 0.60049055150230324, 5.0000000000000000, 2.0000000000000000,
8008 10.000000000000000, -0.59999999999999998, 0.0 },
8009 { 0.64709127927203469, 5.0000000000000000, 2.0000000000000000,
8010 10.000000000000000, -0.50000000000000000, 0.0 },
8011 { 0.69976233335368998, 5.0000000000000000, 2.0000000000000000,
8012 10.000000000000000, -0.39999999999999991, 0.0 },
8013 { 0.75967529501080988, 5.0000000000000000, 2.0000000000000000,
8014 10.000000000000000, -0.29999999999999993, 0.0 },
8015 { 0.82831498895254407, 5.0000000000000000, 2.0000000000000000,
8016 10.000000000000000, -0.19999999999999996, 0.0 },
8017 { 0.90759090169653933, 5.0000000000000000, 2.0000000000000000,
8018 10.000000000000000, -0.099999999999999978, 0.0 },
8019 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
8020 10.000000000000000, 0.0000000000000000, 0.0 },
8021 { 1.1088712278667465, 5.0000000000000000, 2.0000000000000000,
8022 10.000000000000000, 0.10000000000000009, 0.0 },
8023 { 1.2387445478440855, 5.0000000000000000, 2.0000000000000000,
8024 10.000000000000000, 0.20000000000000018, 0.0 },
8025 { 1.3959812720437546, 5.0000000000000000, 2.0000000000000000,
8026 10.000000000000000, 0.30000000000000004, 0.0 },
8027 { 1.5897930661091169, 5.0000000000000000, 2.0000000000000000,
8028 10.000000000000000, 0.40000000000000013, 0.0 },
8029 { 1.8340789380307454, 5.0000000000000000, 2.0000000000000000,
8030 10.000000000000000, 0.50000000000000000, 0.0 },
8031 { 2.1509548085970764, 5.0000000000000000, 2.0000000000000000,
8032 10.000000000000000, 0.60000000000000009, 0.0 },
8033 { 2.5782406951207526, 5.0000000000000000, 2.0000000000000000,
8034 10.000000000000000, 0.70000000000000018, 0.0 },
8035 { 3.1877847194242737, 5.0000000000000000, 2.0000000000000000,
8036 10.000000000000000, 0.80000000000000004, 0.0 },
8037 { 4.1421596631676918, 5.0000000000000000, 2.0000000000000000,
8038 10.000000000000000, 0.90000000000000013, 0.0 },
8040 const double toler160 = 2.5000000000000020e-13;
8042 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
8043 // max(|f - f_GSL|): 1.3113021850585938e-06 at index 18
8044 // max(|f - f_GSL| / |f_GSL|): 2.9699111427019355e-14
8045 // mean(f - f_GSL): 6.9091057386613658e-08
8046 // variance(f - f_GSL): 9.0489756878178256e-14
8047 // stddev(f - f_GSL): 3.0081515400354792e-07
8048 const testcase_hyperg<double>
8049 data161[19] =
8051 { -0.0047236848832209926, 5.0000000000000000, 5.0000000000000000,
8052 2.0000000000000000, -0.90000000000000002, 0.0 },
8053 { -0.0073321496427104288, 5.0000000000000000, 5.0000000000000000,
8054 2.0000000000000000, -0.80000000000000004, 0.0 },
8055 { -0.010977302557845620, 5.0000000000000000, 5.0000000000000000,
8056 2.0000000000000000, -0.69999999999999996, 0.0 },
8057 { -0.015692785382270882, 5.0000000000000000, 5.0000000000000000,
8058 2.0000000000000000, -0.59999999999999998, 0.0 },
8059 { -0.020728547477518663, 5.0000000000000000, 5.0000000000000000,
8060 2.0000000000000000, -0.50000000000000000, 0.0 },
8061 { -0.022767481479412773, 5.0000000000000000, 5.0000000000000000,
8062 2.0000000000000000, -0.39999999999999991, 0.0 },
8063 { -0.010634636868114097, 5.0000000000000000, 5.0000000000000000,
8064 2.0000000000000000, -0.29999999999999993, 0.0 },
8065 { 0.050699832580781923, 5.0000000000000000, 5.0000000000000000,
8066 2.0000000000000000, -0.19999999999999996, 0.0 },
8067 { 0.27045765367659280, 5.0000000000000000, 5.0000000000000000,
8068 2.0000000000000000, -0.099999999999999978, 0.0 },
8069 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
8070 2.0000000000000000, 0.0000000000000000, 0.0 },
8071 { 3.4387055868901171, 5.0000000000000000, 5.0000000000000000,
8072 2.0000000000000000, 0.10000000000000009, 0.0 },
8073 { 12.052059173584013, 5.0000000000000000, 5.0000000000000000,
8074 2.0000000000000000, 0.20000000000000018, 0.0 },
8075 { 45.565319600798020, 5.0000000000000000, 5.0000000000000000,
8076 2.0000000000000000, 0.30000000000000004, 0.0 },
8077 { 196.23532998018635, 5.0000000000000000, 5.0000000000000000,
8078 2.0000000000000000, 0.40000000000000013, 0.0 },
8079 { 1032.0000000000002, 5.0000000000000000, 5.0000000000000000,
8080 2.0000000000000000, 0.50000000000000000, 0.0 },
8081 { 7376.0986328125073, 5.0000000000000000, 5.0000000000000000,
8082 2.0000000000000000, 0.60000000000000009, 0.0 },
8083 { 86964.639536656410, 5.0000000000000000, 5.0000000000000000,
8084 2.0000000000000000, 0.70000000000000018, 0.0 },
8085 { 2596875.0000000009, 5.0000000000000000, 5.0000000000000000,
8086 2.0000000000000000, 0.80000000000000004, 0.0 },
8087 { 766225000.00000668, 5.0000000000000000, 5.0000000000000000,
8088 2.0000000000000000, 0.90000000000000013, 0.0 },
8090 const double toler161 = 2.5000000000000015e-12;
8092 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
8093 // max(|f - f_GSL|): 1.8626451492309570e-09 at index 18
8094 // max(|f - f_GSL| / |f_GSL|): 1.5205266524334267e-15
8095 // mean(f - f_GSL): 9.8838934113244577e-11
8096 // variance(f - f_GSL): 1.8243591026317757e-19
8097 // stddev(f - f_GSL): 4.2712516931594835e-10
8098 const testcase_hyperg<double>
8099 data162[19] =
8101 { 0.016473280625778776, 5.0000000000000000, 5.0000000000000000,
8102 4.0000000000000000, -0.90000000000000002, 0.0 },
8103 { 0.023520955289486591, 5.0000000000000000, 5.0000000000000000,
8104 4.0000000000000000, -0.80000000000000004, 0.0 },
8105 { 0.034179084066005165, 5.0000000000000000, 5.0000000000000000,
8106 4.0000000000000000, -0.69999999999999996, 0.0 },
8107 { 0.050663948059081955, 5.0000000000000000, 5.0000000000000000,
8108 4.0000000000000000, -0.59999999999999998, 0.0 },
8109 { 0.076817558299039870, 5.0000000000000000, 5.0000000000000000,
8110 4.0000000000000000, -0.50000000000000000, 0.0 },
8111 { 0.11952927776691663, 5.0000000000000000, 5.0000000000000000,
8112 4.0000000000000000, -0.39999999999999991, 0.0 },
8113 { 0.19163799520552807, 5.0000000000000000, 5.0000000000000000,
8114 4.0000000000000000, -0.29999999999999993, 0.0 },
8115 { 0.31815307784636504, 5.0000000000000000, 5.0000000000000000,
8116 4.0000000000000000, -0.19999999999999996, 0.0 },
8117 { 0.55036208180243285, 5.0000000000000000, 5.0000000000000000,
8118 4.0000000000000000, -0.099999999999999978, 0.0 },
8119 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
8120 4.0000000000000000, 0.0000000000000000, 0.0 },
8121 { 1.9287183337378946, 5.0000000000000000, 5.0000000000000000,
8122 4.0000000000000000, 0.10000000000000009, 0.0 },
8123 { 4.0054321289062544, 5.0000000000000000, 5.0000000000000000,
8124 4.0000000000000000, 0.20000000000000018, 0.0 },
8125 { 9.1373492337376394, 5.0000000000000000, 5.0000000000000000,
8126 4.0000000000000000, 0.30000000000000004, 0.0 },
8127 { 23.576817558299062, 5.0000000000000000, 5.0000000000000000,
8128 4.0000000000000000, 0.40000000000000013, 0.0 },
8129 { 71.999999999999972, 5.0000000000000000, 5.0000000000000000,
8130 4.0000000000000000, 0.50000000000000000, 0.0 },
8131 { 280.76171875000023, 5.0000000000000000, 5.0000000000000000,
8132 4.0000000000000000, 0.60000000000000009, 0.0 },
8133 { 1611.7969821673578, 5.0000000000000000, 5.0000000000000000,
8134 4.0000000000000000, 0.70000000000000018, 0.0 },
8135 { 18749.999999999996, 5.0000000000000000, 5.0000000000000000,
8136 4.0000000000000000, 0.80000000000000004, 0.0 },
8137 { 1225000.0000000061, 5.0000000000000000, 5.0000000000000000,
8138 4.0000000000000000, 0.90000000000000013, 0.0 },
8140 const double toler162 = 2.5000000000000020e-13;
8142 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
8143 // max(|f - f_GSL|): 1.8189894035458565e-11 at index 18
8144 // max(|f - f_GSL| / |f_GSL|): 1.5011259042308243e-15
8145 // mean(f - f_GSL): 9.8916196870839876e-13
8146 // variance(f - f_GSL): 1.7350118793242040e-23
8147 // stddev(f - f_GSL): 4.1653473796601937e-12
8148 const testcase_hyperg<double>
8149 data163[19] =
8151 { 0.067462409738203527, 5.0000000000000000, 5.0000000000000000,
8152 6.0000000000000000, -0.90000000000000002, 0.0 },
8153 { 0.084813629887172531, 5.0000000000000000, 5.0000000000000000,
8154 6.0000000000000000, -0.80000000000000004, 0.0 },
8155 { 0.10799223563666395, 5.0000000000000000, 5.0000000000000000,
8156 6.0000000000000000, -0.69999999999999996, 0.0 },
8157 { 0.13947766136095380, 5.0000000000000000, 5.0000000000000000,
8158 6.0000000000000000, -0.59999999999999998, 0.0 },
8159 { 0.18305927261494301, 5.0000000000000000, 5.0000000000000000,
8160 6.0000000000000000, -0.50000000000000000, 0.0 },
8161 { 0.24468431546783478, 5.0000000000000000, 5.0000000000000000,
8162 6.0000000000000000, -0.39999999999999991, 0.0 },
8163 { 0.33397274564972962, 5.0000000000000000, 5.0000000000000000,
8164 6.0000000000000000, -0.29999999999999993, 0.0 },
8165 { 0.46703323887436765, 5.0000000000000000, 5.0000000000000000,
8166 6.0000000000000000, -0.19999999999999996, 0.0 },
8167 { 0.67194346197695642, 5.0000000000000000, 5.0000000000000000,
8168 6.0000000000000000, -0.099999999999999978, 0.0 },
8169 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
8170 6.0000000000000000, 0.0000000000000000, 0.0 },
8171 { 1.5503148146900136, 5.0000000000000000, 5.0000000000000000,
8172 6.0000000000000000, 0.10000000000000009, 0.0 },
8173 { 2.5278200136941025, 5.0000000000000000, 5.0000000000000000,
8174 6.0000000000000000, 0.20000000000000018, 0.0 },
8175 { 4.3933515329658954, 5.0000000000000000, 5.0000000000000000,
8176 6.0000000000000000, 0.30000000000000004, 0.0 },
8177 { 8.3000308946111048, 5.0000000000000000, 5.0000000000000000,
8178 6.0000000000000000, 0.40000000000000013, 0.0 },
8179 { 17.570215556257921, 5.0000000000000000, 5.0000000000000000,
8180 6.0000000000000000, 0.50000000000000000, 0.0 },
8181 { 43.847462183266167, 5.0000000000000000, 5.0000000000000000,
8182 6.0000000000000000, 0.60000000000000009, 0.0 },
8183 { 141.86909082943893, 5.0000000000000000, 5.0000000000000000,
8184 6.0000000000000000, 0.70000000000000018, 0.0 },
8185 { 736.63489653168926, 5.0000000000000000, 5.0000000000000000,
8186 6.0000000000000000, 0.80000000000000004, 0.0 },
8187 { 12117.500593515540, 5.0000000000000000, 5.0000000000000000,
8188 6.0000000000000000, 0.90000000000000013, 0.0 },
8190 const double toler163 = 2.5000000000000020e-13;
8192 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
8193 // max(|f - f_GSL|): 6.8212102632969618e-13 at index 18
8194 // max(|f - f_GSL| / |f_GSL|): 1.3038469641917422e-15
8195 // mean(f - f_GSL): 3.9518096397578601e-14
8196 // variance(f - f_GSL): 2.4215530819720675e-26
8197 // stddev(f - f_GSL): 1.5561340179984714e-13
8198 const testcase_hyperg<double>
8199 data164[19] =
8201 { 0.12409443806004226, 5.0000000000000000, 5.0000000000000000,
8202 8.0000000000000000, -0.90000000000000002, 0.0 },
8203 { 0.14886910375100415, 5.0000000000000000, 5.0000000000000000,
8204 8.0000000000000000, -0.80000000000000004, 0.0 },
8205 { 0.18023328876836348, 5.0000000000000000, 5.0000000000000000,
8206 8.0000000000000000, -0.69999999999999996, 0.0 },
8207 { 0.22044046981094723, 5.0000000000000000, 5.0000000000000000,
8208 8.0000000000000000, -0.59999999999999998, 0.0 },
8209 { 0.27271160690708790, 5.0000000000000000, 5.0000000000000000,
8210 8.0000000000000000, -0.50000000000000000, 0.0 },
8211 { 0.34174821195025845, 5.0000000000000000, 5.0000000000000000,
8212 8.0000000000000000, -0.39999999999999991, 0.0 },
8213 { 0.43457788826160282, 5.0000000000000000, 5.0000000000000000,
8214 8.0000000000000000, -0.29999999999999993, 0.0 },
8215 { 0.56199385898404552, 5.0000000000000000, 5.0000000000000000,
8216 8.0000000000000000, -0.19999999999999996, 0.0 },
8217 { 0.74109892753745221, 5.0000000000000000, 5.0000000000000000,
8218 8.0000000000000000, -0.099999999999999978, 0.0 },
8219 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
8220 8.0000000000000000, 0.0000000000000000, 0.0 },
8221 { 1.3869229400096228, 5.0000000000000000, 5.0000000000000000,
8222 8.0000000000000000, 0.10000000000000009, 0.0 },
8223 { 1.9890168748121269, 5.0000000000000000, 5.0000000000000000,
8224 8.0000000000000000, 0.20000000000000018, 0.0 },
8225 { 2.9741205609307424, 5.0000000000000000, 5.0000000000000000,
8226 8.0000000000000000, 0.30000000000000004, 0.0 },
8227 { 4.6924751038237345, 5.0000000000000000, 5.0000000000000000,
8228 8.0000000000000000, 0.40000000000000013, 0.0 },
8229 { 7.9555939380658254, 5.0000000000000000, 5.0000000000000000,
8230 8.0000000000000000, 0.50000000000000000, 0.0 },
8231 { 14.933102063314404, 5.0000000000000000, 5.0000000000000000,
8232 8.0000000000000000, 0.60000000000000009, 0.0 },
8233 { 32.780461638447541, 5.0000000000000000, 5.0000000000000000,
8234 8.0000000000000000, 0.70000000000000018, 0.0 },
8235 { 94.848124287773530, 5.0000000000000000, 5.0000000000000000,
8236 8.0000000000000000, 0.80000000000000004, 0.0 },
8237 { 523.16034401517709, 5.0000000000000000, 5.0000000000000000,
8238 8.0000000000000000, 0.90000000000000013, 0.0 },
8240 const double toler164 = 2.5000000000000020e-13;
8242 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
8243 // max(|f - f_GSL|): 9.9475983006414026e-14 at index 18
8244 // max(|f - f_GSL| / |f_GSL|): 1.3163001721303552e-15
8245 // mean(f - f_GSL): 6.1880325425160040e-15
8246 // variance(f - f_GSL): 5.1034009979425656e-28
8247 // stddev(f - f_GSL): 2.2590708262342210e-14
8248 const testcase_hyperg<double>
8249 data165[19] =
8251 { 0.17885405888526873, 5.0000000000000000, 5.0000000000000000,
8252 10.000000000000000, -0.90000000000000002, 0.0 },
8253 { 0.20861302518993391, 5.0000000000000000, 5.0000000000000000,
8254 10.000000000000000, -0.80000000000000004, 0.0 },
8255 { 0.24504033307244946, 5.0000000000000000, 5.0000000000000000,
8256 10.000000000000000, -0.69999999999999996, 0.0 },
8257 { 0.29007236051133489, 5.0000000000000000, 5.0000000000000000,
8258 10.000000000000000, -0.59999999999999998, 0.0 },
8259 { 0.34635542859732737, 5.0000000000000000, 5.0000000000000000,
8260 10.000000000000000, -0.50000000000000000, 0.0 },
8261 { 0.41756858504598410, 5.0000000000000000, 5.0000000000000000,
8262 10.000000000000000, -0.39999999999999991, 0.0 },
8263 { 0.50892615622124393, 5.0000000000000000, 5.0000000000000000,
8264 10.000000000000000, -0.29999999999999993, 0.0 },
8265 { 0.62798173270509761, 5.0000000000000000, 5.0000000000000000,
8266 10.000000000000000, -0.19999999999999996, 0.0 },
8267 { 0.78595487360378424, 5.0000000000000000, 5.0000000000000000,
8268 10.000000000000000, -0.099999999999999978, 0.0 },
8269 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
8270 10.000000000000000, 0.0000000000000000, 0.0 },
8271 { 1.2972517637384813, 5.0000000000000000, 5.0000000000000000,
8272 10.000000000000000, 0.10000000000000009, 0.0 },
8273 { 1.7224028197396399, 5.0000000000000000, 5.0000000000000000,
8274 10.000000000000000, 0.20000000000000018, 0.0 },
8275 { 2.3527690438263305, 5.0000000000000000, 5.0000000000000000,
8276 10.000000000000000, 0.30000000000000004, 0.0 },
8277 { 3.3305218060101147, 5.0000000000000000, 5.0000000000000000,
8278 10.000000000000000, 0.40000000000000013, 0.0 },
8279 { 4.9383884076775466, 5.0000000000000000, 5.0000000000000000,
8280 10.000000000000000, 0.50000000000000000, 0.0 },
8281 { 7.8007604680775229, 5.0000000000000000, 5.0000000000000000,
8282 10.000000000000000, 0.60000000000000009, 0.0 },
8283 { 13.518663719271903, 5.0000000000000000, 5.0000000000000000,
8284 10.000000000000000, 0.70000000000000018, 0.0 },
8285 { 27.285345906502567, 5.0000000000000000, 5.0000000000000000,
8286 10.000000000000000, 0.80000000000000004, 0.0 },
8287 { 75.572415101502216, 5.0000000000000000, 5.0000000000000000,
8288 10.000000000000000, 0.90000000000000013, 0.0 },
8290 const double toler165 = 2.5000000000000020e-13;
8292 // Test data for a=5.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
8293 // max(|f - f_GSL|): 0.81250000000000000 at index 18
8294 // max(|f - f_GSL| / |f_GSL|): 1.8182428501096257e-15
8295 // mean(f - f_GSL): 0.042765168793266639
8296 // variance(f - f_GSL): 0.034744884250260212
8297 // stddev(f - f_GSL): 0.18639979680852714
8298 const testcase_hyperg<double>
8299 data166[19] =
8301 { 0.00063586451658060813, 5.0000000000000000, 10.000000000000000,
8302 2.0000000000000000, -0.90000000000000002, 0.0 },
8303 { 0.0010334743461763829, 5.0000000000000000, 10.000000000000000,
8304 2.0000000000000000, -0.80000000000000004, 0.0 },
8305 { 0.0015326246054669763, 5.0000000000000000, 10.000000000000000,
8306 2.0000000000000000, -0.69999999999999996, 0.0 },
8307 { 0.0019007018181583513, 5.0000000000000000, 10.000000000000000,
8308 2.0000000000000000, -0.59999999999999998, 0.0 },
8309 { 0.0012845577715431562, 5.0000000000000000, 10.000000000000000,
8310 2.0000000000000000, -0.50000000000000000, 0.0 },
8311 { -0.0027213806178060305, 5.0000000000000000, 10.000000000000000,
8312 2.0000000000000000, -0.39999999999999991, 0.0 },
8313 { -0.015121744574954044, 5.0000000000000000, 10.000000000000000,
8314 2.0000000000000000, -0.29999999999999993, 0.0 },
8315 { -0.036637840562974290, 5.0000000000000000, 10.000000000000000,
8316 2.0000000000000000, -0.19999999999999996, 0.0 },
8317 { 0.019117849062621605, 5.0000000000000000, 10.000000000000000,
8318 2.0000000000000000, -0.099999999999999978, 0.0 },
8319 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
8320 2.0000000000000000, 0.0000000000000000, 0.0 },
8321 { 9.8116901852350615, 5.0000000000000000, 10.000000000000000,
8322 2.0000000000000000, 0.10000000000000009, 0.0 },
8323 { 84.255589172244427, 5.0000000000000000, 10.000000000000000,
8324 2.0000000000000000, 0.20000000000000018, 0.0 },
8325 { 773.87517619421294, 5.0000000000000000, 10.000000000000000,
8326 2.0000000000000000, 0.30000000000000004, 0.0 },
8327 { 8556.9725363054076, 5.0000000000000000, 10.000000000000000,
8328 2.0000000000000000, 0.40000000000000013, 0.0 },
8329 { 129023.99999999996, 5.0000000000000000, 10.000000000000000,
8330 2.0000000000000000, 0.50000000000000000, 0.0 },
8331 { 3174543.3807373112, 5.0000000000000000, 10.000000000000000,
8332 2.0000000000000000, 0.60000000000000009, 0.0 },
8333 { 175133896.95814583, 5.0000000000000000, 10.000000000000000,
8334 2.0000000000000000, 0.70000000000000018, 0.0 },
8335 { 43564453125.000061, 5.0000000000000000, 10.000000000000000,
8336 2.0000000000000000, 0.80000000000000004, 0.0 },
8337 { 446860000000007.00, 5.0000000000000000, 10.000000000000000,
8338 2.0000000000000000, 0.90000000000000013, 0.0 },
8340 const double toler166 = 2.5000000000000020e-13;
8342 // Test data for a=5.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
8343 // max(|f - f_GSL|): 0.00039672851562500000 at index 18
8344 // max(|f - f_GSL| / |f_GSL|): 1.6882064494680641e-15
8345 // mean(f - f_GSL): 2.0884382210121993e-05
8346 // variance(f - f_GSL): 8.2836958019297269e-09
8347 // stddev(f - f_GSL): 9.1014810893226203e-05
8348 const testcase_hyperg<double>
8349 data167[19] =
8351 { -0.00030045430691814646, 5.0000000000000000, 10.000000000000000,
8352 4.0000000000000000, -0.90000000000000002, 0.0 },
8353 { -0.00031119487747322054, 5.0000000000000000, 10.000000000000000,
8354 4.0000000000000000, -0.80000000000000004, 0.0 },
8355 { -0.00014589213141656318, 5.0000000000000000, 10.000000000000000,
8356 4.0000000000000000, -0.69999999999999996, 0.0 },
8357 { 0.00056843418860824636, 5.0000000000000000, 10.000000000000000,
8358 4.0000000000000000, -0.59999999999999998, 0.0 },
8359 { 0.0028902549859721747, 5.0000000000000000, 10.000000000000000,
8360 4.0000000000000000, -0.50000000000000000, 0.0 },
8361 { 0.0098776037238877245, 5.0000000000000000, 10.000000000000000,
8362 4.0000000000000000, -0.39999999999999991, 0.0 },
8363 { 0.030689217428863859, 5.0000000000000000, 10.000000000000000,
8364 4.0000000000000000, -0.29999999999999993, 0.0 },
8365 { 0.094211590019076558, 5.0000000000000000, 10.000000000000000,
8366 4.0000000000000000, -0.19999999999999996, 0.0 },
8367 { 0.29791981455918370, 5.0000000000000000, 10.000000000000000,
8368 4.0000000000000000, -0.099999999999999978, 0.0 },
8369 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
8370 4.0000000000000000, 0.0000000000000000, 0.0 },
8371 { 3.6646308771236793, 5.0000000000000000, 10.000000000000000,
8372 4.0000000000000000, 0.10000000000000009, 0.0 },
8373 { 15.133991837501567, 5.0000000000000000, 10.000000000000000,
8374 4.0000000000000000, 0.20000000000000018, 0.0 },
8375 { 73.331330046144089, 5.0000000000000000, 10.000000000000000,
8376 4.0000000000000000, 0.30000000000000004, 0.0 },
8377 { 441.01791167787303, 5.0000000000000000, 10.000000000000000,
8378 4.0000000000000000, 0.40000000000000013, 0.0 },
8379 { 3583.9999999999991, 5.0000000000000000, 10.000000000000000,
8380 4.0000000000000000, 0.50000000000000000, 0.0 },
8381 { 45299.530029296984, 5.0000000000000000, 10.000000000000000,
8382 4.0000000000000000, 0.60000000000000009, 0.0 },
8383 { 1157231.0002427436, 5.0000000000000000, 10.000000000000000,
8384 4.0000000000000000, 0.70000000000000018, 0.0 },
8385 { 107421875.00000016, 5.0000000000000000, 10.000000000000000,
8386 4.0000000000000000, 0.80000000000000004, 0.0 },
8387 { 235000000000.00293, 5.0000000000000000, 10.000000000000000,
8388 4.0000000000000000, 0.90000000000000013, 0.0 },
8390 const double toler167 = 2.5000000000000020e-13;
8392 // Test data for a=5.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
8393 // max(|f - f_GSL|): 9.5367431640625000e-07 at index 18
8394 // max(|f - f_GSL| / |f_GSL|): 1.6314276114917587e-15
8395 // mean(f - f_GSL): 5.0242811922592076e-08
8396 // variance(f - f_GSL): 4.7862904884501567e-14
8397 // stddev(f - f_GSL): 2.1877592391417655e-07
8398 const testcase_hyperg<double>
8399 data168[19] =
8401 { 0.0058530497315413248, 5.0000000000000000, 10.000000000000000,
8402 6.0000000000000000, -0.90000000000000002, 0.0 },
8403 { 0.0088526869356855397, 5.0000000000000000, 10.000000000000000,
8404 6.0000000000000000, -0.80000000000000004, 0.0 },
8405 { 0.013770987983442959, 5.0000000000000000, 10.000000000000000,
8406 6.0000000000000000, -0.69999999999999996, 0.0 },
8407 { 0.022108932690960776, 5.0000000000000000, 10.000000000000000,
8408 6.0000000000000000, -0.59999999999999998, 0.0 },
8409 { 0.036786236450921550, 5.0000000000000000, 10.000000000000000,
8410 6.0000000000000000, -0.50000000000000000, 0.0 },
8411 { 0.063750669040426408, 5.0000000000000000, 10.000000000000000,
8412 6.0000000000000000, -0.39999999999999991, 0.0 },
8413 { 0.11577228680714466, 5.0000000000000000, 10.000000000000000,
8414 6.0000000000000000, -0.29999999999999993, 0.0 },
8415 { 0.22197573416125760, 5.0000000000000000, 10.000000000000000,
8416 6.0000000000000000, -0.19999999999999996, 0.0 },
8417 { 0.45361312968415324, 5.0000000000000000, 10.000000000000000,
8418 6.0000000000000000, -0.099999999999999978, 0.0 },
8419 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
8420 6.0000000000000000, 0.0000000000000000, 0.0 },
8421 { 2.4162889363082747, 5.0000000000000000, 10.000000000000000,
8422 6.0000000000000000, 0.10000000000000009, 0.0 },
8423 { 6.5381564791240541, 5.0000000000000000, 10.000000000000000,
8424 6.0000000000000000, 0.20000000000000018, 0.0 },
8425 { 20.415771011498428, 5.0000000000000000, 10.000000000000000,
8426 6.0000000000000000, 0.30000000000000004, 0.0 },
8427 { 76.870682056629448, 5.0000000000000000, 10.000000000000000,
8428 6.0000000000000000, 0.40000000000000013, 0.0 },
8429 { 373.58730158730162, 5.0000000000000000, 10.000000000000000,
8430 6.0000000000000000, 0.50000000000000000, 0.0 },
8431 { 2626.2555803571477, 5.0000000000000000, 10.000000000000000,
8432 6.0000000000000000, 0.60000000000000009, 0.0 },
8433 { 33060.960671081237, 5.0000000000000000, 10.000000000000000,
8434 6.0000000000000000, 0.70000000000000018, 0.0 },
8435 { 1203521.8253968258, 5.0000000000000000, 10.000000000000000,
8436 6.0000000000000000, 0.80000000000000004, 0.0 },
8437 { 584564285.71428990, 5.0000000000000000, 10.000000000000000,
8438 6.0000000000000000, 0.90000000000000013, 0.0 },
8440 const double toler168 = 2.5000000000000020e-13;
8442 // Test data for a=5.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
8443 // max(|f - f_GSL|): 7.4505805969238281e-09 at index 18
8444 // max(|f - f_GSL| / |f_GSL|): 1.6196914341138665e-15
8445 // mean(f - f_GSL): 3.9331532183208954e-10
8446 // variance(f - f_GSL): 2.9206631793126476e-18
8447 // stddev(f - f_GSL): 1.7089947862157589e-09
8448 const testcase_hyperg<double>
8449 data169[19] =
8451 { 0.020248990107069573, 5.0000000000000000, 10.000000000000000,
8452 8.0000000000000000, -0.90000000000000002, 0.0 },
8453 { 0.027876687750502366, 5.0000000000000000, 10.000000000000000,
8454 8.0000000000000000, -0.80000000000000004, 0.0 },
8455 { 0.039154648888447607, 5.0000000000000000, 10.000000000000000,
8456 8.0000000000000000, -0.69999999999999996, 0.0 },
8457 { 0.056251883506774715, 5.0000000000000000, 10.000000000000000,
8458 8.0000000000000000, -0.59999999999999998, 0.0 },
8459 { 0.082914189910074473, 5.0000000000000000, 10.000000000000000,
8460 8.0000000000000000, -0.50000000000000000, 0.0 },
8461 { 0.12585357817786472, 5.0000000000000000, 10.000000000000000,
8462 8.0000000000000000, -0.39999999999999991, 0.0 },
8463 { 0.19761423206224940, 5.0000000000000000, 10.000000000000000,
8464 8.0000000000000000, -0.29999999999999993, 0.0 },
8465 { 0.32280443863359237, 5.0000000000000000, 10.000000000000000,
8466 8.0000000000000000, -0.19999999999999996, 0.0 },
8467 { 0.55250024062839420, 5.0000000000000000, 10.000000000000000,
8468 8.0000000000000000, -0.099999999999999978, 0.0 },
8469 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
8470 8.0000000000000000, 0.0000000000000000, 0.0 },
8471 { 1.9374297986599267, 5.0000000000000000, 10.000000000000000,
8472 8.0000000000000000, 0.10000000000000009, 0.0 },
8473 { 4.0849049886067759, 5.0000000000000000, 10.000000000000000,
8474 8.0000000000000000, 0.20000000000000018, 0.0 },
8475 { 9.5926988633258983, 5.0000000000000000, 10.000000000000000,
8476 8.0000000000000000, 0.30000000000000004, 0.0 },
8477 { 25.958314281359588, 5.0000000000000000, 10.000000000000000,
8478 8.0000000000000000, 0.40000000000000013, 0.0 },
8479 { 85.333333333333300, 5.0000000000000000, 10.000000000000000,
8480 8.0000000000000000, 0.50000000000000000, 0.0 },
8481 { 372.31445312500028, 5.0000000000000000, 10.000000000000000,
8482 8.0000000000000000, 0.60000000000000009, 0.0 },
8483 { 2545.3436976070780, 5.0000000000000000, 10.000000000000000,
8484 8.0000000000000000, 0.70000000000000018, 0.0 },
8485 { 39583.333333333343, 5.0000000000000000, 10.000000000000000,
8486 8.0000000000000000, 0.80000000000000004, 0.0 },
8487 { 4600000.0000000261, 5.0000000000000000, 10.000000000000000,
8488 8.0000000000000000, 0.90000000000000013, 0.0 },
8490 const double toler169 = 2.5000000000000020e-13;
8492 // Test data for a=5.0000000000000000, b=10.000000000000000, c=10.000000000000000.
8493 // max(|f - f_GSL|): 1.0186340659856796e-10 at index 18
8494 // max(|f - f_GSL| / |f_GSL|): 1.1641532182693482e-15
8495 // mean(f - f_GSL): 5.5487040400966458e-12
8496 // variance(f - f_GSL): 5.4399356990620132e-22
8497 // stddev(f - f_GSL): 2.3323669734975269e-11
8498 const testcase_hyperg<double>
8499 data170[19] =
8501 { 0.040386107340619273, 5.0000000000000000, 10.000000000000000,
8502 10.000000000000000, -0.90000000000000002, 0.0 },
8503 { 0.052922149401344633, 5.0000000000000000, 10.000000000000000,
8504 10.000000000000000, -0.80000000000000004, 0.0 },
8505 { 0.070429627772374270, 5.0000000000000000, 10.000000000000000,
8506 10.000000000000000, -0.69999999999999996, 0.0 },
8507 { 0.095367431640624986, 5.0000000000000000, 10.000000000000000,
8508 10.000000000000000, -0.59999999999999998, 0.0 },
8509 { 0.13168724279835389, 5.0000000000000000, 10.000000000000000,
8510 10.000000000000000, -0.50000000000000000, 0.0 },
8511 { 0.18593443208187072, 5.0000000000000000, 10.000000000000000,
8512 10.000000000000000, -0.39999999999999991, 0.0 },
8513 { 0.26932907434290460, 5.0000000000000000, 10.000000000000000,
8514 10.000000000000000, -0.29999999999999993, 0.0 },
8515 { 0.40187757201646102, 5.0000000000000000, 10.000000000000000,
8516 10.000000000000000, -0.19999999999999996, 0.0 },
8517 { 0.62092132305915493, 5.0000000000000000, 10.000000000000000,
8518 10.000000000000000, -0.099999999999999978, 0.0 },
8519 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
8520 10.000000000000000, 0.0000000000000000, 0.0 },
8521 { 1.6935087808430296, 5.0000000000000000, 10.000000000000000,
8522 10.000000000000000, 0.10000000000000009, 0.0 },
8523 { 3.0517578125000036, 5.0000000000000000, 10.000000000000000,
8524 10.000000000000000, 0.20000000000000018, 0.0 },
8525 { 5.9499018266198629, 5.0000000000000000, 10.000000000000000,
8526 10.000000000000000, 0.30000000000000004, 0.0 },
8527 { 12.860082304526767, 5.0000000000000000, 10.000000000000000,
8528 10.000000000000000, 0.40000000000000013, 0.0 },
8529 { 32.000000000000000, 5.0000000000000000, 10.000000000000000,
8530 10.000000000000000, 0.50000000000000000, 0.0 },
8531 { 97.656250000000114, 5.0000000000000000, 10.000000000000000,
8532 10.000000000000000, 0.60000000000000009, 0.0 },
8533 { 411.52263374485722, 5.0000000000000000, 10.000000000000000,
8534 10.000000000000000, 0.70000000000000018, 0.0 },
8535 { 3124.9999999999995, 5.0000000000000000, 10.000000000000000,
8536 10.000000000000000, 0.80000000000000004, 0.0 },
8537 { 100000.00000000055, 5.0000000000000000, 10.000000000000000,
8538 10.000000000000000, 0.90000000000000013, 0.0 },
8540 const double toler170 = 2.5000000000000020e-13;
8542 // Test data for a=5.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
8543 // max(|f - f_GSL|): 60129542144.000000 at index 18
8544 // max(|f - f_GSL| / |f_GSL|): 2.0181355730232468e-15
8545 // mean(f - f_GSL): 3164712852.2154636
8546 // variance(f - f_GSL): 1.9029272767041847e+20
8547 // stddev(f - f_GSL): 13794663014.021708
8548 const testcase_hyperg<double>
8549 data171[19] =
8551 { -1.8650300348790099e-05, 5.0000000000000000, 20.000000000000000,
8552 2.0000000000000000, -0.90000000000000002, 0.0 },
8553 { -3.6488008415371319e-05, 5.0000000000000000, 20.000000000000000,
8554 2.0000000000000000, -0.80000000000000004, 0.0 },
8555 { -6.4614776410961038e-05, 5.0000000000000000, 20.000000000000000,
8556 2.0000000000000000, -0.69999999999999996, 0.0 },
8557 { -8.4495207102246549e-05, 5.0000000000000000, 20.000000000000000,
8558 2.0000000000000000, -0.59999999999999998, 0.0 },
8559 { 2.2276197023825424e-05, 5.0000000000000000, 20.000000000000000,
8560 2.0000000000000000, -0.50000000000000000, 0.0 },
8561 { 0.00070736115111457809, 5.0000000000000000, 20.000000000000000,
8562 2.0000000000000000, -0.39999999999999991, 0.0 },
8563 { 0.0027829732057272588, 5.0000000000000000, 20.000000000000000,
8564 2.0000000000000000, -0.29999999999999993, 0.0 },
8565 { 0.0013283545664371644, 5.0000000000000000, 20.000000000000000,
8566 2.0000000000000000, -0.19999999999999996, 0.0 },
8567 { -0.041767631015048774, 5.0000000000000000, 20.000000000000000,
8568 2.0000000000000000, -0.099999999999999978, 0.0 },
8569 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8570 2.0000000000000000, 0.0000000000000000, 0.0 },
8571 { 61.311496556100003, 5.0000000000000000, 20.000000000000000,
8572 2.0000000000000000, 0.10000000000000009, 0.0 },
8573 { 2397.4420539085872, 5.0000000000000000, 20.000000000000000,
8574 2.0000000000000000, 0.20000000000000018, 0.0 },
8575 { 103687.60998586559, 5.0000000000000000, 20.000000000000000,
8576 2.0000000000000000, 0.30000000000000004, 0.0 },
8577 { 6247196.6451069508, 5.0000000000000000, 20.000000000000000,
8578 2.0000000000000000, 0.40000000000000013, 0.0 },
8579 { 656408576.00000000, 5.0000000000000000, 20.000000000000000,
8580 2.0000000000000000, 0.50000000000000000, 0.0 },
8581 { 165334768098.54715, 5.0000000000000000, 20.000000000000000,
8582 2.0000000000000000, 0.60000000000000009, 0.0 },
8583 { 175097125520819.91, 5.0000000000000000, 20.000000000000000,
8584 2.0000000000000000, 0.70000000000000018, 0.0 },
8585 { 2.6818275451660257e+18, 5.0000000000000000, 20.000000000000000,
8586 2.0000000000000000, 0.80000000000000004, 0.0 },
8587 { 2.9794600000000777e+25, 5.0000000000000000, 20.000000000000000,
8588 2.0000000000000000, 0.90000000000000013, 0.0 },
8590 const double toler171 = 2.5000000000000020e-13;
8592 // Test data for a=5.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
8593 // max(|f - f_GSL|): 9437184.0000000000 at index 18
8594 // max(|f - f_GSL| / |f_GSL|): 2.0515617391303805e-15
8595 // mean(f - f_GSL): 496693.97369064158
8596 // variance(f - f_GSL): 4687391593519.1660
8597 // stddev(f - f_GSL): 2165038.4739119918
8598 const testcase_hyperg<double>
8599 data172[19] =
8601 { -3.6403884516313627e-06, 5.0000000000000000, 20.000000000000000,
8602 4.0000000000000000, -0.90000000000000002, 0.0 },
8603 { -9.5873829246491408e-06, 5.0000000000000000, 20.000000000000000,
8604 4.0000000000000000, -0.80000000000000004, 0.0 },
8605 { -2.6052245147200097e-05, 5.0000000000000000, 20.000000000000000,
8606 4.0000000000000000, -0.69999999999999996, 0.0 },
8607 { -7.2378303598384501e-05, 5.0000000000000000, 20.000000000000000,
8608 4.0000000000000000, -0.59999999999999998, 0.0 },
8609 { -0.00020048577321417379, 5.0000000000000000, 20.000000000000000,
8610 4.0000000000000000, -0.50000000000000000, 0.0 },
8611 { -0.00051222704046234439, 5.0000000000000000, 20.000000000000000,
8612 4.0000000000000000, -0.39999999999999991, 0.0 },
8613 { -0.00080950511491888959, 5.0000000000000000, 20.000000000000000,
8614 4.0000000000000000, -0.29999999999999993, 0.0 },
8615 { 0.0043473422174314250, 5.0000000000000000, 20.000000000000000,
8616 4.0000000000000000, -0.19999999999999996, 0.0 },
8617 { 0.081078342558623853, 5.0000000000000000, 20.000000000000000,
8618 4.0000000000000000, -0.099999999999999978, 0.0 },
8619 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8620 4.0000000000000000, 0.0000000000000000, 0.0 },
8621 { 12.794854084397739, 5.0000000000000000, 20.000000000000000,
8622 4.0000000000000000, 0.10000000000000009, 0.0 },
8623 { 195.15639104739174, 5.0000000000000000, 20.000000000000000,
8624 4.0000000000000000, 0.20000000000000018, 0.0 },
8625 { 3938.7991953190131, 5.0000000000000000, 20.000000000000000,
8626 4.0000000000000000, 0.30000000000000004, 0.0 },
8627 { 118521.48653762160, 5.0000000000000000, 20.000000000000000,
8628 4.0000000000000000, 0.40000000000000013, 0.0 },
8629 { 6291455.9999999972, 5.0000000000000000, 20.000000000000000,
8630 4.0000000000000000, 0.50000000000000000, 0.0 },
8631 { 773070496.50699198, 5.0000000000000000, 20.000000000000000,
8632 4.0000000000000000, 0.60000000000000009, 0.0 },
8633 { 363276452167.04718, 5.0000000000000000, 20.000000000000000,
8634 4.0000000000000000, 0.70000000000000018, 0.0 },
8635 { 2002716064453133.0, 5.0000000000000000, 20.000000000000000,
8636 4.0000000000000000, 0.80000000000000004, 0.0 },
8637 { 4.6000000000001222e+21, 5.0000000000000000, 20.000000000000000,
8638 4.0000000000000000, 0.90000000000000013, 0.0 },
8640 const double toler172 = 2.5000000000000020e-13;
8642 // Test data for a=5.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
8643 // max(|f - f_GSL|): 5120.0000000000000 at index 18
8644 // max(|f - f_GSL| / |f_GSL|): 1.7944916193878173e-15
8645 // mean(f - f_GSL): 269.47388985302263
8646 // variance(f - f_GSL): 1379705.1461701661
8647 // stddev(f - f_GSL): 1174.6085076186730
8648 const testcase_hyperg<double>
8649 data173[19] =
8651 { 0.00014313323624053599, 5.0000000000000000, 20.000000000000000,
8652 6.0000000000000000, -0.90000000000000002, 0.0 },
8653 { 0.00025426183473118769, 5.0000000000000000, 20.000000000000000,
8654 6.0000000000000000, -0.80000000000000004, 0.0 },
8655 { 0.00048255612836437054, 5.0000000000000000, 20.000000000000000,
8656 6.0000000000000000, -0.69999999999999996, 0.0 },
8657 { 0.00099096904674794185, 5.0000000000000000, 20.000000000000000,
8658 6.0000000000000000, -0.59999999999999998, 0.0 },
8659 { 0.0022347805521915616, 5.0000000000000000, 20.000000000000000,
8660 6.0000000000000000, -0.50000000000000000, 0.0 },
8661 { 0.0056271390060294354, 5.0000000000000000, 20.000000000000000,
8662 6.0000000000000000, -0.39999999999999991, 0.0 },
8663 { 0.016109059519227351, 5.0000000000000000, 20.000000000000000,
8664 6.0000000000000000, -0.29999999999999993, 0.0 },
8665 { 0.053453465775609076, 5.0000000000000000, 20.000000000000000,
8666 6.0000000000000000, -0.19999999999999996, 0.0 },
8667 { 0.20995202901839263, 5.0000000000000000, 20.000000000000000,
8668 6.0000000000000000, -0.099999999999999978, 0.0 },
8669 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8670 6.0000000000000000, 0.0000000000000000, 0.0 },
8671 { 5.9534372167648799, 5.0000000000000000, 20.000000000000000,
8672 6.0000000000000000, 0.10000000000000009, 0.0 },
8673 { 46.157632071206095, 5.0000000000000000, 20.000000000000000,
8674 6.0000000000000000, 0.20000000000000018, 0.0 },
8675 { 494.32074431164915, 5.0000000000000000, 20.000000000000000,
8676 6.0000000000000000, 0.30000000000000004, 0.0 },
8677 { 7989.5277611776519, 5.0000000000000000, 20.000000000000000,
8678 6.0000000000000000, 0.40000000000000013, 0.0 },
8679 { 224179.55830753347, 5.0000000000000000, 20.000000000000000,
8680 6.0000000000000000, 0.50000000000000000, 0.0 },
8681 { 13848144.485282511, 5.0000000000000000, 20.000000000000000,
8682 6.0000000000000000, 0.60000000000000009, 0.0 },
8683 { 2948587692.8892150, 5.0000000000000000, 20.000000000000000,
8684 6.0000000000000000, 0.70000000000000018, 0.0 },
8685 { 5940513286161.6602, 5.0000000000000000, 20.000000000000000,
8686 6.0000000000000000, 0.80000000000000004, 0.0 },
8687 { 2.8531757655946394e+18, 5.0000000000000000, 20.000000000000000,
8688 6.0000000000000000, 0.90000000000000013, 0.0 },
8690 const double toler173 = 2.5000000000000020e-13;
8692 // Test data for a=5.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
8693 // max(|f - f_GSL|): 7.0000000000000000 at index 18
8694 // max(|f - f_GSL| / |f_GSL|): 1.5351977183413728e-15
8695 // mean(f - f_GSL): 0.36842306154970872
8696 // variance(f - f_GSL): 2.5789458059294108
8697 // stddev(f - f_GSL): 1.6059096506122039
8698 const testcase_hyperg<double>
8699 data174[19] =
8701 { 0.0012492049968744917, 5.0000000000000000, 20.000000000000000,
8702 8.0000000000000000, -0.90000000000000002, 0.0 },
8703 { 0.0019931241968014200, 5.0000000000000000, 20.000000000000000,
8704 8.0000000000000000, -0.80000000000000004, 0.0 },
8705 { 0.0033203386861410844, 5.0000000000000000, 20.000000000000000,
8706 8.0000000000000000, -0.69999999999999996, 0.0 },
8707 { 0.0058191894509856774, 5.0000000000000000, 20.000000000000000,
8708 8.0000000000000000, -0.59999999999999998, 0.0 },
8709 { 0.010830090368313864, 5.0000000000000000, 20.000000000000000,
8710 8.0000000000000000, -0.50000000000000000, 0.0 },
8711 { 0.021653062305193541, 5.0000000000000000, 20.000000000000000,
8712 8.0000000000000000, -0.39999999999999991, 0.0 },
8713 { 0.047180821280919195, 5.0000000000000000, 20.000000000000000,
8714 8.0000000000000000, -0.29999999999999993, 0.0 },
8715 { 0.11405637279736212, 5.0000000000000000, 20.000000000000000,
8716 8.0000000000000000, -0.19999999999999996, 0.0 },
8717 { 0.31275468794721017, 5.0000000000000000, 20.000000000000000,
8718 8.0000000000000000, -0.099999999999999978, 0.0 },
8719 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8720 8.0000000000000000, 0.0000000000000000, 0.0 },
8721 { 3.8598904658643969, 5.0000000000000000, 20.000000000000000,
8722 8.0000000000000000, 0.10000000000000009, 0.0 },
8723 { 18.806301417906734, 5.0000000000000000, 20.000000000000000,
8724 8.0000000000000000, 0.20000000000000018, 0.0 },
8725 { 122.77054465017432, 5.0000000000000000, 20.000000000000000,
8726 8.0000000000000000, 0.30000000000000004, 0.0 },
8727 { 1168.4762146809012, 5.0000000000000000, 20.000000000000000,
8728 8.0000000000000000, 0.40000000000000013, 0.0 },
8729 { 18437.511788521082, 5.0000000000000000, 20.000000000000000,
8730 8.0000000000000000, 0.50000000000000000, 0.0 },
8731 { 597441.79669264762, 5.0000000000000000, 20.000000000000000,
8732 8.0000000000000000, 0.60000000000000009, 0.0 },
8733 { 59390411.369228527, 5.0000000000000000, 20.000000000000000,
8734 8.0000000000000000, 0.70000000000000018, 0.0 },
8735 { 44681668993.361603, 5.0000000000000000, 20.000000000000000,
8736 8.0000000000000000, 0.80000000000000004, 0.0 },
8737 { 4559673269683333.0, 5.0000000000000000, 20.000000000000000,
8738 8.0000000000000000, 0.90000000000000013, 0.0 },
8740 const double toler174 = 2.5000000000000020e-13;
8742 // Test data for a=5.0000000000000000, b=20.000000000000000, c=10.000000000000000.
8743 // max(|f - f_GSL|): 0.029296875000000000 at index 18
8744 // max(|f - f_GSL| / |f_GSL|): 1.8717083246628342e-15
8745 // mean(f - f_GSL): 0.0015419659355661440
8746 // variance(f - f_GSL): 4.5173964710879197e-05
8747 // stddev(f - f_GSL): 0.0067211579888348996
8748 const testcase_hyperg<double>
8749 data175[19] =
8751 { 0.0038867957051370739, 5.0000000000000000, 20.000000000000000,
8752 10.000000000000000, -0.90000000000000002, 0.0 },
8753 { 0.0058484892597364235, 5.0000000000000000, 20.000000000000000,
8754 10.000000000000000, -0.80000000000000004, 0.0 },
8755 { 0.0090987656053758189, 5.0000000000000000, 20.000000000000000,
8756 10.000000000000000, -0.69999999999999996, 0.0 },
8757 { 0.014714392537270657, 5.0000000000000000, 20.000000000000000,
8758 10.000000000000000, -0.59999999999999998, 0.0 },
8759 { 0.024900404542056772, 5.0000000000000000, 20.000000000000000,
8760 10.000000000000000, -0.50000000000000000, 0.0 },
8761 { 0.044460184663785055, 5.0000000000000000, 20.000000000000000,
8762 10.000000000000000, -0.39999999999999991, 0.0 },
8763 { 0.084638849196357113, 5.0000000000000000, 20.000000000000000,
8764 10.000000000000000, -0.29999999999999993, 0.0 },
8765 { 0.17409058241291026, 5.0000000000000000, 20.000000000000000,
8766 10.000000000000000, -0.19999999999999996, 0.0 },
8767 { 0.39357055823580767, 5.0000000000000000, 20.000000000000000,
8768 10.000000000000000, -0.099999999999999978, 0.0 },
8769 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8770 10.000000000000000, 0.0000000000000000, 0.0 },
8771 { 2.9410794636226596, 5.0000000000000000, 20.000000000000000,
8772 10.000000000000000, 0.10000000000000009, 0.0 },
8773 { 10.417226071414374, 5.0000000000000000, 20.000000000000000,
8774 10.000000000000000, 0.20000000000000018, 0.0 },
8775 { 46.930585873140835, 5.0000000000000000, 20.000000000000000,
8776 10.000000000000000, 0.30000000000000004, 0.0 },
8777 { 290.76717121814988, 5.0000000000000000, 20.000000000000000,
8778 10.000000000000000, 0.40000000000000013, 0.0 },
8779 { 2788.1641083374830, 5.0000000000000000, 20.000000000000000,
8780 10.000000000000000, 0.50000000000000000, 0.0 },
8781 { 50228.117718560752, 5.0000000000000000, 20.000000000000000,
8782 10.000000000000000, 0.60000000000000009, 0.0 },
8783 { 2433042.3476752895, 5.0000000000000000, 20.000000000000000,
8784 10.000000000000000, 0.70000000000000018, 0.0 },
8785 { 705345246.77141762, 5.0000000000000000, 20.000000000000000,
8786 10.000000000000000, 0.80000000000000004, 0.0 },
8787 { 15652478868617.246, 5.0000000000000000, 20.000000000000000,
8788 10.000000000000000, 0.90000000000000013, 0.0 },
8790 const double toler175 = 2.5000000000000020e-13;
8792 // Test data for a=10.000000000000000, b=0.0000000000000000, c=2.0000000000000000.
8793 // max(|f - f_GSL|): 0.0000000000000000 at index 0
8794 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8795 // mean(f - f_GSL): 0.0000000000000000
8796 // variance(f - f_GSL): 0.0000000000000000
8797 // stddev(f - f_GSL): 0.0000000000000000
8798 const testcase_hyperg<double>
8799 data176[19] =
8801 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8802 2.0000000000000000, -0.90000000000000002, 0.0 },
8803 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8804 2.0000000000000000, -0.80000000000000004, 0.0 },
8805 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8806 2.0000000000000000, -0.69999999999999996, 0.0 },
8807 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8808 2.0000000000000000, -0.59999999999999998, 0.0 },
8809 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8810 2.0000000000000000, -0.50000000000000000, 0.0 },
8811 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8812 2.0000000000000000, -0.39999999999999991, 0.0 },
8813 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8814 2.0000000000000000, -0.29999999999999993, 0.0 },
8815 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8816 2.0000000000000000, -0.19999999999999996, 0.0 },
8817 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8818 2.0000000000000000, -0.099999999999999978, 0.0 },
8819 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8820 2.0000000000000000, 0.0000000000000000, 0.0 },
8821 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8822 2.0000000000000000, 0.10000000000000009, 0.0 },
8823 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8824 2.0000000000000000, 0.20000000000000018, 0.0 },
8825 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8826 2.0000000000000000, 0.30000000000000004, 0.0 },
8827 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8828 2.0000000000000000, 0.40000000000000013, 0.0 },
8829 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8830 2.0000000000000000, 0.50000000000000000, 0.0 },
8831 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8832 2.0000000000000000, 0.60000000000000009, 0.0 },
8833 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8834 2.0000000000000000, 0.70000000000000018, 0.0 },
8835 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8836 2.0000000000000000, 0.80000000000000004, 0.0 },
8837 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8838 2.0000000000000000, 0.90000000000000013, 0.0 },
8840 const double toler176 = 2.5000000000000020e-13;
8842 // Test data for a=10.000000000000000, b=0.0000000000000000, c=4.0000000000000000.
8843 // max(|f - f_GSL|): 0.0000000000000000 at index 0
8844 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8845 // mean(f - f_GSL): 0.0000000000000000
8846 // variance(f - f_GSL): 0.0000000000000000
8847 // stddev(f - f_GSL): 0.0000000000000000
8848 const testcase_hyperg<double>
8849 data177[19] =
8851 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8852 4.0000000000000000, -0.90000000000000002, 0.0 },
8853 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8854 4.0000000000000000, -0.80000000000000004, 0.0 },
8855 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8856 4.0000000000000000, -0.69999999999999996, 0.0 },
8857 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8858 4.0000000000000000, -0.59999999999999998, 0.0 },
8859 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8860 4.0000000000000000, -0.50000000000000000, 0.0 },
8861 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8862 4.0000000000000000, -0.39999999999999991, 0.0 },
8863 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8864 4.0000000000000000, -0.29999999999999993, 0.0 },
8865 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8866 4.0000000000000000, -0.19999999999999996, 0.0 },
8867 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8868 4.0000000000000000, -0.099999999999999978, 0.0 },
8869 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8870 4.0000000000000000, 0.0000000000000000, 0.0 },
8871 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8872 4.0000000000000000, 0.10000000000000009, 0.0 },
8873 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8874 4.0000000000000000, 0.20000000000000018, 0.0 },
8875 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8876 4.0000000000000000, 0.30000000000000004, 0.0 },
8877 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8878 4.0000000000000000, 0.40000000000000013, 0.0 },
8879 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8880 4.0000000000000000, 0.50000000000000000, 0.0 },
8881 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8882 4.0000000000000000, 0.60000000000000009, 0.0 },
8883 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8884 4.0000000000000000, 0.70000000000000018, 0.0 },
8885 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8886 4.0000000000000000, 0.80000000000000004, 0.0 },
8887 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8888 4.0000000000000000, 0.90000000000000013, 0.0 },
8890 const double toler177 = 2.5000000000000020e-13;
8892 // Test data for a=10.000000000000000, b=0.0000000000000000, c=6.0000000000000000.
8893 // max(|f - f_GSL|): 0.0000000000000000 at index 0
8894 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8895 // mean(f - f_GSL): 0.0000000000000000
8896 // variance(f - f_GSL): 0.0000000000000000
8897 // stddev(f - f_GSL): 0.0000000000000000
8898 const testcase_hyperg<double>
8899 data178[19] =
8901 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8902 6.0000000000000000, -0.90000000000000002, 0.0 },
8903 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8904 6.0000000000000000, -0.80000000000000004, 0.0 },
8905 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8906 6.0000000000000000, -0.69999999999999996, 0.0 },
8907 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8908 6.0000000000000000, -0.59999999999999998, 0.0 },
8909 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8910 6.0000000000000000, -0.50000000000000000, 0.0 },
8911 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8912 6.0000000000000000, -0.39999999999999991, 0.0 },
8913 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8914 6.0000000000000000, -0.29999999999999993, 0.0 },
8915 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8916 6.0000000000000000, -0.19999999999999996, 0.0 },
8917 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8918 6.0000000000000000, -0.099999999999999978, 0.0 },
8919 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8920 6.0000000000000000, 0.0000000000000000, 0.0 },
8921 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8922 6.0000000000000000, 0.10000000000000009, 0.0 },
8923 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8924 6.0000000000000000, 0.20000000000000018, 0.0 },
8925 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8926 6.0000000000000000, 0.30000000000000004, 0.0 },
8927 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8928 6.0000000000000000, 0.40000000000000013, 0.0 },
8929 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8930 6.0000000000000000, 0.50000000000000000, 0.0 },
8931 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8932 6.0000000000000000, 0.60000000000000009, 0.0 },
8933 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8934 6.0000000000000000, 0.70000000000000018, 0.0 },
8935 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8936 6.0000000000000000, 0.80000000000000004, 0.0 },
8937 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8938 6.0000000000000000, 0.90000000000000013, 0.0 },
8940 const double toler178 = 2.5000000000000020e-13;
8942 // Test data for a=10.000000000000000, b=0.0000000000000000, c=8.0000000000000000.
8943 // max(|f - f_GSL|): 0.0000000000000000 at index 0
8944 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8945 // mean(f - f_GSL): 0.0000000000000000
8946 // variance(f - f_GSL): 0.0000000000000000
8947 // stddev(f - f_GSL): 0.0000000000000000
8948 const testcase_hyperg<double>
8949 data179[19] =
8951 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8952 8.0000000000000000, -0.90000000000000002, 0.0 },
8953 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8954 8.0000000000000000, -0.80000000000000004, 0.0 },
8955 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8956 8.0000000000000000, -0.69999999999999996, 0.0 },
8957 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8958 8.0000000000000000, -0.59999999999999998, 0.0 },
8959 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8960 8.0000000000000000, -0.50000000000000000, 0.0 },
8961 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8962 8.0000000000000000, -0.39999999999999991, 0.0 },
8963 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8964 8.0000000000000000, -0.29999999999999993, 0.0 },
8965 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8966 8.0000000000000000, -0.19999999999999996, 0.0 },
8967 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8968 8.0000000000000000, -0.099999999999999978, 0.0 },
8969 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8970 8.0000000000000000, 0.0000000000000000, 0.0 },
8971 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8972 8.0000000000000000, 0.10000000000000009, 0.0 },
8973 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8974 8.0000000000000000, 0.20000000000000018, 0.0 },
8975 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8976 8.0000000000000000, 0.30000000000000004, 0.0 },
8977 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8978 8.0000000000000000, 0.40000000000000013, 0.0 },
8979 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8980 8.0000000000000000, 0.50000000000000000, 0.0 },
8981 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8982 8.0000000000000000, 0.60000000000000009, 0.0 },
8983 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8984 8.0000000000000000, 0.70000000000000018, 0.0 },
8985 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8986 8.0000000000000000, 0.80000000000000004, 0.0 },
8987 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8988 8.0000000000000000, 0.90000000000000013, 0.0 },
8990 const double toler179 = 2.5000000000000020e-13;
8992 // Test data for a=10.000000000000000, b=0.0000000000000000, c=10.000000000000000.
8993 // max(|f - f_GSL|): 0.0000000000000000 at index 0
8994 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8995 // mean(f - f_GSL): 0.0000000000000000
8996 // variance(f - f_GSL): 0.0000000000000000
8997 // stddev(f - f_GSL): 0.0000000000000000
8998 const testcase_hyperg<double>
8999 data180[19] =
9001 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9002 10.000000000000000, -0.90000000000000002, 0.0 },
9003 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9004 10.000000000000000, -0.80000000000000004, 0.0 },
9005 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9006 10.000000000000000, -0.69999999999999996, 0.0 },
9007 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9008 10.000000000000000, -0.59999999999999998, 0.0 },
9009 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9010 10.000000000000000, -0.50000000000000000, 0.0 },
9011 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9012 10.000000000000000, -0.39999999999999991, 0.0 },
9013 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9014 10.000000000000000, -0.29999999999999993, 0.0 },
9015 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9016 10.000000000000000, -0.19999999999999996, 0.0 },
9017 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9018 10.000000000000000, -0.099999999999999978, 0.0 },
9019 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9020 10.000000000000000, 0.0000000000000000, 0.0 },
9021 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9022 10.000000000000000, 0.10000000000000009, 0.0 },
9023 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9024 10.000000000000000, 0.20000000000000018, 0.0 },
9025 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9026 10.000000000000000, 0.30000000000000004, 0.0 },
9027 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9028 10.000000000000000, 0.40000000000000013, 0.0 },
9029 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9030 10.000000000000000, 0.50000000000000000, 0.0 },
9031 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9032 10.000000000000000, 0.60000000000000009, 0.0 },
9033 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9034 10.000000000000000, 0.70000000000000018, 0.0 },
9035 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9036 10.000000000000000, 0.80000000000000004, 0.0 },
9037 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
9038 10.000000000000000, 0.90000000000000013, 0.0 },
9040 const double toler180 = 2.5000000000000020e-13;
9042 // Test data for a=10.000000000000000, b=0.50000000000000000, c=2.0000000000000000.
9043 // max(|f - f_GSL|): 1.4901161193847656e-08 at index 18
9044 // max(|f - f_GSL| / |f_GSL|): 1.8229127098647768e-15
9045 // mean(f - f_GSL): 7.8543415046726153e-10
9046 // variance(f - f_GSL): 1.1684633485497506e-17
9047 // stddev(f - f_GSL): 3.4182793164832956e-09
9048 const testcase_hyperg<double>
9049 data181[19] =
9051 { 0.37727530159464628, 10.000000000000000, 0.50000000000000000,
9052 2.0000000000000000, -0.90000000000000002, 0.0 },
9053 { 0.39816010922169059, 10.000000000000000, 0.50000000000000000,
9054 2.0000000000000000, -0.80000000000000004, 0.0 },
9055 { 0.42283703041362447, 10.000000000000000, 0.50000000000000000,
9056 2.0000000000000000, -0.69999999999999996, 0.0 },
9057 { 0.45255640448730527, 10.000000000000000, 0.50000000000000000,
9058 2.0000000000000000, -0.59999999999999998, 0.0 },
9059 { 0.48919507154431119, 10.000000000000000, 0.50000000000000000,
9060 2.0000000000000000, -0.50000000000000000, 0.0 },
9061 { 0.53569358917731902, 10.000000000000000, 0.50000000000000000,
9062 2.0000000000000000, -0.39999999999999991, 0.0 },
9063 { 0.59689778897029577, 10.000000000000000, 0.50000000000000000,
9064 2.0000000000000000, -0.29999999999999993, 0.0 },
9065 { 0.68128587569875765, 10.000000000000000, 0.50000000000000000,
9066 2.0000000000000000, -0.19999999999999996, 0.0 },
9067 { 0.80478739308790359, 10.000000000000000, 0.50000000000000000,
9068 2.0000000000000000, -0.099999999999999978, 0.0 },
9069 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
9070 2.0000000000000000, 0.0000000000000000, 0.0 },
9071 { 1.3408664196153621, 10.000000000000000, 0.50000000000000000,
9072 2.0000000000000000, 0.10000000000000009, 0.0 },
9073 { 2.0175364359923882, 10.000000000000000, 0.50000000000000000,
9074 2.0000000000000000, 0.20000000000000018, 0.0 },
9075 { 3.6011214553736646, 10.000000000000000, 0.50000000000000000,
9076 2.0000000000000000, 0.30000000000000004, 0.0 },
9077 { 8.1799429939495489, 10.000000000000000, 0.50000000000000000,
9078 2.0000000000000000, 0.40000000000000013, 0.0 },
9079 { 25.644834637536000, 10.000000000000000, 0.50000000000000000,
9080 2.0000000000000000, 0.50000000000000000, 0.0 },
9081 { 123.13738891597615, 10.000000000000000, 0.50000000000000000,
9082 2.0000000000000000, 0.60000000000000009, 0.0 },
9083 { 1088.7122410321385, 10.000000000000000, 0.50000000000000000,
9084 2.0000000000000000, 0.70000000000000018, 0.0 },
9085 { 27358.291704709951, 10.000000000000000, 0.50000000000000000,
9086 2.0000000000000000, 0.80000000000000004, 0.0 },
9087 { 8174369.0266732639, 10.000000000000000, 0.50000000000000000,
9088 2.0000000000000000, 0.90000000000000013, 0.0 },
9090 const double toler181 = 2.5000000000000020e-13;
9092 // Test data for a=10.000000000000000, b=0.50000000000000000, c=4.0000000000000000.
9093 // max(|f - f_GSL|): 2.0008883439004421e-11 at index 18
9094 // max(|f - f_GSL| / |f_GSL|): 1.5684473872214445e-15
9095 // mean(f - f_GSL): 1.0626587329385841e-12
9096 // variance(f - f_GSL): 2.1050090066796454e-23
9097 // stddev(f - f_GSL): 4.5880377141863658e-12
9098 const testcase_hyperg<double>
9099 data182[19] =
9101 { 0.53905528308450823, 10.000000000000000, 0.50000000000000000,
9102 4.0000000000000000, -0.90000000000000002, 0.0 },
9103 { 0.56235533974376162, 10.000000000000000, 0.50000000000000000,
9104 4.0000000000000000, -0.80000000000000004, 0.0 },
9105 { 0.58887657983263575, 10.000000000000000, 0.50000000000000000,
9106 4.0000000000000000, -0.69999999999999996, 0.0 },
9107 { 0.61941227047262937, 10.000000000000000, 0.50000000000000000,
9108 4.0000000000000000, -0.59999999999999998, 0.0 },
9109 { 0.65504896640793864, 10.000000000000000, 0.50000000000000000,
9110 4.0000000000000000, -0.50000000000000000, 0.0 },
9111 { 0.69731666644529977, 10.000000000000000, 0.50000000000000000,
9112 4.0000000000000000, -0.39999999999999991, 0.0 },
9113 { 0.74844073299399116, 10.000000000000000, 0.50000000000000000,
9114 4.0000000000000000, -0.29999999999999993, 0.0 },
9115 { 0.81178446800105830, 10.000000000000000, 0.50000000000000000,
9116 4.0000000000000000, -0.19999999999999996, 0.0 },
9117 { 0.89266981277598045, 10.000000000000000, 0.50000000000000000,
9118 4.0000000000000000, -0.099999999999999978, 0.0 },
9119 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
9120 4.0000000000000000, 0.0000000000000000, 0.0 },
9121 { 1.1497248473106778, 10.000000000000000, 0.50000000000000000,
9122 4.0000000000000000, 0.10000000000000009, 0.0 },
9123 { 1.3729717112654578, 10.000000000000000, 0.50000000000000000,
9124 4.0000000000000000, 0.20000000000000018, 0.0 },
9125 { 1.7374982340374392, 10.000000000000000, 0.50000000000000000,
9126 4.0000000000000000, 0.30000000000000004, 0.0 },
9127 { 2.4134479340960602, 10.000000000000000, 0.50000000000000000,
9128 4.0000000000000000, 0.40000000000000013, 0.0 },
9129 { 3.9191255240471192, 10.000000000000000, 0.50000000000000000,
9130 4.0000000000000000, 0.50000000000000000, 0.0 },
9131 { 8.3316373077761270, 10.000000000000000, 0.50000000000000000,
9132 4.0000000000000000, 0.60000000000000009, 0.0 },
9133 { 28.323020339843417, 10.000000000000000, 0.50000000000000000,
9134 4.0000000000000000, 0.70000000000000018, 0.0 },
9135 { 225.84286572747891, 10.000000000000000, 0.50000000000000000,
9136 4.0000000000000000, 0.80000000000000004, 0.0 },
9137 { 12757.127591286826, 10.000000000000000, 0.50000000000000000,
9138 4.0000000000000000, 0.90000000000000013, 0.0 },
9140 const double toler182 = 2.5000000000000020e-13;
9142 // Test data for a=10.000000000000000, b=0.50000000000000000, c=6.0000000000000000.
9143 // max(|f - f_GSL|): 1.9895196601282805e-13 at index 18
9144 // max(|f - f_GSL| / |f_GSL|): 1.4567107859209851e-15
9145 // mean(f - f_GSL): 1.1043797455481820e-14
9146 // variance(f - f_GSL): 2.0706176432127926e-27
9147 // stddev(f - f_GSL): 4.5504039855959963e-14
9148 const testcase_hyperg<double>
9149 data183[19] =
9151 { 0.62672622092226027, 10.000000000000000, 0.50000000000000000,
9152 6.0000000000000000, -0.90000000000000002, 0.0 },
9153 { 0.64931010269769840, 10.000000000000000, 0.50000000000000000,
9154 6.0000000000000000, -0.80000000000000004, 0.0 },
9155 { 0.67448067519076293, 10.000000000000000, 0.50000000000000000,
9156 6.0000000000000000, -0.69999999999999996, 0.0 },
9157 { 0.70276306239803643, 10.000000000000000, 0.50000000000000000,
9158 6.0000000000000000, -0.59999999999999998, 0.0 },
9159 { 0.73484179773087521, 10.000000000000000, 0.50000000000000000,
9160 6.0000000000000000, -0.50000000000000000, 0.0 },
9161 { 0.77162761412743874, 10.000000000000000, 0.50000000000000000,
9162 6.0000000000000000, -0.39999999999999991, 0.0 },
9163 { 0.81436116844816553, 10.000000000000000, 0.50000000000000000,
9164 6.0000000000000000, -0.29999999999999993, 0.0 },
9165 { 0.86477994787944579, 10.000000000000000, 0.50000000000000000,
9166 6.0000000000000000, -0.19999999999999996, 0.0 },
9167 { 0.92539820516603888, 10.000000000000000, 0.50000000000000000,
9168 6.0000000000000000, -0.099999999999999978, 0.0 },
9169 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
9170 6.0000000000000000, 0.0000000000000000, 0.0 },
9171 { 1.0945599448210315, 10.000000000000000, 0.50000000000000000,
9172 6.0000000000000000, 0.10000000000000009, 0.0 },
9173 { 1.2190897395597269, 10.000000000000000, 0.50000000000000000,
9174 6.0000000000000000, 0.20000000000000018, 0.0 },
9175 { 1.3916844336856475, 10.000000000000000, 0.50000000000000000,
9176 6.0000000000000000, 0.30000000000000004, 0.0 },
9177 { 1.6484497630432020, 10.000000000000000, 0.50000000000000000,
9178 6.0000000000000000, 0.40000000000000013, 0.0 },
9179 { 2.0717772717131155, 10.000000000000000, 0.50000000000000000,
9180 6.0000000000000000, 0.50000000000000000, 0.0 },
9181 { 2.8893613630810924, 10.000000000000000, 0.50000000000000000,
9182 6.0000000000000000, 0.60000000000000009, 0.0 },
9183 { 4.9459404075413573, 10.000000000000000, 0.50000000000000000,
9184 6.0000000000000000, 0.70000000000000018, 0.0 },
9185 { 13.487394149998716, 10.000000000000000, 0.50000000000000000,
9186 6.0000000000000000, 0.80000000000000004, 0.0 },
9187 { 136.57616044014080, 10.000000000000000, 0.50000000000000000,
9188 6.0000000000000000, 0.90000000000000013, 0.0 },
9190 const double toler183 = 2.5000000000000020e-13;
9192 // Test data for a=10.000000000000000, b=0.50000000000000000, c=8.0000000000000000.
9193 // max(|f - f_GSL|): 1.2434497875801753e-14 at index 18
9194 // max(|f - f_GSL| / |f_GSL|): 1.3245081211977792e-15
9195 // mean(f - f_GSL): 8.5311874523827817e-16
9196 // variance(f - f_GSL): 7.8655509529357183e-30
9197 // stddev(f - f_GSL): 2.8045589587198410e-15
9198 const testcase_hyperg<double>
9199 data184[19] =
9201 { 0.68421604440344319, 10.000000000000000, 0.50000000000000000,
9202 8.0000000000000000, -0.90000000000000002, 0.0 },
9203 { 0.70548098055548925, 10.000000000000000, 0.50000000000000000,
9204 8.0000000000000000, -0.80000000000000004, 0.0 },
9205 { 0.72884342311710337, 10.000000000000000, 0.50000000000000000,
9206 8.0000000000000000, -0.69999999999999996, 0.0 },
9207 { 0.75466953437856232, 10.000000000000000, 0.50000000000000000,
9208 8.0000000000000000, -0.59999999999999998, 0.0 },
9209 { 0.78342090924662589, 10.000000000000000, 0.50000000000000000,
9210 8.0000000000000000, -0.50000000000000000, 0.0 },
9211 { 0.81568884278645115, 10.000000000000000, 0.50000000000000000,
9212 8.0000000000000000, -0.39999999999999991, 0.0 },
9213 { 0.85224480241465261, 10.000000000000000, 0.50000000000000000,
9214 8.0000000000000000, -0.29999999999999993, 0.0 },
9215 { 0.89411692571131685, 10.000000000000000, 0.50000000000000000,
9216 8.0000000000000000, -0.19999999999999996, 0.0 },
9217 { 0.94270986892954811, 10.000000000000000, 0.50000000000000000,
9218 8.0000000000000000, -0.099999999999999978, 0.0 },
9219 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
9220 8.0000000000000000, 0.0000000000000000, 0.0 },
9221 { 1.0688682849120232, 10.000000000000000, 0.50000000000000000,
9222 8.0000000000000000, 0.10000000000000009, 0.0 },
9223 { 1.1537004376097553, 10.000000000000000, 0.50000000000000000,
9224 8.0000000000000000, 0.20000000000000018, 0.0 },
9225 { 1.2615455028370031, 10.000000000000000, 0.50000000000000000,
9226 8.0000000000000000, 0.30000000000000004, 0.0 },
9227 { 1.4045541456153443, 10.000000000000000, 0.50000000000000000,
9228 8.0000000000000000, 0.40000000000000013, 0.0 },
9229 { 1.6057216489444517, 10.000000000000000, 0.50000000000000000,
9230 8.0000000000000000, 0.50000000000000000, 0.0 },
9231 { 1.9146603020550739, 10.000000000000000, 0.50000000000000000,
9232 8.0000000000000000, 0.60000000000000009, 0.0 },
9233 { 2.4617931307620307, 10.000000000000000, 0.50000000000000000,
9234 8.0000000000000000, 0.70000000000000018, 0.0 },
9235 { 3.7267799624996498, 10.000000000000000, 0.50000000000000000,
9236 8.0000000000000000, 0.80000000000000004, 0.0 },
9237 { 9.3880118036248721, 10.000000000000000, 0.50000000000000000,
9238 8.0000000000000000, 0.90000000000000013, 0.0 },
9240 const double toler184 = 2.5000000000000020e-13;
9242 // Test data for a=10.000000000000000, b=0.50000000000000000, c=10.000000000000000.
9243 // max(|f - f_GSL|): 4.4408920985006262e-16 at index 18
9244 // max(|f - f_GSL| / |f_GSL|): 1.8577584504832499e-16
9245 // mean(f - f_GSL): 5.8432790769745078e-18
9246 // variance(f - f_GSL): 1.1262748212790853e-32
9247 // stddev(f - f_GSL): 1.0612609581432294e-16
9248 const testcase_hyperg<double>
9249 data185[19] =
9251 { 0.72547625011001160, 10.000000000000000, 0.50000000000000000,
9252 10.000000000000000, -0.90000000000000002, 0.0 },
9253 { 0.74535599249992990, 10.000000000000000, 0.50000000000000000,
9254 10.000000000000000, -0.80000000000000004, 0.0 },
9255 { 0.76696498884737041, 10.000000000000000, 0.50000000000000000,
9256 10.000000000000000, -0.69999999999999996, 0.0 },
9257 { 0.79056941504209477, 10.000000000000000, 0.50000000000000000,
9258 10.000000000000000, -0.59999999999999998, 0.0 },
9259 { 0.81649658092772603, 10.000000000000000, 0.50000000000000000,
9260 10.000000000000000, -0.50000000000000000, 0.0 },
9261 { 0.84515425472851669, 10.000000000000000, 0.50000000000000000,
9262 10.000000000000000, -0.39999999999999991, 0.0 },
9263 { 0.87705801930702931, 10.000000000000000, 0.50000000000000000,
9264 10.000000000000000, -0.29999999999999993, 0.0 },
9265 { 0.91287092917527690, 10.000000000000000, 0.50000000000000000,
9266 10.000000000000000, -0.19999999999999996, 0.0 },
9267 { 0.95346258924559224, 10.000000000000000, 0.50000000000000000,
9268 10.000000000000000, -0.099999999999999978, 0.0 },
9269 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
9270 10.000000000000000, 0.0000000000000000, 0.0 },
9271 { 1.0540925533894598, 10.000000000000000, 0.50000000000000000,
9272 10.000000000000000, 0.10000000000000009, 0.0 },
9273 { 1.1180339887498949, 10.000000000000000, 0.50000000000000000,
9274 10.000000000000000, 0.20000000000000018, 0.0 },
9275 { 1.1952286093343938, 10.000000000000000, 0.50000000000000000,
9276 10.000000000000000, 0.30000000000000004, 0.0 },
9277 { 1.2909944487358058, 10.000000000000000, 0.50000000000000000,
9278 10.000000000000000, 0.40000000000000013, 0.0 },
9279 { 1.4142135623730951, 10.000000000000000, 0.50000000000000000,
9280 10.000000000000000, 0.50000000000000000, 0.0 },
9281 { 1.5811388300841900, 10.000000000000000, 0.50000000000000000,
9282 10.000000000000000, 0.60000000000000009, 0.0 },
9283 { 1.8257418583505542, 10.000000000000000, 0.50000000000000000,
9284 10.000000000000000, 0.70000000000000018, 0.0 },
9285 { 2.2360679774997898, 10.000000000000000, 0.50000000000000000,
9286 10.000000000000000, 0.80000000000000004, 0.0 },
9287 { 3.1622776601683809, 10.000000000000000, 0.50000000000000000,
9288 10.000000000000000, 0.90000000000000013, 0.0 },
9290 const double toler185 = 2.5000000000000020e-13;
9292 // Test data for a=10.000000000000000, b=1.0000000000000000, c=2.0000000000000000.
9293 // max(|f - f_GSL|): 2.0861625671386719e-07 at index 18
9294 // max(|f - f_GSL| / |f_GSL|): 1.6897916810721003e-15
9295 // mean(f - f_GSL): 1.0989192059253727e-08
9296 // variance(f - f_GSL): 2.2903477685061008e-15
9297 // stddev(f - f_GSL): 4.7857577963224392e-08
9298 const testcase_hyperg<double>
9299 data186[19] =
9301 { 0.12307420104127866, 10.000000000000000, 1.0000000000000000,
9302 2.0000000000000000, -0.90000000000000002, 0.0 },
9303 { 0.13818870041457434, 10.000000000000000, 1.0000000000000000,
9304 2.0000000000000000, -0.80000000000000004, 0.0 },
9305 { 0.15739165631811705, 10.000000000000000, 1.0000000000000000,
9306 2.0000000000000000, -0.69999999999999996, 0.0 },
9307 { 0.18249038606882081, 10.000000000000000, 1.0000000000000000,
9308 2.0000000000000000, -0.59999999999999998, 0.0 },
9309 { 0.21644171225027795, 10.000000000000000, 1.0000000000000000,
9310 2.0000000000000000, -0.50000000000000000, 0.0 },
9311 { 0.26433326159804149, 10.000000000000000, 1.0000000000000000,
9312 2.0000000000000000, -0.39999999999999991, 0.0 },
9313 { 0.33544459430654527, 10.000000000000000, 1.0000000000000000,
9314 2.0000000000000000, -0.29999999999999993, 0.0 },
9315 { 0.44788516696232511, 10.000000000000000, 1.0000000000000000,
9316 2.0000000000000000, -0.19999999999999996, 0.0 },
9317 { 0.63989153514168373, 10.000000000000000, 1.0000000000000000,
9318 2.0000000000000000, -0.099999999999999978, 0.0 },
9319 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
9320 2.0000000000000000, 0.0000000000000000, 0.0 },
9321 { 1.7568608796813312, 10.000000000000000, 1.0000000000000000,
9322 2.0000000000000000, 0.10000000000000009, 0.0 },
9323 { 3.5836558871799102, 10.000000000000000, 1.0000000000000000,
9324 2.0000000000000000, 0.20000000000000018, 0.0 },
9325 { 8.8077526749963226, 10.000000000000000, 1.0000000000000000,
9326 2.0000000000000000, 0.30000000000000004, 0.0 },
9327 { 27.285841702089265, 10.000000000000000, 1.0000000000000000,
9328 2.0000000000000000, 0.40000000000000013, 0.0 },
9329 { 113.55555555555557, 10.000000000000000, 1.0000000000000000,
9330 2.0000000000000000, 0.50000000000000000, 0.0 },
9331 { 706.24023437500091, 10.000000000000000, 1.0000000000000000,
9332 2.0000000000000000, 0.60000000000000009, 0.0 },
9333 { 8064.1687976652511, 10.000000000000000, 1.0000000000000000,
9334 2.0000000000000000, 0.70000000000000018, 0.0 },
9335 { 271267.22222222196, 10.000000000000000, 1.0000000000000000,
9336 2.0000000000000000, 0.80000000000000004, 0.0 },
9337 { 123456790.00000113, 10.000000000000000, 1.0000000000000000,
9338 2.0000000000000000, 0.90000000000000013, 0.0 },
9340 const double toler186 = 2.5000000000000020e-13;
9342 // Test data for a=10.000000000000000, b=1.0000000000000000, c=4.0000000000000000.
9343 // max(|f - f_GSL|): 2.6193447411060333e-10 at index 18
9344 // max(|f - f_GSL| / |f_GSL|): 1.6039867544159698e-15
9345 // mean(f - f_GSL): 1.3861192895235850e-11
9346 // variance(f - f_GSL): 3.6088478524883243e-21
9347 // stddev(f - f_GSL): 6.0073686856129647e-11
9348 const testcase_hyperg<double>
9349 data187[19] =
9351 { 0.28363728383055781, 10.000000000000000, 1.0000000000000000,
9352 4.0000000000000000, -0.90000000000000002, 0.0 },
9353 { 0.30933003169808387, 10.000000000000000, 1.0000000000000000,
9354 4.0000000000000000, -0.80000000000000004, 0.0 },
9355 { 0.33998437757128797, 10.000000000000000, 1.0000000000000000,
9356 4.0000000000000000, -0.69999999999999996, 0.0 },
9357 { 0.37713553224291113, 10.000000000000000, 1.0000000000000000,
9358 4.0000000000000000, -0.59999999999999998, 0.0 },
9359 { 0.42299736538419669, 10.000000000000000, 1.0000000000000000,
9360 4.0000000000000000, -0.50000000000000000, 0.0 },
9361 { 0.48086597727600089, 10.000000000000000, 1.0000000000000000,
9362 4.0000000000000000, -0.39999999999999991, 0.0 },
9363 { 0.55583495759293033, 10.000000000000000, 1.0000000000000000,
9364 4.0000000000000000, -0.29999999999999993, 0.0 },
9365 { 0.65612850114039678, 10.000000000000000, 1.0000000000000000,
9366 4.0000000000000000, -0.19999999999999996, 0.0 },
9367 { 0.79573668772968142, 10.000000000000000, 1.0000000000000000,
9368 4.0000000000000000, -0.099999999999999978, 0.0 },
9369 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
9370 4.0000000000000000, 0.0000000000000000, 0.0 },
9371 { 1.3184712058058303, 10.000000000000000, 1.0000000000000000,
9372 4.0000000000000000, 0.10000000000000009, 0.0 },
9373 { 1.8576958065941236, 10.000000000000000, 1.0000000000000000,
9374 4.0000000000000000, 0.20000000000000018, 0.0 },
9375 { 2.8759509651764228, 10.000000000000000, 1.0000000000000000,
9376 4.0000000000000000, 0.30000000000000004, 0.0 },
9377 { 5.1046225531822289, 10.000000000000000, 1.0000000000000000,
9378 4.0000000000000000, 0.40000000000000013, 0.0 },
9379 { 11.095238095238095, 10.000000000000000, 1.0000000000000000,
9380 4.0000000000000000, 0.50000000000000000, 0.0 },
9381 { 32.797154017857174, 10.000000000000000, 1.0000000000000000,
9382 4.0000000000000000, 0.60000000000000009, 0.0 },
9383 { 158.01935680536548, 10.000000000000000, 1.0000000000000000,
9384 4.0000000000000000, 0.70000000000000018, 0.0 },
9385 { 1815.9523809523814, 10.000000000000000, 1.0000000000000000,
9386 4.0000000000000000, 0.80000000000000004, 0.0 },
9387 { 163302.14285714392, 10.000000000000000, 1.0000000000000000,
9388 4.0000000000000000, 0.90000000000000013, 0.0 },
9390 const double toler187 = 2.5000000000000020e-13;
9392 // Test data for a=10.000000000000000, b=1.0000000000000000, c=6.0000000000000000.
9393 // max(|f - f_GSL|): 2.0463630789890885e-12 at index 18
9394 // max(|f - f_GSL| / |f_GSL|): 1.5238873992471854e-15
9395 // mean(f - f_GSL): 1.1029773585697082e-13
9396 // variance(f - f_GSL): 2.1981059026132227e-25
9397 // stddev(f - f_GSL): 4.6883962104468326e-13
9398 const testcase_hyperg<double>
9399 data188[19] =
9401 { 0.39006633302741811, 10.000000000000000, 1.0000000000000000,
9402 6.0000000000000000, -0.90000000000000002, 0.0 },
9403 { 0.41898885698103278, 10.000000000000000, 1.0000000000000000,
9404 6.0000000000000000, -0.80000000000000004, 0.0 },
9405 { 0.45245557983812590, 10.000000000000000, 1.0000000000000000,
9406 6.0000000000000000, -0.69999999999999996, 0.0 },
9407 { 0.49160548618861627, 10.000000000000000, 1.0000000000000000,
9408 6.0000000000000000, -0.59999999999999998, 0.0 },
9409 { 0.53798419230517991, 10.000000000000000, 1.0000000000000000,
9410 6.0000000000000000, -0.50000000000000000, 0.0 },
9411 { 0.59373881442067322, 10.000000000000000, 1.0000000000000000,
9412 6.0000000000000000, -0.39999999999999991, 0.0 },
9413 { 0.66193391357076092, 10.000000000000000, 1.0000000000000000,
9414 6.0000000000000000, -0.29999999999999993, 0.0 },
9415 { 0.74708402736952118, 10.000000000000000, 1.0000000000000000,
9416 6.0000000000000000, -0.19999999999999996, 0.0 },
9417 { 0.85609281019430605, 10.000000000000000, 1.0000000000000000,
9418 6.0000000000000000, -0.099999999999999978, 0.0 },
9419 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
9420 6.0000000000000000, 0.0000000000000000, 0.0 },
9421 { 1.1974451135148187, 10.000000000000000, 1.0000000000000000,
9422 6.0000000000000000, 0.10000000000000009, 0.0 },
9423 { 1.4820886036706358, 10.000000000000000, 1.0000000000000000,
9424 6.0000000000000000, 0.20000000000000018, 0.0 },
9425 { 1.9201183180477521, 10.000000000000000, 1.0000000000000000,
9426 6.0000000000000000, 0.30000000000000004, 0.0 },
9427 { 2.6569338297733367, 10.000000000000000, 1.0000000000000000,
9428 6.0000000000000000, 0.40000000000000013, 0.0 },
9429 { 4.0634920634920650, 10.000000000000000, 1.0000000000000000,
9430 6.0000000000000000, 0.50000000000000000, 0.0 },
9431 { 7.3102678571428568, 10.000000000000000, 1.0000000000000000,
9432 6.0000000000000000, 0.60000000000000009, 0.0 },
9433 { 17.512574302697782, 10.000000000000000, 1.0000000000000000,
9434 6.0000000000000000, 0.70000000000000018, 0.0 },
9435 { 74.206349206349131, 10.000000000000000, 1.0000000000000000,
9436 6.0000000000000000, 0.80000000000000004, 0.0 },
9437 { 1342.8571428571502, 10.000000000000000, 1.0000000000000000,
9438 6.0000000000000000, 0.90000000000000013, 0.0 },
9440 const double toler188 = 2.5000000000000020e-13;
9442 // Test data for a=10.000000000000000, b=1.0000000000000000, c=8.0000000000000000.
9443 // max(|f - f_GSL|): 7.8159700933611020e-14 at index 18
9444 // max(|f - f_GSL| / |f_GSL|): 1.4210854715201975e-15
9445 // mean(f - f_GSL): 4.6629367034256575e-15
9446 // variance(f - f_GSL): 3.1677071819086927e-28
9447 // stddev(f - f_GSL): 1.7798053775367387e-14
9448 const testcase_hyperg<double>
9449 data189[19] =
9451 { 0.46726928123633210, 10.000000000000000, 1.0000000000000000,
9452 8.0000000000000000, -0.90000000000000002, 0.0 },
9453 { 0.49687547629934464, 10.000000000000000, 1.0000000000000000,
9454 8.0000000000000000, -0.80000000000000004, 0.0 },
9455 { 0.53045208856322223, 10.000000000000000, 1.0000000000000000,
9456 8.0000000000000000, -0.69999999999999996, 0.0 },
9457 { 0.56884765624999989, 10.000000000000000, 1.0000000000000000,
9458 8.0000000000000000, -0.59999999999999998, 0.0 },
9459 { 0.61316872427983504, 10.000000000000000, 1.0000000000000000,
9460 8.0000000000000000, -0.50000000000000000, 0.0 },
9461 { 0.66488500161969544, 10.000000000000000, 1.0000000000000000,
9462 8.0000000000000000, -0.39999999999999991, 0.0 },
9463 { 0.72598998634501621, 10.000000000000000, 1.0000000000000000,
9464 8.0000000000000000, -0.29999999999999993, 0.0 },
9465 { 0.79925411522633760, 10.000000000000000, 1.0000000000000000,
9466 8.0000000000000000, -0.19999999999999996, 0.0 },
9467 { 0.88863845062192182, 10.000000000000000, 1.0000000000000000,
9468 8.0000000000000000, -0.099999999999999978, 0.0 },
9469 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
9470 8.0000000000000000, 0.0000000000000000, 0.0 },
9471 { 1.1423563481176653, 10.000000000000000, 1.0000000000000000,
9472 8.0000000000000000, 0.10000000000000009, 0.0 },
9473 { 1.3302951388888891, 10.000000000000000, 1.0000000000000000,
9474 8.0000000000000000, 0.20000000000000018, 0.0 },
9475 { 1.5889212827988335, 10.000000000000000, 1.0000000000000000,
9476 8.0000000000000000, 0.30000000000000004, 0.0 },
9477 { 1.9650205761316886, 10.000000000000000, 1.0000000000000000,
9478 8.0000000000000000, 0.40000000000000013, 0.0 },
9479 { 2.5555555555555549, 10.000000000000000, 1.0000000000000000,
9480 8.0000000000000000, 0.50000000000000000, 0.0 },
9481 { 3.5937500000000013, 10.000000000000000, 1.0000000000000000,
9482 8.0000000000000000, 0.60000000000000009, 0.0 },
9483 { 5.7818930041152274, 10.000000000000000, 1.0000000000000000,
9484 8.0000000000000000, 0.70000000000000018, 0.0 },
9485 { 12.222222222222220, 10.000000000000000, 1.0000000000000000,
9486 8.0000000000000000, 0.80000000000000004, 0.0 },
9487 { 55.000000000000114, 10.000000000000000, 1.0000000000000000,
9488 8.0000000000000000, 0.90000000000000013, 0.0 },
9490 const double toler189 = 2.5000000000000020e-13;
9492 // Test data for a=10.000000000000000, b=1.0000000000000000, c=10.000000000000000.
9493 // max(|f - f_GSL|): 1.7763568394002505e-15 at index 18
9494 // max(|f - f_GSL| / |f_GSL|): 1.9984014443252816e-16
9495 // mean(f - f_GSL): 7.5962628000668607e-17
9496 // variance(f - f_GSL): 1.6955391669463862e-31
9497 // stddev(f - f_GSL): 4.1176925175957300e-16
9498 const testcase_hyperg<double>
9499 data190[19] =
9501 { 0.52631578947368429, 10.000000000000000, 1.0000000000000000,
9502 10.000000000000000, -0.90000000000000002, 0.0 },
9503 { 0.55555555555555558, 10.000000000000000, 1.0000000000000000,
9504 10.000000000000000, -0.80000000000000004, 0.0 },
9505 { 0.58823529411764708, 10.000000000000000, 1.0000000000000000,
9506 10.000000000000000, -0.69999999999999996, 0.0 },
9507 { 0.62500000000000000, 10.000000000000000, 1.0000000000000000,
9508 10.000000000000000, -0.59999999999999998, 0.0 },
9509 { 0.66666666666666663, 10.000000000000000, 1.0000000000000000,
9510 10.000000000000000, -0.50000000000000000, 0.0 },
9511 { 0.71428571428571430, 10.000000000000000, 1.0000000000000000,
9512 10.000000000000000, -0.39999999999999991, 0.0 },
9513 { 0.76923076923076938, 10.000000000000000, 1.0000000000000000,
9514 10.000000000000000, -0.29999999999999993, 0.0 },
9515 { 0.83333333333333337, 10.000000000000000, 1.0000000000000000,
9516 10.000000000000000, -0.19999999999999996, 0.0 },
9517 { 0.90909090909090906, 10.000000000000000, 1.0000000000000000,
9518 10.000000000000000, -0.099999999999999978, 0.0 },
9519 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
9520 10.000000000000000, 0.0000000000000000, 0.0 },
9521 { 1.1111111111111112, 10.000000000000000, 1.0000000000000000,
9522 10.000000000000000, 0.10000000000000009, 0.0 },
9523 { 1.2500000000000002, 10.000000000000000, 1.0000000000000000,
9524 10.000000000000000, 0.20000000000000018, 0.0 },
9525 { 1.4285714285714286, 10.000000000000000, 1.0000000000000000,
9526 10.000000000000000, 0.30000000000000004, 0.0 },
9527 { 1.6666666666666670, 10.000000000000000, 1.0000000000000000,
9528 10.000000000000000, 0.40000000000000013, 0.0 },
9529 { 2.0000000000000000, 10.000000000000000, 1.0000000000000000,
9530 10.000000000000000, 0.50000000000000000, 0.0 },
9531 { 2.5000000000000009, 10.000000000000000, 1.0000000000000000,
9532 10.000000000000000, 0.60000000000000009, 0.0 },
9533 { 3.3333333333333348, 10.000000000000000, 1.0000000000000000,
9534 10.000000000000000, 0.70000000000000018, 0.0 },
9535 { 5.0000000000000009, 10.000000000000000, 1.0000000000000000,
9536 10.000000000000000, 0.80000000000000004, 0.0 },
9537 { 10.000000000000011, 10.000000000000000, 1.0000000000000000,
9538 10.000000000000000, 0.90000000000000013, 0.0 },
9540 const double toler190 = 2.5000000000000020e-13;
9542 // Test data for a=10.000000000000000, b=2.0000000000000000, c=2.0000000000000000.
9543 // max(|f - f_GSL|): 2.2888183593750000e-05 at index 18
9544 // max(|f - f_GSL| / |f_GSL|): 2.4795532226562509e-15
9545 // mean(f - f_GSL): 1.2059140510950354e-06
9546 // variance(f - f_GSL): 2.7568813079896666e-11
9547 // stddev(f - f_GSL): 5.2506012112801583e-06
9548 const testcase_hyperg<double>
9549 data191[19] =
9551 { 0.0016310376661280216, 10.000000000000000, 2.0000000000000000,
9552 2.0000000000000000, -0.90000000000000002, 0.0 },
9553 { 0.0028007538972582421, 10.000000000000000, 2.0000000000000000,
9554 2.0000000000000000, -0.80000000000000004, 0.0 },
9555 { 0.0049603324681551939, 10.000000000000000, 2.0000000000000000,
9556 2.0000000000000000, -0.69999999999999996, 0.0 },
9557 { 0.0090949470177292789, 10.000000000000000, 2.0000000000000000,
9558 2.0000000000000000, -0.59999999999999998, 0.0 },
9559 { 0.017341529915832606, 10.000000000000000, 2.0000000000000000,
9560 2.0000000000000000, -0.50000000000000000, 0.0 },
9561 { 0.034571613033607791, 10.000000000000000, 2.0000000000000000,
9562 2.0000000000000000, -0.39999999999999991, 0.0 },
9563 { 0.072538150286405839, 10.000000000000000, 2.0000000000000000,
9564 2.0000000000000000, -0.29999999999999993, 0.0 },
9565 { 0.16150558288984579, 10.000000000000000, 2.0000000000000000,
9566 2.0000000000000000, -0.19999999999999996, 0.0 },
9567 { 0.38554328942953142, 10.000000000000000, 2.0000000000000000,
9568 2.0000000000000000, -0.099999999999999978, 0.0 },
9569 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9570 2.0000000000000000, 0.0000000000000000, 0.0 },
9571 { 2.8679719907924444, 10.000000000000000, 2.0000000000000000,
9572 2.0000000000000000, 0.10000000000000009, 0.0 },
9573 { 9.3132257461548065, 10.000000000000000, 2.0000000000000000,
9574 2.0000000000000000, 0.20000000000000018, 0.0 },
9575 { 35.401331746414378, 10.000000000000000, 2.0000000000000000,
9576 2.0000000000000000, 0.30000000000000004, 0.0 },
9577 { 165.38171687920246, 10.000000000000000, 2.0000000000000000,
9578 2.0000000000000000, 0.40000000000000013, 0.0 },
9579 { 1024.0000000000000, 10.000000000000000, 2.0000000000000000,
9580 2.0000000000000000, 0.50000000000000000, 0.0 },
9581 { 9536.7431640625218, 10.000000000000000, 2.0000000000000000,
9582 2.0000000000000000, 0.60000000000000009, 0.0 },
9583 { 169350.87808430390, 10.000000000000000, 2.0000000000000000,
9584 2.0000000000000000, 0.70000000000000018, 0.0 },
9585 { 9765624.9999999963, 10.000000000000000, 2.0000000000000000,
9586 2.0000000000000000, 0.80000000000000004, 0.0 },
9587 { 10000000000.000111, 10.000000000000000, 2.0000000000000000,
9588 2.0000000000000000, 0.90000000000000013, 0.0 },
9590 const double toler191 = 2.5000000000000020e-13;
9592 // Test data for a=10.000000000000000, b=2.0000000000000000, c=4.0000000000000000.
9593 // max(|f - f_GSL|): 1.4901161193847656e-08 at index 18
9594 // max(|f - f_GSL| / |f_GSL|): 1.4958811384436608e-15
9595 // mean(f - f_GSL): 7.8582773037277017e-10
9596 // variance(f - f_GSL): 1.1683981904064149e-17
9597 // stddev(f - f_GSL): 3.4181840067591665e-09
9598 const testcase_hyperg<double>
9599 data192[19] =
9601 { 0.071191280690193537, 10.000000000000000, 2.0000000000000000,
9602 4.0000000000000000, -0.90000000000000002, 0.0 },
9603 { 0.085646504654238384, 10.000000000000000, 2.0000000000000000,
9604 4.0000000000000000, -0.80000000000000004, 0.0 },
9605 { 0.10478215656371109, 10.000000000000000, 2.0000000000000000,
9606 4.0000000000000000, -0.69999999999999996, 0.0 },
9607 { 0.13074816337653578, 10.000000000000000, 2.0000000000000000,
9608 4.0000000000000000, -0.59999999999999998, 0.0 },
9609 { 0.16701141666848118, 10.000000000000000, 2.0000000000000000,
9610 4.0000000000000000, -0.50000000000000000, 0.0 },
9611 { 0.21939323375313963, 10.000000000000000, 2.0000000000000000,
9612 4.0000000000000000, -0.39999999999999991, 0.0 },
9613 { 0.29813515331786639, 10.000000000000000, 2.0000000000000000,
9614 4.0000000000000000, -0.29999999999999993, 0.0 },
9615 { 0.42225974638874397, 10.000000000000000, 2.0000000000000000,
9616 4.0000000000000000, -0.19999999999999996, 0.0 },
9617 { 0.62942145962174878, 10.000000000000000, 2.0000000000000000,
9618 4.0000000000000000, -0.099999999999999978, 0.0 },
9619 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9620 4.0000000000000000, 0.0000000000000000, 0.0 },
9621 { 1.7218685262373197, 10.000000000000000, 2.0000000000000000,
9622 4.0000000000000000, 0.10000000000000009, 0.0 },
9623 { 3.2855760483514738, 10.000000000000000, 2.0000000000000000,
9624 4.0000000000000000, 0.20000000000000018, 0.0 },
9625 { 7.1616652508907093, 10.000000000000000, 2.0000000000000000,
9626 4.0000000000000000, 0.30000000000000004, 0.0 },
9627 { 18.612326808485950, 10.000000000000000, 2.0000000000000000,
9628 4.0000000000000000, 0.40000000000000013, 0.0 },
9629 { 61.476190476190474, 10.000000000000000, 2.0000000000000000,
9630 4.0000000000000000, 0.50000000000000000, 0.0 },
9631 { 286.27580915178623, 10.000000000000000, 2.0000000000000000,
9632 4.0000000000000000, 0.60000000000000009, 0.0 },
9633 { 2274.9441142102414, 10.000000000000000, 2.0000000000000000,
9634 4.0000000000000000, 0.70000000000000018, 0.0 },
9635 { 47229.761904761865, 10.000000000000000, 2.0000000000000000,
9636 4.0000000000000000, 0.80000000000000004, 0.0 },
9637 { 9961460.7142858077, 10.000000000000000, 2.0000000000000000,
9638 4.0000000000000000, 0.90000000000000013, 0.0 },
9640 const double toler192 = 2.5000000000000020e-13;
9642 // Test data for a=10.000000000000000, b=2.0000000000000000, c=6.0000000000000000.
9643 // max(|f - f_GSL|): 8.7311491370201111e-11 at index 18
9644 // max(|f - f_GSL| / |f_GSL|): 1.5843951771650161e-15
9645 // mean(f - f_GSL): 4.6467391338242840e-12
9646 // variance(f - f_GSL): 4.0072766661644994e-22
9647 // stddev(f - f_GSL): 2.0018183399510804e-11
9648 const testcase_hyperg<double>
9649 data193[19] =
9651 { 0.14747230019381058, 10.000000000000000, 2.0000000000000000,
9652 6.0000000000000000, -0.90000000000000002, 0.0 },
9653 { 0.17073600100690609, 10.000000000000000, 2.0000000000000000,
9654 6.0000000000000000, -0.80000000000000004, 0.0 },
9655 { 0.19982795745135354, 10.000000000000000, 2.0000000000000000,
9656 6.0000000000000000, -0.69999999999999996, 0.0 },
9657 { 0.23681776864188053, 10.000000000000000, 2.0000000000000000,
9658 6.0000000000000000, -0.59999999999999998, 0.0 },
9659 { 0.28475624360398011, 10.000000000000000, 2.0000000000000000,
9660 6.0000000000000000, -0.50000000000000000, 0.0 },
9661 { 0.34827500743063161, 10.000000000000000, 2.0000000000000000,
9662 6.0000000000000000, -0.39999999999999991, 0.0 },
9663 { 0.43464829159684687, 10.000000000000000, 2.0000000000000000,
9664 6.0000000000000000, -0.29999999999999993, 0.0 },
9665 { 0.55576053438064787, 10.000000000000000, 2.0000000000000000,
9666 6.0000000000000000, -0.19999999999999996, 0.0 },
9667 { 0.73195020913445530, 10.000000000000000, 2.0000000000000000,
9668 6.0000000000000000, -0.099999999999999978, 0.0 },
9669 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9670 6.0000000000000000, 0.0000000000000000, 0.0 },
9671 { 1.4310223867822929, 10.000000000000000, 2.0000000000000000,
9672 6.0000000000000000, 0.10000000000000009, 0.0 },
9673 { 2.1742563399057566, 10.000000000000000, 2.0000000000000000,
9674 6.0000000000000000, 0.20000000000000018, 0.0 },
9675 { 3.5769231236256043, 10.000000000000000, 2.0000000000000000,
9676 6.0000000000000000, 0.30000000000000004, 0.0 },
9677 { 6.5620441134844469, 10.000000000000000, 2.0000000000000000,
9678 6.0000000000000000, 0.40000000000000013, 0.0 },
9679 { 14.063492063492063, 10.000000000000000, 2.0000000000000000,
9680 6.0000000000000000, 0.50000000000000000, 0.0 },
9681 { 38.085937500000036, 10.000000000000000, 2.0000000000000000,
9682 6.0000000000000000, 0.60000000000000009, 0.0 },
9683 { 150.92973632068330, 10.000000000000000, 2.0000000000000000,
9684 6.0000000000000000, 0.70000000000000018, 0.0 },
9685 { 1212.3015873015852, 10.000000000000000, 2.0000000000000000,
9686 6.0000000000000000, 0.80000000000000004, 0.0 },
9687 { 55107.142857143110, 10.000000000000000, 2.0000000000000000,
9688 6.0000000000000000, 0.90000000000000013, 0.0 },
9690 const double toler193 = 2.5000000000000020e-13;
9692 // Test data for a=10.000000000000000, b=2.0000000000000000, c=8.0000000000000000.
9693 // max(|f - f_GSL|): 1.8189894035458565e-12 at index 18
9694 // max(|f - f_GSL| / |f_GSL|): 1.4848893090170230e-15
9695 // mean(f - f_GSL): 1.0027066896088256e-13
9696 // variance(f - f_GSL): 1.7322804840633983e-25
9697 // stddev(f - f_GSL): 4.1620673757922257e-13
9698 const testcase_hyperg<double>
9699 data194[19] =
9701 { 0.21658059714090577, 10.000000000000000, 2.0000000000000000,
9702 8.0000000000000000, -0.90000000000000002, 0.0 },
9703 { 0.24513539602702861, 10.000000000000000, 2.0000000000000000,
9704 8.0000000000000000, -0.80000000000000004, 0.0 },
9705 { 0.27967018274845046, 10.000000000000000, 2.0000000000000000,
9706 8.0000000000000000, -0.69999999999999996, 0.0 },
9707 { 0.32196044921875022, 10.000000000000000, 2.0000000000000000,
9708 8.0000000000000000, -0.59999999999999998, 0.0 },
9709 { 0.37448559670781911, 10.000000000000000, 2.0000000000000000,
9710 8.0000000000000000, -0.50000000000000000, 0.0 },
9711 { 0.44078856032208802, 10.000000000000000, 2.0000000000000000,
9712 8.0000000000000000, -0.39999999999999991, 0.0 },
9713 { 0.52606701446027793, 10.000000000000000, 2.0000000000000000,
9714 8.0000000000000000, -0.29999999999999993, 0.0 },
9715 { 0.63818158436213956, 10.000000000000000, 2.0000000000000000,
9716 8.0000000000000000, -0.19999999999999996, 0.0 },
9717 { 0.78944971882612769, 10.000000000000000, 2.0000000000000000,
9718 8.0000000000000000, -0.099999999999999978, 0.0 },
9719 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9720 8.0000000000000000, 0.0000000000000000, 0.0 },
9721 { 1.3044251384443430, 10.000000000000000, 2.0000000000000000,
9722 8.0000000000000000, 0.10000000000000009, 0.0 },
9723 { 1.7659505208333344, 10.000000000000000, 2.0000000000000000,
9724 8.0000000000000000, 0.20000000000000018, 0.0 },
9725 { 2.5093710953769270, 10.000000000000000, 2.0000000000000000,
9726 8.0000000000000000, 0.30000000000000004, 0.0 },
9727 { 3.8065843621399202, 10.000000000000000, 2.0000000000000000,
9728 8.0000000000000000, 0.40000000000000013, 0.0 },
9729 { 6.3333333333333313, 10.000000000000000, 2.0000000000000000,
9730 8.0000000000000000, 0.50000000000000000, 0.0 },
9731 { 12.109375000000004, 10.000000000000000, 2.0000000000000000,
9732 8.0000000000000000, 0.60000000000000009, 0.0 },
9733 { 29.115226337448608, 10.000000000000000, 2.0000000000000000,
9734 8.0000000000000000, 0.70000000000000018, 0.0 },
9735 { 108.33333333333330, 10.000000000000000, 2.0000000000000000,
9736 8.0000000000000000, 0.80000000000000004, 0.0 },
9737 { 1225.0000000000023, 10.000000000000000, 2.0000000000000000,
9738 8.0000000000000000, 0.90000000000000013, 0.0 },
9740 const double toler194 = 2.5000000000000020e-13;
9742 // Test data for a=10.000000000000000, b=2.0000000000000000, c=10.000000000000000.
9743 // max(|f - f_GSL|): 4.2632564145606011e-14 at index 18
9744 // max(|f - f_GSL| / |f_GSL|): 4.2632564145605916e-16
9745 // mean(f - f_GSL): 2.3636063866361887e-15
9746 // variance(f - f_GSL): 9.5093179694074762e-29
9747 // stddev(f - f_GSL): 9.7515731907254209e-15
9748 const testcase_hyperg<double>
9749 data195[19] =
9751 { 0.27700831024930750, 10.000000000000000, 2.0000000000000000,
9752 10.000000000000000, -0.90000000000000002, 0.0 },
9753 { 0.30864197530864196, 10.000000000000000, 2.0000000000000000,
9754 10.000000000000000, -0.80000000000000004, 0.0 },
9755 { 0.34602076124567477, 10.000000000000000, 2.0000000000000000,
9756 10.000000000000000, -0.69999999999999996, 0.0 },
9757 { 0.39062500000000000, 10.000000000000000, 2.0000000000000000,
9758 10.000000000000000, -0.59999999999999998, 0.0 },
9759 { 0.44444444444444442, 10.000000000000000, 2.0000000000000000,
9760 10.000000000000000, -0.50000000000000000, 0.0 },
9761 { 0.51020408163265318, 10.000000000000000, 2.0000000000000000,
9762 10.000000000000000, -0.39999999999999991, 0.0 },
9763 { 0.59171597633136108, 10.000000000000000, 2.0000000000000000,
9764 10.000000000000000, -0.29999999999999993, 0.0 },
9765 { 0.69444444444444442, 10.000000000000000, 2.0000000000000000,
9766 10.000000000000000, -0.19999999999999996, 0.0 },
9767 { 0.82644628099173545, 10.000000000000000, 2.0000000000000000,
9768 10.000000000000000, -0.099999999999999978, 0.0 },
9769 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9770 10.000000000000000, 0.0000000000000000, 0.0 },
9771 { 1.2345679012345683, 10.000000000000000, 2.0000000000000000,
9772 10.000000000000000, 0.10000000000000009, 0.0 },
9773 { 1.5625000000000007, 10.000000000000000, 2.0000000000000000,
9774 10.000000000000000, 0.20000000000000018, 0.0 },
9775 { 2.0408163265306127, 10.000000000000000, 2.0000000000000000,
9776 10.000000000000000, 0.30000000000000004, 0.0 },
9777 { 2.7777777777777795, 10.000000000000000, 2.0000000000000000,
9778 10.000000000000000, 0.40000000000000013, 0.0 },
9779 { 4.0000000000000000, 10.000000000000000, 2.0000000000000000,
9780 10.000000000000000, 0.50000000000000000, 0.0 },
9781 { 6.2500000000000027, 10.000000000000000, 2.0000000000000000,
9782 10.000000000000000, 0.60000000000000009, 0.0 },
9783 { 11.111111111111125, 10.000000000000000, 2.0000000000000000,
9784 10.000000000000000, 0.70000000000000018, 0.0 },
9785 { 25.000000000000007, 10.000000000000000, 2.0000000000000000,
9786 10.000000000000000, 0.80000000000000004, 0.0 },
9787 { 100.00000000000023, 10.000000000000000, 2.0000000000000000,
9788 10.000000000000000, 0.90000000000000013, 0.0 },
9790 const double toler195 = 2.5000000000000020e-13;
9792 // Test data for a=10.000000000000000, b=5.0000000000000000, c=2.0000000000000000.
9793 // max(|f - f_GSL|): 0.81250000000000000 at index 18
9794 // max(|f - f_GSL| / |f_GSL|): 1.8182428501096257e-15
9795 // mean(f - f_GSL): 0.042765168793266639
9796 // variance(f - f_GSL): 0.034744884250260212
9797 // stddev(f - f_GSL): 0.18639979680852714
9798 const testcase_hyperg<double>
9799 data196[19] =
9801 { 0.00063586451658060813, 10.000000000000000, 5.0000000000000000,
9802 2.0000000000000000, -0.90000000000000002, 0.0 },
9803 { 0.0010334743461763829, 10.000000000000000, 5.0000000000000000,
9804 2.0000000000000000, -0.80000000000000004, 0.0 },
9805 { 0.0015326246054669763, 10.000000000000000, 5.0000000000000000,
9806 2.0000000000000000, -0.69999999999999996, 0.0 },
9807 { 0.0019007018181583513, 10.000000000000000, 5.0000000000000000,
9808 2.0000000000000000, -0.59999999999999998, 0.0 },
9809 { 0.0012845577715431562, 10.000000000000000, 5.0000000000000000,
9810 2.0000000000000000, -0.50000000000000000, 0.0 },
9811 { -0.0027213806178060305, 10.000000000000000, 5.0000000000000000,
9812 2.0000000000000000, -0.39999999999999991, 0.0 },
9813 { -0.015121744574954044, 10.000000000000000, 5.0000000000000000,
9814 2.0000000000000000, -0.29999999999999993, 0.0 },
9815 { -0.036637840562974290, 10.000000000000000, 5.0000000000000000,
9816 2.0000000000000000, -0.19999999999999996, 0.0 },
9817 { 0.019117849062621605, 10.000000000000000, 5.0000000000000000,
9818 2.0000000000000000, -0.099999999999999978, 0.0 },
9819 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9820 2.0000000000000000, 0.0000000000000000, 0.0 },
9821 { 9.8116901852350615, 10.000000000000000, 5.0000000000000000,
9822 2.0000000000000000, 0.10000000000000009, 0.0 },
9823 { 84.255589172244427, 10.000000000000000, 5.0000000000000000,
9824 2.0000000000000000, 0.20000000000000018, 0.0 },
9825 { 773.87517619421294, 10.000000000000000, 5.0000000000000000,
9826 2.0000000000000000, 0.30000000000000004, 0.0 },
9827 { 8556.9725363054076, 10.000000000000000, 5.0000000000000000,
9828 2.0000000000000000, 0.40000000000000013, 0.0 },
9829 { 129023.99999999996, 10.000000000000000, 5.0000000000000000,
9830 2.0000000000000000, 0.50000000000000000, 0.0 },
9831 { 3174543.3807373112, 10.000000000000000, 5.0000000000000000,
9832 2.0000000000000000, 0.60000000000000009, 0.0 },
9833 { 175133896.95814583, 10.000000000000000, 5.0000000000000000,
9834 2.0000000000000000, 0.70000000000000018, 0.0 },
9835 { 43564453125.000061, 10.000000000000000, 5.0000000000000000,
9836 2.0000000000000000, 0.80000000000000004, 0.0 },
9837 { 446860000000007.00, 10.000000000000000, 5.0000000000000000,
9838 2.0000000000000000, 0.90000000000000013, 0.0 },
9840 const double toler196 = 2.5000000000000020e-13;
9842 // Test data for a=10.000000000000000, b=5.0000000000000000, c=4.0000000000000000.
9843 // max(|f - f_GSL|): 0.00039672851562500000 at index 18
9844 // max(|f - f_GSL| / |f_GSL|): 1.6882064494680641e-15
9845 // mean(f - f_GSL): 2.0884382210121993e-05
9846 // variance(f - f_GSL): 8.2836958019297269e-09
9847 // stddev(f - f_GSL): 9.1014810893226203e-05
9848 const testcase_hyperg<double>
9849 data197[19] =
9851 { -0.00030045430691814646, 10.000000000000000, 5.0000000000000000,
9852 4.0000000000000000, -0.90000000000000002, 0.0 },
9853 { -0.00031119487747322054, 10.000000000000000, 5.0000000000000000,
9854 4.0000000000000000, -0.80000000000000004, 0.0 },
9855 { -0.00014589213141656318, 10.000000000000000, 5.0000000000000000,
9856 4.0000000000000000, -0.69999999999999996, 0.0 },
9857 { 0.00056843418860824636, 10.000000000000000, 5.0000000000000000,
9858 4.0000000000000000, -0.59999999999999998, 0.0 },
9859 { 0.0028902549859721747, 10.000000000000000, 5.0000000000000000,
9860 4.0000000000000000, -0.50000000000000000, 0.0 },
9861 { 0.0098776037238877245, 10.000000000000000, 5.0000000000000000,
9862 4.0000000000000000, -0.39999999999999991, 0.0 },
9863 { 0.030689217428863859, 10.000000000000000, 5.0000000000000000,
9864 4.0000000000000000, -0.29999999999999993, 0.0 },
9865 { 0.094211590019076558, 10.000000000000000, 5.0000000000000000,
9866 4.0000000000000000, -0.19999999999999996, 0.0 },
9867 { 0.29791981455918370, 10.000000000000000, 5.0000000000000000,
9868 4.0000000000000000, -0.099999999999999978, 0.0 },
9869 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9870 4.0000000000000000, 0.0000000000000000, 0.0 },
9871 { 3.6646308771236793, 10.000000000000000, 5.0000000000000000,
9872 4.0000000000000000, 0.10000000000000009, 0.0 },
9873 { 15.133991837501567, 10.000000000000000, 5.0000000000000000,
9874 4.0000000000000000, 0.20000000000000018, 0.0 },
9875 { 73.331330046144089, 10.000000000000000, 5.0000000000000000,
9876 4.0000000000000000, 0.30000000000000004, 0.0 },
9877 { 441.01791167787303, 10.000000000000000, 5.0000000000000000,
9878 4.0000000000000000, 0.40000000000000013, 0.0 },
9879 { 3583.9999999999991, 10.000000000000000, 5.0000000000000000,
9880 4.0000000000000000, 0.50000000000000000, 0.0 },
9881 { 45299.530029296984, 10.000000000000000, 5.0000000000000000,
9882 4.0000000000000000, 0.60000000000000009, 0.0 },
9883 { 1157231.0002427436, 10.000000000000000, 5.0000000000000000,
9884 4.0000000000000000, 0.70000000000000018, 0.0 },
9885 { 107421875.00000016, 10.000000000000000, 5.0000000000000000,
9886 4.0000000000000000, 0.80000000000000004, 0.0 },
9887 { 235000000000.00293, 10.000000000000000, 5.0000000000000000,
9888 4.0000000000000000, 0.90000000000000013, 0.0 },
9890 const double toler197 = 2.5000000000000020e-13;
9892 // Test data for a=10.000000000000000, b=5.0000000000000000, c=6.0000000000000000.
9893 // max(|f - f_GSL|): 9.5367431640625000e-07 at index 18
9894 // max(|f - f_GSL| / |f_GSL|): 1.6314276114917587e-15
9895 // mean(f - f_GSL): 5.0242811922592076e-08
9896 // variance(f - f_GSL): 4.7862904884501567e-14
9897 // stddev(f - f_GSL): 2.1877592391417655e-07
9898 const testcase_hyperg<double>
9899 data198[19] =
9901 { 0.0058530497315413248, 10.000000000000000, 5.0000000000000000,
9902 6.0000000000000000, -0.90000000000000002, 0.0 },
9903 { 0.0088526869356855397, 10.000000000000000, 5.0000000000000000,
9904 6.0000000000000000, -0.80000000000000004, 0.0 },
9905 { 0.013770987983442959, 10.000000000000000, 5.0000000000000000,
9906 6.0000000000000000, -0.69999999999999996, 0.0 },
9907 { 0.022108932690960776, 10.000000000000000, 5.0000000000000000,
9908 6.0000000000000000, -0.59999999999999998, 0.0 },
9909 { 0.036786236450921550, 10.000000000000000, 5.0000000000000000,
9910 6.0000000000000000, -0.50000000000000000, 0.0 },
9911 { 0.063750669040426408, 10.000000000000000, 5.0000000000000000,
9912 6.0000000000000000, -0.39999999999999991, 0.0 },
9913 { 0.11577228680714466, 10.000000000000000, 5.0000000000000000,
9914 6.0000000000000000, -0.29999999999999993, 0.0 },
9915 { 0.22197573416125760, 10.000000000000000, 5.0000000000000000,
9916 6.0000000000000000, -0.19999999999999996, 0.0 },
9917 { 0.45361312968415324, 10.000000000000000, 5.0000000000000000,
9918 6.0000000000000000, -0.099999999999999978, 0.0 },
9919 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9920 6.0000000000000000, 0.0000000000000000, 0.0 },
9921 { 2.4162889363082747, 10.000000000000000, 5.0000000000000000,
9922 6.0000000000000000, 0.10000000000000009, 0.0 },
9923 { 6.5381564791240541, 10.000000000000000, 5.0000000000000000,
9924 6.0000000000000000, 0.20000000000000018, 0.0 },
9925 { 20.415771011498428, 10.000000000000000, 5.0000000000000000,
9926 6.0000000000000000, 0.30000000000000004, 0.0 },
9927 { 76.870682056629448, 10.000000000000000, 5.0000000000000000,
9928 6.0000000000000000, 0.40000000000000013, 0.0 },
9929 { 373.58730158730162, 10.000000000000000, 5.0000000000000000,
9930 6.0000000000000000, 0.50000000000000000, 0.0 },
9931 { 2626.2555803571477, 10.000000000000000, 5.0000000000000000,
9932 6.0000000000000000, 0.60000000000000009, 0.0 },
9933 { 33060.960671081237, 10.000000000000000, 5.0000000000000000,
9934 6.0000000000000000, 0.70000000000000018, 0.0 },
9935 { 1203521.8253968258, 10.000000000000000, 5.0000000000000000,
9936 6.0000000000000000, 0.80000000000000004, 0.0 },
9937 { 584564285.71428990, 10.000000000000000, 5.0000000000000000,
9938 6.0000000000000000, 0.90000000000000013, 0.0 },
9940 const double toler198 = 2.5000000000000020e-13;
9942 // Test data for a=10.000000000000000, b=5.0000000000000000, c=8.0000000000000000.
9943 // max(|f - f_GSL|): 7.4505805969238281e-09 at index 18
9944 // max(|f - f_GSL| / |f_GSL|): 1.6196914341138665e-15
9945 // mean(f - f_GSL): 3.9331532183208954e-10
9946 // variance(f - f_GSL): 2.9206631793126476e-18
9947 // stddev(f - f_GSL): 1.7089947862157589e-09
9948 const testcase_hyperg<double>
9949 data199[19] =
9951 { 0.020248990107069573, 10.000000000000000, 5.0000000000000000,
9952 8.0000000000000000, -0.90000000000000002, 0.0 },
9953 { 0.027876687750502366, 10.000000000000000, 5.0000000000000000,
9954 8.0000000000000000, -0.80000000000000004, 0.0 },
9955 { 0.039154648888447607, 10.000000000000000, 5.0000000000000000,
9956 8.0000000000000000, -0.69999999999999996, 0.0 },
9957 { 0.056251883506774715, 10.000000000000000, 5.0000000000000000,
9958 8.0000000000000000, -0.59999999999999998, 0.0 },
9959 { 0.082914189910074473, 10.000000000000000, 5.0000000000000000,
9960 8.0000000000000000, -0.50000000000000000, 0.0 },
9961 { 0.12585357817786472, 10.000000000000000, 5.0000000000000000,
9962 8.0000000000000000, -0.39999999999999991, 0.0 },
9963 { 0.19761423206224940, 10.000000000000000, 5.0000000000000000,
9964 8.0000000000000000, -0.29999999999999993, 0.0 },
9965 { 0.32280443863359237, 10.000000000000000, 5.0000000000000000,
9966 8.0000000000000000, -0.19999999999999996, 0.0 },
9967 { 0.55250024062839420, 10.000000000000000, 5.0000000000000000,
9968 8.0000000000000000, -0.099999999999999978, 0.0 },
9969 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9970 8.0000000000000000, 0.0000000000000000, 0.0 },
9971 { 1.9374297986599267, 10.000000000000000, 5.0000000000000000,
9972 8.0000000000000000, 0.10000000000000009, 0.0 },
9973 { 4.0849049886067759, 10.000000000000000, 5.0000000000000000,
9974 8.0000000000000000, 0.20000000000000018, 0.0 },
9975 { 9.5926988633258983, 10.000000000000000, 5.0000000000000000,
9976 8.0000000000000000, 0.30000000000000004, 0.0 },
9977 { 25.958314281359588, 10.000000000000000, 5.0000000000000000,
9978 8.0000000000000000, 0.40000000000000013, 0.0 },
9979 { 85.333333333333300, 10.000000000000000, 5.0000000000000000,
9980 8.0000000000000000, 0.50000000000000000, 0.0 },
9981 { 372.31445312500028, 10.000000000000000, 5.0000000000000000,
9982 8.0000000000000000, 0.60000000000000009, 0.0 },
9983 { 2545.3436976070780, 10.000000000000000, 5.0000000000000000,
9984 8.0000000000000000, 0.70000000000000018, 0.0 },
9985 { 39583.333333333343, 10.000000000000000, 5.0000000000000000,
9986 8.0000000000000000, 0.80000000000000004, 0.0 },
9987 { 4600000.0000000261, 10.000000000000000, 5.0000000000000000,
9988 8.0000000000000000, 0.90000000000000013, 0.0 },
9990 const double toler199 = 2.5000000000000020e-13;
9992 // Test data for a=10.000000000000000, b=5.0000000000000000, c=10.000000000000000.
9993 // max(|f - f_GSL|): 1.0186340659856796e-10 at index 18
9994 // max(|f - f_GSL| / |f_GSL|): 1.1641532182693482e-15
9995 // mean(f - f_GSL): 5.5487040400966458e-12
9996 // variance(f - f_GSL): 5.4399356990620132e-22
9997 // stddev(f - f_GSL): 2.3323669734975269e-11
9998 const testcase_hyperg<double>
9999 data200[19] =
10001 { 0.040386107340619273, 10.000000000000000, 5.0000000000000000,
10002 10.000000000000000, -0.90000000000000002, 0.0 },
10003 { 0.052922149401344633, 10.000000000000000, 5.0000000000000000,
10004 10.000000000000000, -0.80000000000000004, 0.0 },
10005 { 0.070429627772374270, 10.000000000000000, 5.0000000000000000,
10006 10.000000000000000, -0.69999999999999996, 0.0 },
10007 { 0.095367431640624986, 10.000000000000000, 5.0000000000000000,
10008 10.000000000000000, -0.59999999999999998, 0.0 },
10009 { 0.13168724279835389, 10.000000000000000, 5.0000000000000000,
10010 10.000000000000000, -0.50000000000000000, 0.0 },
10011 { 0.18593443208187072, 10.000000000000000, 5.0000000000000000,
10012 10.000000000000000, -0.39999999999999991, 0.0 },
10013 { 0.26932907434290460, 10.000000000000000, 5.0000000000000000,
10014 10.000000000000000, -0.29999999999999993, 0.0 },
10015 { 0.40187757201646102, 10.000000000000000, 5.0000000000000000,
10016 10.000000000000000, -0.19999999999999996, 0.0 },
10017 { 0.62092132305915493, 10.000000000000000, 5.0000000000000000,
10018 10.000000000000000, -0.099999999999999978, 0.0 },
10019 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
10020 10.000000000000000, 0.0000000000000000, 0.0 },
10021 { 1.6935087808430296, 10.000000000000000, 5.0000000000000000,
10022 10.000000000000000, 0.10000000000000009, 0.0 },
10023 { 3.0517578125000036, 10.000000000000000, 5.0000000000000000,
10024 10.000000000000000, 0.20000000000000018, 0.0 },
10025 { 5.9499018266198629, 10.000000000000000, 5.0000000000000000,
10026 10.000000000000000, 0.30000000000000004, 0.0 },
10027 { 12.860082304526767, 10.000000000000000, 5.0000000000000000,
10028 10.000000000000000, 0.40000000000000013, 0.0 },
10029 { 32.000000000000000, 10.000000000000000, 5.0000000000000000,
10030 10.000000000000000, 0.50000000000000000, 0.0 },
10031 { 97.656250000000114, 10.000000000000000, 5.0000000000000000,
10032 10.000000000000000, 0.60000000000000009, 0.0 },
10033 { 411.52263374485722, 10.000000000000000, 5.0000000000000000,
10034 10.000000000000000, 0.70000000000000018, 0.0 },
10035 { 3124.9999999999995, 10.000000000000000, 5.0000000000000000,
10036 10.000000000000000, 0.80000000000000004, 0.0 },
10037 { 100000.00000000055, 10.000000000000000, 5.0000000000000000,
10038 10.000000000000000, 0.90000000000000013, 0.0 },
10040 const double toler200 = 2.5000000000000020e-13;
10042 // Test data for a=10.000000000000000, b=10.000000000000000, c=2.0000000000000000.
10043 // max(|f - f_GSL|): 3407872.0000000000 at index 18
10044 // max(|f - f_GSL| / |f_GSL|): 1.8642431677285562e-15
10045 // mean(f - f_GSL): 179361.84215676156
10046 // variance(f - f_GSL): 611241601687.40417
10047 // stddev(f - f_GSL): 781819.41756866348
10048 const testcase_hyperg<double>
10049 data201[19] =
10051 { 2.3388730079478156e-05, 10.000000000000000, 10.000000000000000,
10052 2.0000000000000000, -0.90000000000000002, 0.0 },
10053 { -2.3204970759764180e-05, 10.000000000000000, 10.000000000000000,
10054 2.0000000000000000, -0.80000000000000004, 0.0 },
10055 { -0.00016219730505521665, 10.000000000000000, 10.000000000000000,
10056 2.0000000000000000, -0.69999999999999996, 0.0 },
10057 { -0.00044366962360922366, 10.000000000000000, 10.000000000000000,
10058 2.0000000000000000, -0.59999999999999998, 0.0 },
10059 { -0.00071863577205453773, 10.000000000000000, 10.000000000000000,
10060 2.0000000000000000, -0.50000000000000000, 0.0 },
10061 { 4.4378596544482927e-05, 10.000000000000000, 10.000000000000000,
10062 2.0000000000000000, -0.39999999999999991, 0.0 },
10063 { 0.0044446568070621991, 10.000000000000000, 10.000000000000000,
10064 2.0000000000000000, -0.29999999999999993, 0.0 },
10065 { 0.0071045155183571615, 10.000000000000000, 10.000000000000000,
10066 2.0000000000000000, -0.19999999999999996, 0.0 },
10067 { -0.049961558159890306, 10.000000000000000, 10.000000000000000,
10068 2.0000000000000000, -0.099999999999999978, 0.0 },
10069 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
10070 2.0000000000000000, 0.0000000000000000, 0.0 },
10071 { 51.305449964107403, 10.000000000000000, 10.000000000000000,
10072 2.0000000000000000, 0.10000000000000009, 0.0 },
10073 { 1435.9545414461415, 10.000000000000000, 10.000000000000000,
10074 2.0000000000000000, 0.20000000000000018, 0.0 },
10075 { 39657.913058984115, 10.000000000000000, 10.000000000000000,
10076 2.0000000000000000, 0.30000000000000004, 0.0 },
10077 { 1346016.4468570619, 10.000000000000000, 10.000000000000000,
10078 2.0000000000000000, 0.40000000000000013, 0.0 },
10079 { 68086556.444444403, 10.000000000000000, 10.000000000000000,
10080 2.0000000000000000, 0.50000000000000000, 0.0 },
10081 { 6646235808.7301531, 10.000000000000000, 10.000000000000000,
10082 2.0000000000000000, 0.60000000000000009, 0.0 },
10083 { 1954852335479.9958, 10.000000000000000, 10.000000000000000,
10084 2.0000000000000000, 0.70000000000000018, 0.0 },
10085 { 4573796225043418.0, 10.000000000000000, 10.000000000000000,
10086 2.0000000000000000, 0.80000000000000004, 0.0 },
10087 { 1.8280190368900440e+21, 10.000000000000000, 10.000000000000000,
10088 2.0000000000000000, 0.90000000000000013, 0.0 },
10090 const double toler201 = 2.5000000000000020e-13;
10092 // Test data for a=10.000000000000000, b=10.000000000000000, c=4.0000000000000000.
10093 // max(|f - f_GSL|): 832.00000000000000 at index 18
10094 // max(|f - f_GSL| / |f_GSL|): 1.7889121078953330e-15
10095 // mean(f - f_GSL): 43.789679427686345
10096 // variance(f - f_GSL): 36432.823085424323
10097 // stddev(f - f_GSL): 190.87384075725075
10098 const testcase_hyperg<double>
10099 data202[19] =
10101 { 1.3504013648914116e-05, 10.000000000000000, 10.000000000000000,
10102 4.0000000000000000, -0.90000000000000002, 0.0 },
10103 { 3.1753432098506483e-05, 10.000000000000000, 10.000000000000000,
10104 4.0000000000000000, -0.80000000000000004, 0.0 },
10105 { 6.2032098207654132e-05, 10.000000000000000, 10.000000000000000,
10106 4.0000000000000000, -0.69999999999999996, 0.0 },
10107 { 8.8747213942816339e-05, 10.000000000000000, 10.000000000000000,
10108 4.0000000000000000, -0.59999999999999998, 0.0 },
10109 { 1.0478094697613739e-05, 10.000000000000000, 10.000000000000000,
10110 4.0000000000000000, -0.50000000000000000, 0.0 },
10111 { -0.00055998751006022351, 10.000000000000000, 10.000000000000000,
10112 4.0000000000000000, -0.39999999999999991, 0.0 },
10113 { -0.0024718654966575221, 10.000000000000000, 10.000000000000000,
10114 4.0000000000000000, -0.29999999999999993, 0.0 },
10115 { -0.0027000264053620069, 10.000000000000000, 10.000000000000000,
10116 4.0000000000000000, -0.19999999999999996, 0.0 },
10117 { 0.066515394406810743, 10.000000000000000, 10.000000000000000,
10118 4.0000000000000000, -0.099999999999999978, 0.0 },
10119 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
10120 4.0000000000000000, 0.0000000000000000, 0.0 },
10121 { 11.579200866389527, 10.000000000000000, 10.000000000000000,
10122 4.0000000000000000, 0.10000000000000009, 0.0 },
10123 { 137.50750548795330, 10.000000000000000, 10.000000000000000,
10124 4.0000000000000000, 0.20000000000000018, 0.0 },
10125 { 1901.3196072993419, 10.000000000000000, 10.000000000000000,
10126 4.0000000000000000, 0.30000000000000004, 0.0 },
10127 { 34210.659507138007, 10.000000000000000, 10.000000000000000,
10128 4.0000000000000000, 0.40000000000000013, 0.0 },
10129 { 920588.19047619053, 10.000000000000000, 10.000000000000000,
10130 4.0000000000000000, 0.50000000000000000, 0.0 },
10131 { 45876220.933028772, 10.000000000000000, 10.000000000000000,
10132 4.0000000000000000, 0.60000000000000009, 0.0 },
10133 { 6234608574.0964050, 10.000000000000000, 10.000000000000000,
10134 4.0000000000000000, 0.70000000000000018, 0.0 },
10135 { 5445391090029.7783, 10.000000000000000, 10.000000000000000,
10136 4.0000000000000000, 0.80000000000000004, 0.0 },
10137 { 4.6508713107143840e+17, 10.000000000000000, 10.000000000000000,
10138 4.0000000000000000, 0.90000000000000013, 0.0 },
10140 const double toler202 = 2.5000000000000020e-13;
10142 // Test data for a=10.000000000000000, b=10.000000000000000, c=6.0000000000000000.
10143 // max(|f - f_GSL|): 0.93750000000000000 at index 18
10144 // max(|f - f_GSL| / |f_GSL|): 1.8742262123208804e-15
10145 // mean(f - f_GSL): 0.049343110712039846
10146 // variance(f - f_GSL): 0.046258118950011272
10147 // stddev(f - f_GSL): 0.21507700702309224
10148 const testcase_hyperg<double>
10149 data203[19] =
10151 { -2.6846726901509877e-05, 10.000000000000000, 10.000000000000000,
10152 6.0000000000000000, -0.90000000000000002, 0.0 },
10153 { -4.7817237144298244e-05, 10.000000000000000, 10.000000000000000,
10154 6.0000000000000000, -0.80000000000000004, 0.0 },
10155 { -7.2908121941826117e-05, 10.000000000000000, 10.000000000000000,
10156 6.0000000000000000, -0.69999999999999996, 0.0 },
10157 { -6.0427853197636777e-05, 10.000000000000000, 10.000000000000000,
10158 6.0000000000000000, -0.59999999999999998, 0.0 },
10159 { 0.00020559720946644960, 10.000000000000000, 10.000000000000000,
10160 6.0000000000000000, -0.50000000000000000, 0.0 },
10161 { 0.0017056910683365867, 10.000000000000000, 10.000000000000000,
10162 6.0000000000000000, -0.39999999999999991, 0.0 },
10163 { 0.0088037230970524228, 10.000000000000000, 10.000000000000000,
10164 6.0000000000000000, -0.29999999999999993, 0.0 },
10165 { 0.041510819735141528, 10.000000000000000, 10.000000000000000,
10166 6.0000000000000000, -0.19999999999999996, 0.0 },
10167 { 0.19754880805677244, 10.000000000000000, 10.000000000000000,
10168 6.0000000000000000, -0.099999999999999978, 0.0 },
10169 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
10170 6.0000000000000000, 0.0000000000000000, 0.0 },
10171 { 5.6130947302779246, 10.000000000000000, 10.000000000000000,
10172 6.0000000000000000, 0.10000000000000009, 0.0 },
10173 { 36.475357196722619, 10.000000000000000, 10.000000000000000,
10174 6.0000000000000000, 0.20000000000000018, 0.0 },
10175 { 289.29483001400672, 10.000000000000000, 10.000000000000000,
10176 6.0000000000000000, 0.30000000000000004, 0.0 },
10177 { 3010.8676549536667, 10.000000000000000, 10.000000000000000,
10178 6.0000000000000000, 0.40000000000000013, 0.0 },
10179 { 45844.317460317419, 10.000000000000000, 10.000000000000000,
10180 6.0000000000000000, 0.50000000000000000, 0.0 },
10181 { 1221852.6431492427, 10.000000000000000, 10.000000000000000,
10182 6.0000000000000000, 0.60000000000000009, 0.0 },
10183 { 79585968.928969592, 10.000000000000000, 10.000000000000000,
10184 6.0000000000000000, 0.70000000000000018, 0.0 },
10185 { 26733475942.460335, 10.000000000000000, 10.000000000000000,
10186 6.0000000000000000, 0.80000000000000004, 0.0 },
10187 { 500206428571437.38, 10.000000000000000, 10.000000000000000,
10188 6.0000000000000000, 0.90000000000000013, 0.0 },
10190 const double toler203 = 2.5000000000000020e-13;
10192 // Test data for a=10.000000000000000, b=10.000000000000000, c=8.0000000000000000.
10193 // max(|f - f_GSL|): 0.0024414062500000000 at index 18
10194 // max(|f - f_GSL| / |f_GSL|): 1.6580008488964090e-15
10195 // mean(f - f_GSL): 0.00012850766473236850
10196 // variance(f - f_GSL): 3.1370523903989881e-07
10197 // stddev(f - f_GSL): 0.00056009395554665537
10198 const testcase_hyperg<double>
10199 data204[19] =
10201 { 0.00025866179054283083, 10.000000000000000, 10.000000000000000,
10202 8.0000000000000000, -0.90000000000000002, 0.0 },
10203 { 0.00053402577739226583, 10.000000000000000, 10.000000000000000,
10204 8.0000000000000000, -0.80000000000000004, 0.0 },
10205 { 0.0011390075227239291, 10.000000000000000, 10.000000000000000,
10206 8.0000000000000000, -0.69999999999999996, 0.0 },
10207 { 0.0025224267119482941, 10.000000000000000, 10.000000000000000,
10208 8.0000000000000000, -0.59999999999999998, 0.0 },
10209 { 0.0058340332124251458, 10.000000000000000, 10.000000000000000,
10210 8.0000000000000000, -0.50000000000000000, 0.0 },
10211 { 0.014189256143045212, 10.000000000000000, 10.000000000000000,
10212 8.0000000000000000, -0.39999999999999991, 0.0 },
10213 { 0.036590990011337789, 10.000000000000000, 10.000000000000000,
10214 8.0000000000000000, -0.29999999999999993, 0.0 },
10215 { 0.10106560781146991, 10.000000000000000, 10.000000000000000,
10216 8.0000000000000000, -0.19999999999999996, 0.0 },
10217 { 0.30278778538531392, 10.000000000000000, 10.000000000000000,
10218 8.0000000000000000, -0.099999999999999978, 0.0 },
10219 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
10220 8.0000000000000000, 0.0000000000000000, 0.0 },
10221 { 3.7187249990350599, 10.000000000000000, 10.000000000000000,
10222 8.0000000000000000, 0.10000000000000009, 0.0 },
10223 { 16.023275545901761, 10.000000000000000, 10.000000000000000,
10224 8.0000000000000000, 0.20000000000000018, 0.0 },
10225 { 83.265377219882822, 10.000000000000000, 10.000000000000000,
10226 8.0000000000000000, 0.30000000000000004, 0.0 },
10227 { 553.31413918844225, 10.000000000000000, 10.000000000000000,
10228 8.0000000000000000, 0.40000000000000013, 0.0 },
10229 { 5148.4444444444416, 10.000000000000000, 10.000000000000000,
10230 8.0000000000000000, 0.50000000000000000, 0.0 },
10231 { 78082.084655761908, 10.000000000000000, 10.000000000000000,
10232 8.0000000000000000, 0.60000000000000009, 0.0 },
10233 { 2565874.8781353347, 10.000000000000000, 10.000000000000000,
10234 8.0000000000000000, 0.70000000000000018, 0.0 },
10235 { 346137152.77777809, 10.000000000000000, 10.000000000000000,
10236 8.0000000000000000, 0.80000000000000004, 0.0 },
10237 { 1472500000000.0227, 10.000000000000000, 10.000000000000000,
10238 8.0000000000000000, 0.90000000000000013, 0.0 },
10240 const double toler204 = 2.5000000000000020e-13;
10242 // Test data for a=10.000000000000000, b=10.000000000000000, c=10.000000000000000.
10243 // max(|f - f_GSL|): 2.2888183593750000e-05 at index 18
10244 // max(|f - f_GSL| / |f_GSL|): 2.4795532226562509e-15
10245 // mean(f - f_GSL): 1.2059140510950354e-06
10246 // variance(f - f_GSL): 2.7568813079896666e-11
10247 // stddev(f - f_GSL): 5.2506012112801583e-06
10248 const testcase_hyperg<double>
10249 data205[19] =
10251 { 0.0016310376661280216, 10.000000000000000, 10.000000000000000,
10252 10.000000000000000, -0.90000000000000002, 0.0 },
10253 { 0.0028007538972582421, 10.000000000000000, 10.000000000000000,
10254 10.000000000000000, -0.80000000000000004, 0.0 },
10255 { 0.0049603324681551939, 10.000000000000000, 10.000000000000000,
10256 10.000000000000000, -0.69999999999999996, 0.0 },
10257 { 0.0090949470177292789, 10.000000000000000, 10.000000000000000,
10258 10.000000000000000, -0.59999999999999998, 0.0 },
10259 { 0.017341529915832606, 10.000000000000000, 10.000000000000000,
10260 10.000000000000000, -0.50000000000000000, 0.0 },
10261 { 0.034571613033607791, 10.000000000000000, 10.000000000000000,
10262 10.000000000000000, -0.39999999999999991, 0.0 },
10263 { 0.072538150286405839, 10.000000000000000, 10.000000000000000,
10264 10.000000000000000, -0.29999999999999993, 0.0 },
10265 { 0.16150558288984579, 10.000000000000000, 10.000000000000000,
10266 10.000000000000000, -0.19999999999999996, 0.0 },
10267 { 0.38554328942953142, 10.000000000000000, 10.000000000000000,
10268 10.000000000000000, -0.099999999999999978, 0.0 },
10269 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
10270 10.000000000000000, 0.0000000000000000, 0.0 },
10271 { 2.8679719907924444, 10.000000000000000, 10.000000000000000,
10272 10.000000000000000, 0.10000000000000009, 0.0 },
10273 { 9.3132257461548065, 10.000000000000000, 10.000000000000000,
10274 10.000000000000000, 0.20000000000000018, 0.0 },
10275 { 35.401331746414378, 10.000000000000000, 10.000000000000000,
10276 10.000000000000000, 0.30000000000000004, 0.0 },
10277 { 165.38171687920246, 10.000000000000000, 10.000000000000000,
10278 10.000000000000000, 0.40000000000000013, 0.0 },
10279 { 1024.0000000000000, 10.000000000000000, 10.000000000000000,
10280 10.000000000000000, 0.50000000000000000, 0.0 },
10281 { 9536.7431640625218, 10.000000000000000, 10.000000000000000,
10282 10.000000000000000, 0.60000000000000009, 0.0 },
10283 { 169350.87808430390, 10.000000000000000, 10.000000000000000,
10284 10.000000000000000, 0.70000000000000018, 0.0 },
10285 { 9765624.9999999963, 10.000000000000000, 10.000000000000000,
10286 10.000000000000000, 0.80000000000000004, 0.0 },
10287 { 10000000000.000111, 10.000000000000000, 10.000000000000000,
10288 10.000000000000000, 0.90000000000000013, 0.0 },
10290 const double toler205 = 2.5000000000000020e-13;
10292 // Test data for a=10.000000000000000, b=20.000000000000000, c=2.0000000000000000.
10293 // max(|f - f_GSL|): 2.5940733853654057e+18 at index 18
10294 // max(|f - f_GSL| / |f_GSL|): 1.8312596334404269e-15
10295 // mean(f - f_GSL): 1.3653017829015250e+17
10296 // variance(f - f_GSL): 4.1617051640949032e+35
10297 // stddev(f - f_GSL): 6.4511279355589466e+17
10298 const testcase_hyperg<double>
10299 data206[19] =
10301 { -2.1776535312781759e-07, 10.000000000000000, 20.000000000000000,
10302 2.0000000000000000, -0.90000000000000002, 0.0 },
10303 { -2.9128833151630439e-06, 10.000000000000000, 20.000000000000000,
10304 2.0000000000000000, -0.80000000000000004, 0.0 },
10305 { -9.4755553429932710e-06, 10.000000000000000, 20.000000000000000,
10306 2.0000000000000000, -0.69999999999999996, 0.0 },
10307 { -1.2844297353852837e-05, 10.000000000000000, 20.000000000000000,
10308 2.0000000000000000, -0.59999999999999998, 0.0 },
10309 { 3.6576965483549205e-05, 10.000000000000000, 20.000000000000000,
10310 2.0000000000000000, -0.50000000000000000, 0.0 },
10311 { 0.00020847453890703339, 10.000000000000000, 20.000000000000000,
10312 2.0000000000000000, -0.39999999999999991, 0.0 },
10313 { -0.00022868510398194936, 10.000000000000000, 20.000000000000000,
10314 2.0000000000000000, -0.29999999999999993, 0.0 },
10315 { -0.0021855513841943421, 10.000000000000000, 20.000000000000000,
10316 2.0000000000000000, -0.19999999999999996, 0.0 },
10317 { 0.014662111759334568, 10.000000000000000, 20.000000000000000,
10318 2.0000000000000000, -0.099999999999999978, 0.0 },
10319 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
10320 2.0000000000000000, 0.0000000000000000, 0.0 },
10321 { 746.44776348798098, 10.000000000000000, 20.000000000000000,
10322 2.0000000000000000, 0.10000000000000009, 0.0 },
10323 { 136080.48445225772, 10.000000000000000, 20.000000000000000,
10324 2.0000000000000000, 0.20000000000000018, 0.0 },
10325 { 23094279.597826406, 10.000000000000000, 20.000000000000000,
10326 2.0000000000000000, 0.30000000000000004, 0.0 },
10327 { 5315913395.5545979, 10.000000000000000, 20.000000000000000,
10328 2.0000000000000000, 0.40000000000000013, 0.0 },
10329 { 2261935718399.9990, 10.000000000000000, 20.000000000000000,
10330 2.0000000000000000, 0.50000000000000000, 0.0 },
10331 { 2669150854828235.0, 10.000000000000000, 20.000000000000000,
10332 2.0000000000000000, 0.60000000000000009, 0.0 },
10333 { 1.7499363099366351e+19, 10.000000000000000, 20.000000000000000,
10334 2.0000000000000000, 0.70000000000000018, 0.0 },
10335 { 2.8881518494606140e+24, 10.000000000000000, 20.000000000000000,
10336 2.0000000000000000, 0.80000000000000004, 0.0 },
10337 { 1.4165513933662505e+33, 10.000000000000000, 20.000000000000000,
10338 2.0000000000000000, 0.90000000000000013, 0.0 },
10340 const double toler206 = 2.5000000000000020e-13;
10342 // Test data for a=10.000000000000000, b=20.000000000000000, c=4.0000000000000000.
10343 // max(|f - f_GSL|): 299067162755072.00 at index 18
10344 // max(|f - f_GSL| / |f_GSL|): 2.1129345912023457e-15
10345 // mean(f - f_GSL): 15740377042297.895
10346 // variance(f - f_GSL): 4.7074334083472640e+27
10347 // stddev(f - f_GSL): 68610738287437.656
10348 const testcase_hyperg<double>
10349 data207[19] =
10351 { 1.7149006966334498e-07, 10.000000000000000, 20.000000000000000,
10352 4.0000000000000000, -0.90000000000000002, 0.0 },
10353 { 3.2399324906563845e-07, 10.000000000000000, 20.000000000000000,
10354 4.0000000000000000, -0.80000000000000004, 0.0 },
10355 { 1.6015317699713284e-07, 10.000000000000000, 20.000000000000000,
10356 4.0000000000000000, -0.69999999999999996, 0.0 },
10357 { -2.0500917201273337e-06, 10.000000000000000, 20.000000000000000,
10358 4.0000000000000000, -0.59999999999999998, 0.0 },
10359 { -1.0175546788592665e-05, 10.000000000000000, 20.000000000000000,
10360 4.0000000000000000, -0.50000000000000000, 0.0 },
10361 { -1.1720101988188077e-05, 10.000000000000000, 20.000000000000000,
10362 4.0000000000000000, -0.39999999999999991, 0.0 },
10363 { 0.00014199637113982382, 10.000000000000000, 20.000000000000000,
10364 4.0000000000000000, -0.29999999999999993, 0.0 },
10365 { 0.00021263363640641769, 10.000000000000000, 20.000000000000000,
10366 4.0000000000000000, -0.19999999999999996, 0.0 },
10367 { -0.0072649256698439626, 10.000000000000000, 20.000000000000000,
10368 4.0000000000000000, -0.099999999999999978, 0.0 },
10369 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
10370 4.0000000000000000, 0.0000000000000000, 0.0 },
10371 { 90.430293772869618, 10.000000000000000, 20.000000000000000,
10372 4.0000000000000000, 0.10000000000000009, 0.0 },
10373 { 6248.1455940292872, 10.000000000000000, 20.000000000000000,
10374 4.0000000000000000, 0.20000000000000018, 0.0 },
10375 { 501143.39852548984, 10.000000000000000, 20.000000000000000,
10376 4.0000000000000000, 0.30000000000000004, 0.0 },
10377 { 58852027.356440276, 10.000000000000000, 20.000000000000000,
10378 4.0000000000000000, 0.40000000000000013, 0.0 },
10379 { 12942923093.333330, 10.000000000000000, 20.000000000000000,
10380 4.0000000000000000, 0.50000000000000000, 0.0 },
10381 { 7618073993853.6592, 10.000000000000000, 20.000000000000000,
10382 4.0000000000000000, 0.60000000000000009, 0.0 },
10383 { 22630251562549772., 10.000000000000000, 20.000000000000000,
10384 4.0000000000000000, 0.70000000000000018, 0.0 },
10385 { 1.3708372433980356e+21, 10.000000000000000, 20.000000000000000,
10386 4.0000000000000000, 0.80000000000000004, 0.0 },
10387 { 1.4154113620000448e+29, 10.000000000000000, 20.000000000000000,
10388 4.0000000000000000, 0.90000000000000013, 0.0 },
10390 const double toler207 = 2.5000000000000020e-13;
10392 // Test data for a=10.000000000000000, b=20.000000000000000, c=6.0000000000000000.
10393 // max(|f - f_GSL|): 103079215104.00000 at index 18
10394 // max(|f - f_GSL| / |f_GSL|): 1.8869870511941024e-15
10395 // mean(f - f_GSL): 5425221928.4235201
10396 // variance(f - f_GSL): 5.5922760890380314e+20
10397 // stddev(f - f_GSL): 23647993760.651306
10398 const testcase_hyperg<double>
10399 data208[19] =
10401 { -1.6667473284194196e-08, 10.000000000000000, 20.000000000000000,
10402 6.0000000000000000, -0.90000000000000002, 0.0 },
10403 { 8.6214843496406671e-08, 10.000000000000000, 20.000000000000000,
10404 6.0000000000000000, -0.80000000000000004, 0.0 },
10405 { 5.7778331275185146e-07, 10.000000000000000, 20.000000000000000,
10406 6.0000000000000000, -0.69999999999999996, 0.0 },
10407 { 2.1911400502042259e-06, 10.000000000000000, 20.000000000000000,
10408 6.0000000000000000, -0.59999999999999998, 0.0 },
10409 { 4.7440049217199358e-06, 10.000000000000000, 20.000000000000000,
10410 6.0000000000000000, -0.50000000000000000, 0.0 },
10411 { -1.0564233314712615e-05, 10.000000000000000, 20.000000000000000,
10412 6.0000000000000000, -0.39999999999999991, 0.0 },
10413 { -0.00017990026051847404, 10.000000000000000, 20.000000000000000,
10414 6.0000000000000000, -0.29999999999999993, 0.0 },
10415 { -0.00027618146288724629, 10.000000000000000, 20.000000000000000,
10416 6.0000000000000000, -0.19999999999999996, 0.0 },
10417 { 0.030606019577723666, 10.000000000000000, 20.000000000000000,
10418 6.0000000000000000, -0.099999999999999978, 0.0 },
10419 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
10420 6.0000000000000000, 0.0000000000000000, 0.0 },
10421 { 27.832854169493341, 10.000000000000000, 20.000000000000000,
10422 6.0000000000000000, 0.10000000000000009, 0.0 },
10423 { 874.00624088575910, 10.000000000000000, 20.000000000000000,
10424 6.0000000000000000, 0.20000000000000018, 0.0 },
10425 { 36049.199340831554, 10.000000000000000, 20.000000000000000,
10426 6.0000000000000000, 0.30000000000000004, 0.0 },
10427 { 2270967.7298625209, 10.000000000000000, 20.000000000000000,
10428 6.0000000000000000, 0.40000000000000013, 0.0 },
10429 { 266979100.44444439, 10.000000000000000, 20.000000000000000,
10430 6.0000000000000000, 0.50000000000000000, 0.0 },
10431 { 80311224337.493027, 10.000000000000000, 20.000000000000000,
10432 6.0000000000000000, 0.60000000000000009, 0.0 },
10433 { 110111693103801.77, 10.000000000000000, 20.000000000000000,
10434 6.0000000000000000, 0.70000000000000018, 0.0 },
10435 { 2.4838871426052618e+18, 10.000000000000000, 20.000000000000000,
10436 6.0000000000000000, 0.80000000000000004, 0.0 },
10437 { 5.4626350000001618e+25, 10.000000000000000, 20.000000000000000,
10438 6.0000000000000000, 0.90000000000000013, 0.0 },
10440 const double toler208 = 2.5000000000000020e-13;
10442 // Test data for a=10.000000000000000, b=20.000000000000000, c=8.0000000000000000.
10443 // max(|f - f_GSL|): 100663296.00000000 at index 18
10444 // max(|f - f_GSL| / |f_GSL|): 1.9414329026036117e-15
10445 // mean(f - f_GSL): 5298068.6316046715
10446 // variance(f - f_GSL): 533321003794731.12
10447 // stddev(f - f_GSL): 23093743.823701065
10448 const testcase_hyperg<double>
10449 data209[19] =
10451 { -1.5843795889906876e-07, 10.000000000000000, 20.000000000000000,
10452 8.0000000000000000, -0.90000000000000002, 0.0 },
10453 { -5.4877276002864784e-07, 10.000000000000000, 20.000000000000000,
10454 8.0000000000000000, -0.80000000000000004, 0.0 },
10455 { -1.7169507967699695e-06, 10.000000000000000, 20.000000000000000,
10456 8.0000000000000000, -0.69999999999999996, 0.0 },
10457 { -4.5236439749819329e-06, 10.000000000000000, 20.000000000000000,
10458 8.0000000000000000, -0.59999999999999998, 0.0 },
10459 { -5.5690492560381956e-06, 10.000000000000000, 20.000000000000000,
10460 8.0000000000000000, -0.50000000000000000, 0.0 },
10461 { 5.6914115606653561e-05, 10.000000000000000, 20.000000000000000,
10462 8.0000000000000000, -0.39999999999999991, 0.0 },
10463 { 0.00082507252097489250, 10.000000000000000, 20.000000000000000,
10464 8.0000000000000000, -0.29999999999999993, 0.0 },
10465 { 0.0085739249288230429, 10.000000000000000, 20.000000000000000,
10466 8.0000000000000000, -0.19999999999999996, 0.0 },
10467 { 0.088244357683754687, 10.000000000000000, 20.000000000000000,
10468 8.0000000000000000, -0.099999999999999978, 0.0 },
10469 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
10470 8.0000000000000000, 0.0000000000000000, 0.0 },
10471 { 13.387208440156897, 10.000000000000000, 20.000000000000000,
10472 8.0000000000000000, 0.10000000000000009, 0.0 },
10473 { 226.77895441155252, 10.000000000000000, 20.000000000000000,
10474 8.0000000000000000, 0.20000000000000018, 0.0 },
10475 { 5281.5716482686785, 10.000000000000000, 20.000000000000000,
10476 8.0000000000000000, 0.30000000000000004, 0.0 },
10477 { 189431.77762850633, 10.000000000000000, 20.000000000000000,
10478 8.0000000000000000, 0.40000000000000013, 0.0 },
10479 { 12408149.333333332, 10.000000000000000, 20.000000000000000,
10480 8.0000000000000000, 0.50000000000000000, 0.0 },
10481 { 1966782292.5839682, 10.000000000000000, 20.000000000000000,
10482 8.0000000000000000, 0.60000000000000009, 0.0 },
10483 { 1274123112205.7700, 10.000000000000000, 20.000000000000000,
10484 8.0000000000000000, 0.70000000000000018, 0.0 },
10485 { 10903676350911508., 10.000000000000000, 20.000000000000000,
10486 8.0000000000000000, 0.80000000000000004, 0.0 },
10487 { 5.1850000000001411e+22, 10.000000000000000, 20.000000000000000,
10488 8.0000000000000000, 0.90000000000000013, 0.0 },
10490 const double toler209 = 2.5000000000000020e-13;
10492 // Test data for a=10.000000000000000, b=20.000000000000000, c=10.000000000000000.
10493 // max(|f - f_GSL|): 475136.00000000000 at index 18
10494 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
10495 // mean(f - f_GSL): 25007.185032091642
10496 // variance(f - f_GSL): 11881799540.814577
10497 // stddev(f - f_GSL): 109003.66755671379
10498 const testcase_hyperg<double>
10499 data210[19] =
10501 { 2.6602838683283435e-06, 10.000000000000000, 20.000000000000000,
10502 10.000000000000000, -0.90000000000000002, 0.0 },
10503 { 7.8442223930072316e-06, 10.000000000000000, 20.000000000000000,
10504 10.000000000000000, -0.80000000000000004, 0.0 },
10505 { 2.4604898194634598e-05, 10.000000000000000, 20.000000000000000,
10506 10.000000000000000, -0.69999999999999996, 0.0 },
10507 { 8.2718061255302686e-05, 10.000000000000000, 20.000000000000000,
10508 10.000000000000000, -0.59999999999999998, 0.0 },
10509 { 0.00030072865982171723, 10.000000000000000, 20.000000000000000,
10510 10.000000000000000, -0.50000000000000000, 0.0 },
10511 { 0.0011951964277455204, 10.000000000000000, 20.000000000000000,
10512 10.000000000000000, -0.39999999999999991, 0.0 },
10513 { 0.0052617832469731996, 10.000000000000000, 20.000000000000000,
10514 10.000000000000000, -0.29999999999999993, 0.0 },
10515 { 0.026084053304588850, 10.000000000000000, 20.000000000000000,
10516 10.000000000000000, -0.19999999999999996, 0.0 },
10517 { 0.14864362802414346, 10.000000000000000, 20.000000000000000,
10518 10.000000000000000, -0.099999999999999978, 0.0 },
10519 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
10520 10.000000000000000, 0.0000000000000000, 0.0 },
10521 { 8.2252633399699757, 10.000000000000000, 20.000000000000000,
10522 10.000000000000000, 0.10000000000000009, 0.0 },
10523 { 86.736173798840738, 10.000000000000000, 20.000000000000000,
10524 10.000000000000000, 0.20000000000000018, 0.0 },
10525 { 1253.2542894196868, 10.000000000000000, 20.000000000000000,
10526 10.000000000000000, 0.30000000000000004, 0.0 },
10527 { 27351.112277912678, 10.000000000000000, 20.000000000000000,
10528 10.000000000000000, 0.40000000000000013, 0.0 },
10529 { 1048576.0000000000, 10.000000000000000, 20.000000000000000,
10530 10.000000000000000, 0.50000000000000000, 0.0 },
10531 { 90949470.177293226, 10.000000000000000, 20.000000000000000,
10532 10.000000000000000, 0.60000000000000009, 0.0 },
10533 { 28679719907.924767, 10.000000000000000, 20.000000000000000,
10534 10.000000000000000, 0.70000000000000018, 0.0 },
10535 { 95367431640624.906, 10.000000000000000, 20.000000000000000,
10536 10.000000000000000, 0.80000000000000004, 0.0 },
10537 { 1.0000000000000220e+20, 10.000000000000000, 20.000000000000000,
10538 10.000000000000000, 0.90000000000000013, 0.0 },
10540 const double toler210 = 5.0000000000000039e-13;
10542 // Test data for a=20.000000000000000, b=0.0000000000000000, c=2.0000000000000000.
10543 // max(|f - f_GSL|): 0.0000000000000000 at index 0
10544 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10545 // mean(f - f_GSL): 0.0000000000000000
10546 // variance(f - f_GSL): 0.0000000000000000
10547 // stddev(f - f_GSL): 0.0000000000000000
10548 const testcase_hyperg<double>
10549 data211[19] =
10551 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10552 2.0000000000000000, -0.90000000000000002, 0.0 },
10553 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10554 2.0000000000000000, -0.80000000000000004, 0.0 },
10555 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10556 2.0000000000000000, -0.69999999999999996, 0.0 },
10557 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10558 2.0000000000000000, -0.59999999999999998, 0.0 },
10559 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10560 2.0000000000000000, -0.50000000000000000, 0.0 },
10561 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10562 2.0000000000000000, -0.39999999999999991, 0.0 },
10563 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10564 2.0000000000000000, -0.29999999999999993, 0.0 },
10565 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10566 2.0000000000000000, -0.19999999999999996, 0.0 },
10567 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10568 2.0000000000000000, -0.099999999999999978, 0.0 },
10569 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10570 2.0000000000000000, 0.0000000000000000, 0.0 },
10571 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10572 2.0000000000000000, 0.10000000000000009, 0.0 },
10573 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10574 2.0000000000000000, 0.20000000000000018, 0.0 },
10575 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10576 2.0000000000000000, 0.30000000000000004, 0.0 },
10577 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10578 2.0000000000000000, 0.40000000000000013, 0.0 },
10579 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10580 2.0000000000000000, 0.50000000000000000, 0.0 },
10581 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10582 2.0000000000000000, 0.60000000000000009, 0.0 },
10583 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10584 2.0000000000000000, 0.70000000000000018, 0.0 },
10585 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10586 2.0000000000000000, 0.80000000000000004, 0.0 },
10587 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10588 2.0000000000000000, 0.90000000000000013, 0.0 },
10590 const double toler211 = 2.5000000000000020e-13;
10592 // Test data for a=20.000000000000000, b=0.0000000000000000, c=4.0000000000000000.
10593 // max(|f - f_GSL|): 0.0000000000000000 at index 0
10594 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10595 // mean(f - f_GSL): 0.0000000000000000
10596 // variance(f - f_GSL): 0.0000000000000000
10597 // stddev(f - f_GSL): 0.0000000000000000
10598 const testcase_hyperg<double>
10599 data212[19] =
10601 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10602 4.0000000000000000, -0.90000000000000002, 0.0 },
10603 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10604 4.0000000000000000, -0.80000000000000004, 0.0 },
10605 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10606 4.0000000000000000, -0.69999999999999996, 0.0 },
10607 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10608 4.0000000000000000, -0.59999999999999998, 0.0 },
10609 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10610 4.0000000000000000, -0.50000000000000000, 0.0 },
10611 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10612 4.0000000000000000, -0.39999999999999991, 0.0 },
10613 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10614 4.0000000000000000, -0.29999999999999993, 0.0 },
10615 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10616 4.0000000000000000, -0.19999999999999996, 0.0 },
10617 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10618 4.0000000000000000, -0.099999999999999978, 0.0 },
10619 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10620 4.0000000000000000, 0.0000000000000000, 0.0 },
10621 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10622 4.0000000000000000, 0.10000000000000009, 0.0 },
10623 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10624 4.0000000000000000, 0.20000000000000018, 0.0 },
10625 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10626 4.0000000000000000, 0.30000000000000004, 0.0 },
10627 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10628 4.0000000000000000, 0.40000000000000013, 0.0 },
10629 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10630 4.0000000000000000, 0.50000000000000000, 0.0 },
10631 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10632 4.0000000000000000, 0.60000000000000009, 0.0 },
10633 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10634 4.0000000000000000, 0.70000000000000018, 0.0 },
10635 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10636 4.0000000000000000, 0.80000000000000004, 0.0 },
10637 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10638 4.0000000000000000, 0.90000000000000013, 0.0 },
10640 const double toler212 = 2.5000000000000020e-13;
10642 // Test data for a=20.000000000000000, b=0.0000000000000000, c=6.0000000000000000.
10643 // max(|f - f_GSL|): 0.0000000000000000 at index 0
10644 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10645 // mean(f - f_GSL): 0.0000000000000000
10646 // variance(f - f_GSL): 0.0000000000000000
10647 // stddev(f - f_GSL): 0.0000000000000000
10648 const testcase_hyperg<double>
10649 data213[19] =
10651 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10652 6.0000000000000000, -0.90000000000000002, 0.0 },
10653 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10654 6.0000000000000000, -0.80000000000000004, 0.0 },
10655 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10656 6.0000000000000000, -0.69999999999999996, 0.0 },
10657 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10658 6.0000000000000000, -0.59999999999999998, 0.0 },
10659 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10660 6.0000000000000000, -0.50000000000000000, 0.0 },
10661 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10662 6.0000000000000000, -0.39999999999999991, 0.0 },
10663 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10664 6.0000000000000000, -0.29999999999999993, 0.0 },
10665 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10666 6.0000000000000000, -0.19999999999999996, 0.0 },
10667 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10668 6.0000000000000000, -0.099999999999999978, 0.0 },
10669 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10670 6.0000000000000000, 0.0000000000000000, 0.0 },
10671 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10672 6.0000000000000000, 0.10000000000000009, 0.0 },
10673 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10674 6.0000000000000000, 0.20000000000000018, 0.0 },
10675 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10676 6.0000000000000000, 0.30000000000000004, 0.0 },
10677 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10678 6.0000000000000000, 0.40000000000000013, 0.0 },
10679 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10680 6.0000000000000000, 0.50000000000000000, 0.0 },
10681 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10682 6.0000000000000000, 0.60000000000000009, 0.0 },
10683 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10684 6.0000000000000000, 0.70000000000000018, 0.0 },
10685 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10686 6.0000000000000000, 0.80000000000000004, 0.0 },
10687 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10688 6.0000000000000000, 0.90000000000000013, 0.0 },
10690 const double toler213 = 2.5000000000000020e-13;
10692 // Test data for a=20.000000000000000, b=0.0000000000000000, c=8.0000000000000000.
10693 // max(|f - f_GSL|): 0.0000000000000000 at index 0
10694 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10695 // mean(f - f_GSL): 0.0000000000000000
10696 // variance(f - f_GSL): 0.0000000000000000
10697 // stddev(f - f_GSL): 0.0000000000000000
10698 const testcase_hyperg<double>
10699 data214[19] =
10701 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10702 8.0000000000000000, -0.90000000000000002, 0.0 },
10703 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10704 8.0000000000000000, -0.80000000000000004, 0.0 },
10705 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10706 8.0000000000000000, -0.69999999999999996, 0.0 },
10707 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10708 8.0000000000000000, -0.59999999999999998, 0.0 },
10709 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10710 8.0000000000000000, -0.50000000000000000, 0.0 },
10711 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10712 8.0000000000000000, -0.39999999999999991, 0.0 },
10713 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10714 8.0000000000000000, -0.29999999999999993, 0.0 },
10715 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10716 8.0000000000000000, -0.19999999999999996, 0.0 },
10717 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10718 8.0000000000000000, -0.099999999999999978, 0.0 },
10719 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10720 8.0000000000000000, 0.0000000000000000, 0.0 },
10721 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10722 8.0000000000000000, 0.10000000000000009, 0.0 },
10723 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10724 8.0000000000000000, 0.20000000000000018, 0.0 },
10725 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10726 8.0000000000000000, 0.30000000000000004, 0.0 },
10727 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10728 8.0000000000000000, 0.40000000000000013, 0.0 },
10729 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10730 8.0000000000000000, 0.50000000000000000, 0.0 },
10731 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10732 8.0000000000000000, 0.60000000000000009, 0.0 },
10733 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10734 8.0000000000000000, 0.70000000000000018, 0.0 },
10735 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10736 8.0000000000000000, 0.80000000000000004, 0.0 },
10737 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10738 8.0000000000000000, 0.90000000000000013, 0.0 },
10740 const double toler214 = 2.5000000000000020e-13;
10742 // Test data for a=20.000000000000000, b=0.0000000000000000, c=10.000000000000000.
10743 // max(|f - f_GSL|): 0.0000000000000000 at index 0
10744 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10745 // mean(f - f_GSL): 0.0000000000000000
10746 // variance(f - f_GSL): 0.0000000000000000
10747 // stddev(f - f_GSL): 0.0000000000000000
10748 const testcase_hyperg<double>
10749 data215[19] =
10751 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10752 10.000000000000000, -0.90000000000000002, 0.0 },
10753 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10754 10.000000000000000, -0.80000000000000004, 0.0 },
10755 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10756 10.000000000000000, -0.69999999999999996, 0.0 },
10757 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10758 10.000000000000000, -0.59999999999999998, 0.0 },
10759 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10760 10.000000000000000, -0.50000000000000000, 0.0 },
10761 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10762 10.000000000000000, -0.39999999999999991, 0.0 },
10763 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10764 10.000000000000000, -0.29999999999999993, 0.0 },
10765 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10766 10.000000000000000, -0.19999999999999996, 0.0 },
10767 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10768 10.000000000000000, -0.099999999999999978, 0.0 },
10769 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10770 10.000000000000000, 0.0000000000000000, 0.0 },
10771 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10772 10.000000000000000, 0.10000000000000009, 0.0 },
10773 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10774 10.000000000000000, 0.20000000000000018, 0.0 },
10775 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10776 10.000000000000000, 0.30000000000000004, 0.0 },
10777 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10778 10.000000000000000, 0.40000000000000013, 0.0 },
10779 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10780 10.000000000000000, 0.50000000000000000, 0.0 },
10781 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10782 10.000000000000000, 0.60000000000000009, 0.0 },
10783 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10784 10.000000000000000, 0.70000000000000018, 0.0 },
10785 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10786 10.000000000000000, 0.80000000000000004, 0.0 },
10787 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10788 10.000000000000000, 0.90000000000000013, 0.0 },
10790 const double toler215 = 2.5000000000000020e-13;
10792 // Test data for a=20.000000000000000, b=0.50000000000000000, c=2.0000000000000000.
10793 // max(|f - f_GSL|): 48.000000000000000 at index 18
10794 // max(|f - f_GSL| / |f_GSL|): 1.8556481344874416e-15
10795 // mean(f - f_GSL): 2.5263190030329112
10796 // variance(f - f_GSL): 121.26314075575490
10797 // stddev(f - f_GSL): 11.011954447588080
10798 const testcase_hyperg<double>
10799 data216[19] =
10801 { 0.26690449940521549, 20.000000000000000, 0.50000000000000000,
10802 2.0000000000000000, -0.90000000000000002, 0.0 },
10803 { 0.28252302866181833, 20.000000000000000, 0.50000000000000000,
10804 2.0000000000000000, -0.80000000000000004, 0.0 },
10805 { 0.30123616141153836, 20.000000000000000, 0.50000000000000000,
10806 2.0000000000000000, -0.69999999999999996, 0.0 },
10807 { 0.32421384687602633, 20.000000000000000, 0.50000000000000000,
10808 2.0000000000000000, -0.59999999999999998, 0.0 },
10809 { 0.35334630811776774, 20.000000000000000, 0.50000000000000000,
10810 2.0000000000000000, -0.50000000000000000, 0.0 },
10811 { 0.39191793127466995, 20.000000000000000, 0.50000000000000000,
10812 2.0000000000000000, -0.39999999999999991, 0.0 },
10813 { 0.44620488618129212, 20.000000000000000, 0.50000000000000000,
10814 2.0000000000000000, -0.29999999999999993, 0.0 },
10815 { 0.52980896919265719, 20.000000000000000, 0.50000000000000000,
10816 2.0000000000000000, -0.19999999999999996, 0.0 },
10817 { 0.67754711477562324, 20.000000000000000, 0.50000000000000000,
10818 2.0000000000000000, -0.099999999999999978, 0.0 },
10819 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10820 2.0000000000000000, 0.0000000000000000, 0.0 },
10821 { 1.9567557771780317, 20.000000000000000, 0.50000000000000000,
10822 2.0000000000000000, 0.10000000000000009, 0.0 },
10823 { 6.1816042148333272, 20.000000000000000, 0.50000000000000000,
10824 2.0000000000000000, 0.20000000000000018, 0.0 },
10825 { 35.653088618561227, 20.000000000000000, 0.50000000000000000,
10826 2.0000000000000000, 0.30000000000000004, 0.0 },
10827 { 377.51482843180133, 20.000000000000000, 0.50000000000000000,
10828 2.0000000000000000, 0.40000000000000013, 0.0 },
10829 { 7645.8816551195359, 20.000000000000000, 0.50000000000000000,
10830 2.0000000000000000, 0.50000000000000000, 0.0 },
10831 { 354791.74537980522, 20.000000000000000, 0.50000000000000000,
10832 2.0000000000000000, 0.60000000000000009, 0.0 },
10833 { 57009889.966639392, 20.000000000000000, 0.50000000000000000,
10834 2.0000000000000000, 0.70000000000000018, 0.0 },
10835 { 83771357024.863937, 20.000000000000000, 0.50000000000000000,
10836 2.0000000000000000, 0.80000000000000004, 0.0 },
10837 { 25866972896377436., 20.000000000000000, 0.50000000000000000,
10838 2.0000000000000000, 0.90000000000000013, 0.0 },
10840 const double toler216 = 2.5000000000000020e-13;
10842 // Test data for a=20.000000000000000, b=0.50000000000000000, c=4.0000000000000000.
10843 // max(|f - f_GSL|): 0.011718750000000000 at index 18
10844 // max(|f - f_GSL| / |f_GSL|): 1.7519521419033478e-15
10845 // mean(f - f_GSL): 0.00061678102606403001
10846 // variance(f - f_GSL): 7.2278413174892008e-06
10847 // stddev(f - f_GSL): 0.0026884644906506020
10848 const testcase_hyperg<double>
10849 data217[19] =
10851 { 0.40342659436153389, 20.000000000000000, 0.50000000000000000,
10852 4.0000000000000000, -0.90000000000000002, 0.0 },
10853 { 0.42420571192034318, 20.000000000000000, 0.50000000000000000,
10854 4.0000000000000000, -0.80000000000000004, 0.0 },
10855 { 0.44852768286073041, 20.000000000000000, 0.50000000000000000,
10856 4.0000000000000000, -0.69999999999999996, 0.0 },
10857 { 0.47751245808592863, 20.000000000000000, 0.50000000000000000,
10858 4.0000000000000000, -0.59999999999999998, 0.0 },
10859 { 0.51283632632707765, 20.000000000000000, 0.50000000000000000,
10860 4.0000000000000000, -0.50000000000000000, 0.0 },
10861 { 0.55713468814894329, 20.000000000000000, 0.50000000000000000,
10862 4.0000000000000000, -0.39999999999999991, 0.0 },
10863 { 0.61481320817757346, 20.000000000000000, 0.50000000000000000,
10864 4.0000000000000000, -0.29999999999999993, 0.0 },
10865 { 0.69383483410097213, 20.000000000000000, 0.50000000000000000,
10866 4.0000000000000000, -0.19999999999999996, 0.0 },
10867 { 0.81012002526006044, 20.000000000000000, 0.50000000000000000,
10868 4.0000000000000000, -0.099999999999999978, 0.0 },
10869 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10870 4.0000000000000000, 0.0000000000000000, 0.0 },
10871 { 1.3622225506603911, 20.000000000000000, 0.50000000000000000,
10872 4.0000000000000000, 0.10000000000000009, 0.0 },
10873 { 2.2349513086109027, 20.000000000000000, 0.50000000000000000,
10874 4.0000000000000000, 0.20000000000000018, 0.0 },
10875 { 5.1864917536761723, 20.000000000000000, 0.50000000000000000,
10876 4.0000000000000000, 0.30000000000000004, 0.0 },
10877 { 21.020560423779497, 20.000000000000000, 0.50000000000000000,
10878 4.0000000000000000, 0.40000000000000013, 0.0 },
10879 { 175.19649997100612, 20.000000000000000, 0.50000000000000000,
10880 4.0000000000000000, 0.50000000000000000, 0.0 },
10881 { 3467.1587803688708, 20.000000000000000, 0.50000000000000000,
10882 4.0000000000000000, 0.60000000000000009, 0.0 },
10883 { 225003.88683446089, 20.000000000000000, 0.50000000000000000,
10884 4.0000000000000000, 0.70000000000000018, 0.0 },
10885 { 110837674.65652709, 20.000000000000000, 0.50000000000000000,
10886 4.0000000000000000, 0.80000000000000004, 0.0 },
10887 { 6688966964170.9326, 20.000000000000000, 0.50000000000000000,
10888 4.0000000000000000, 0.90000000000000013, 0.0 },
10890 const double toler217 = 2.5000000000000020e-13;
10892 // Test data for a=20.000000000000000, b=0.50000000000000000, c=6.0000000000000000.
10893 // max(|f - f_GSL|): 1.4305114746093750e-05 at index 18
10894 // max(|f - f_GSL| / |f_GSL|): 1.9261147266353426e-15
10895 // mean(f - f_GSL): 7.5292535813082699e-07
10896 // variance(f - f_GSL): 1.0770292922645316e-11
10897 // stddev(f - f_GSL): 3.2818124447697064e-06
10898 const testcase_hyperg<double>
10899 data218[19] =
10901 { 0.48716309885816822, 20.000000000000000, 0.50000000000000000,
10902 6.0000000000000000, -0.90000000000000002, 0.0 },
10903 { 0.50965859152542337, 20.000000000000000, 0.50000000000000000,
10904 6.0000000000000000, -0.80000000000000004, 0.0 },
10905 { 0.53554809210658938, 20.000000000000000, 0.50000000000000000,
10906 6.0000000000000000, -0.69999999999999996, 0.0 },
10907 { 0.56576689207507136, 20.000000000000000, 0.50000000000000000,
10908 6.0000000000000000, -0.59999999999999998, 0.0 },
10909 { 0.60164849637133655, 20.000000000000000, 0.50000000000000000,
10910 6.0000000000000000, -0.50000000000000000, 0.0 },
10911 { 0.64516711595404408, 20.000000000000000, 0.50000000000000000,
10912 6.0000000000000000, -0.39999999999999991, 0.0 },
10913 { 0.69938278735493553, 20.000000000000000, 0.50000000000000000,
10914 6.0000000000000000, -0.29999999999999993, 0.0 },
10915 { 0.76931621518401860, 20.000000000000000, 0.50000000000000000,
10916 6.0000000000000000, -0.19999999999999996, 0.0 },
10917 { 0.86381808725530662, 20.000000000000000, 0.50000000000000000,
10918 6.0000000000000000, -0.099999999999999978, 0.0 },
10919 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10920 6.0000000000000000, 0.0000000000000000, 0.0 },
10921 { 1.2152051956815531, 20.000000000000000, 0.50000000000000000,
10922 6.0000000000000000, 0.10000000000000009, 0.0 },
10923 { 1.6052546785425557, 20.000000000000000, 0.50000000000000000,
10924 6.0000000000000000, 0.20000000000000018, 0.0 },
10925 { 2.4765586046012635, 20.000000000000000, 0.50000000000000000,
10926 6.0000000000000000, 0.30000000000000004, 0.0 },
10927 { 5.1564492216997611, 20.000000000000000, 0.50000000000000000,
10928 6.0000000000000000, 0.40000000000000013, 0.0 },
10929 { 18.446158392136365, 20.000000000000000, 0.50000000000000000,
10930 6.0000000000000000, 0.50000000000000000, 0.0 },
10931 { 150.44577670123971, 20.000000000000000, 0.50000000000000000,
10932 6.0000000000000000, 0.60000000000000009, 0.0 },
10933 { 3862.6317400116104, 20.000000000000000, 0.50000000000000000,
10934 6.0000000000000000, 0.70000000000000018, 0.0 },
10935 { 632428.34833625401, 20.000000000000000, 0.50000000000000000,
10936 6.0000000000000000, 0.80000000000000004, 0.0 },
10937 { 7426927663.3810987, 20.000000000000000, 0.50000000000000000,
10938 6.0000000000000000, 0.90000000000000013, 0.0 },
10940 const double toler218 = 2.5000000000000020e-13;
10942 // Test data for a=20.000000000000000, b=0.50000000000000000, c=8.0000000000000000.
10943 // max(|f - f_GSL|): 4.0978193283081055e-08 at index 18
10944 // max(|f - f_GSL| / |f_GSL|): 1.7692881266931270e-15
10945 // mean(f - f_GSL): 2.1571346930926438e-09
10946 // variance(f - f_GSL): 8.8377830897836260e-17
10947 // stddev(f - f_GSL): 9.4009484041683924e-09
10948 const testcase_hyperg<double>
10949 data219[19] =
10951 { 0.54703266209548373, 20.000000000000000, 0.50000000000000000,
10952 8.0000000000000000, -0.90000000000000002, 0.0 },
10953 { 0.56997321774144960, 20.000000000000000, 0.50000000000000000,
10954 8.0000000000000000, -0.80000000000000004, 0.0 },
10955 { 0.59603026159654982, 20.000000000000000, 0.50000000000000000,
10956 8.0000000000000000, -0.69999999999999996, 0.0 },
10957 { 0.62596978851120511, 20.000000000000000, 0.50000000000000000,
10958 8.0000000000000000, -0.59999999999999998, 0.0 },
10959 { 0.66084565876898915, 20.000000000000000, 0.50000000000000000,
10960 8.0000000000000000, -0.50000000000000000, 0.0 },
10961 { 0.70215256667232862, 20.000000000000000, 0.50000000000000000,
10962 8.0000000000000000, -0.39999999999999991, 0.0 },
10963 { 0.75208916592008568, 20.000000000000000, 0.50000000000000000,
10964 8.0000000000000000, -0.29999999999999993, 0.0 },
10965 { 0.81403631111658625, 20.000000000000000, 0.50000000000000000,
10966 8.0000000000000000, -0.19999999999999996, 0.0 },
10967 { 0.89348608489854597, 20.000000000000000, 0.50000000000000000,
10968 8.0000000000000000, -0.099999999999999978, 0.0 },
10969 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10970 8.0000000000000000, 0.0000000000000000, 0.0 },
10971 { 1.1517793185139173, 20.000000000000000, 0.50000000000000000,
10972 8.0000000000000000, 0.10000000000000009, 0.0 },
10973 { 1.3878110313656606, 20.000000000000000, 0.50000000000000000,
10974 8.0000000000000000, 0.20000000000000018, 0.0 },
10975 { 1.8061071794572381, 20.000000000000000, 0.50000000000000000,
10976 8.0000000000000000, 0.30000000000000004, 0.0 },
10977 { 2.7148594517859612, 20.000000000000000, 0.50000000000000000,
10978 8.0000000000000000, 0.40000000000000013, 0.0 },
10979 { 5.4529435709049361, 20.000000000000000, 0.50000000000000000,
10980 8.0000000000000000, 0.50000000000000000, 0.0 },
10981 { 19.487310275377109, 20.000000000000000, 0.50000000000000000,
10982 8.0000000000000000, 0.60000000000000009, 0.0 },
10983 { 191.69079165937592, 20.000000000000000, 0.50000000000000000,
10984 8.0000000000000000, 0.70000000000000018, 0.0 },
10985 { 10218.543981792311, 20.000000000000000, 0.50000000000000000,
10986 8.0000000000000000, 0.80000000000000004, 0.0 },
10987 { 23160836.646584522, 20.000000000000000, 0.50000000000000000,
10988 8.0000000000000000, 0.90000000000000013, 0.0 },
10990 const double toler219 = 2.5000000000000020e-13;
10992 // Test data for a=20.000000000000000, b=0.50000000000000000, c=10.000000000000000.
10993 // max(|f - f_GSL|): 2.9103830456733704e-10 at index 18
10994 // max(|f - f_GSL| / |f_GSL|): 1.6694673196526424e-15
10995 // mean(f - f_GSL): 1.5333453804912193e-11
10996 // variance(f - f_GSL): 4.4575621294589140e-21
10997 // stddev(f - f_GSL): 6.6764976817631821e-11
10998 const testcase_hyperg<double>
10999 data220[19] =
11001 { 0.59292067298616025, 20.000000000000000, 0.50000000000000000,
11002 10.000000000000000, -0.90000000000000002, 0.0 },
11003 { 0.61572496720679892, 20.000000000000000, 0.50000000000000000,
11004 10.000000000000000, -0.80000000000000004, 0.0 },
11005 { 0.64135339122875590, 20.000000000000000, 0.50000000000000000,
11006 10.000000000000000, -0.69999999999999996, 0.0 },
11007 { 0.67043457419280461, 20.000000000000000, 0.50000000000000000,
11008 10.000000000000000, -0.59999999999999998, 0.0 },
11009 { 0.70380956268170969, 20.000000000000000, 0.50000000000000000,
11010 10.000000000000000, -0.50000000000000000, 0.0 },
11011 { 0.74263251901495264, 20.000000000000000, 0.50000000000000000,
11012 10.000000000000000, -0.39999999999999991, 0.0 },
11013 { 0.78853555445528289, 20.000000000000000, 0.50000000000000000,
11014 10.000000000000000, -0.29999999999999993, 0.0 },
11015 { 0.84391122775673755, 20.000000000000000, 0.50000000000000000,
11016 10.000000000000000, -0.19999999999999996, 0.0 },
11017 { 0.91242401018807373, 20.000000000000000, 0.50000000000000000,
11018 10.000000000000000, -0.099999999999999978, 0.0 },
11019 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
11020 10.000000000000000, 0.0000000000000000, 0.0 },
11021 { 1.1169059681274873, 20.000000000000000, 0.50000000000000000,
11022 10.000000000000000, 0.10000000000000009, 0.0 },
11023 { 1.2825928301302669, 20.000000000000000, 0.50000000000000000,
11024 10.000000000000000, 0.20000000000000018, 0.0 },
11025 { 1.5385937789924939, 20.000000000000000, 0.50000000000000000,
11026 10.000000000000000, 0.30000000000000004, 0.0 },
11027 { 1.9895771187893914, 20.000000000000000, 0.50000000000000000,
11028 10.000000000000000, 0.40000000000000013, 0.0 },
11029 { 2.9707335806970168, 20.000000000000000, 0.50000000000000000,
11030 10.000000000000000, 0.50000000000000000, 0.0 },
11031 { 6.0299506157180467, 20.000000000000000, 0.50000000000000000,
11032 10.000000000000000, 0.60000000000000009, 0.0 },
11033 { 24.259090336955669, 20.000000000000000, 0.50000000000000000,
11034 10.000000000000000, 0.70000000000000018, 0.0 },
11035 { 406.27267173257223, 20.000000000000000, 0.50000000000000000,
11036 10.000000000000000, 0.80000000000000004, 0.0 },
11037 { 174330.03997220617, 20.000000000000000, 0.50000000000000000,
11038 10.000000000000000, 0.90000000000000013, 0.0 },
11040 const double toler220 = 2.5000000000000020e-13;
11042 // Test data for a=20.000000000000000, b=1.0000000000000000, c=2.0000000000000000.
11043 // max(|f - f_GSL|): 1024.0000000000000 at index 18
11044 // max(|f - f_GSL| / |f_GSL|): 1.7510399999999635e-15
11045 // mean(f - f_GSL): 53.894788252704814
11046 // variance(f - f_GSL): 55188.204676932175
11047 // stddev(f - f_GSL): 234.92169903381034
11048 const testcase_hyperg<double>
11049 data221[19] =
11051 { 0.058479236576646311, 20.000000000000000, 1.0000000000000000,
11052 2.0000000000000000, -0.90000000000000002, 0.0 },
11053 { 0.065788544763137821, 20.000000000000000, 1.0000000000000000,
11054 2.0000000000000000, -0.80000000000000004, 0.0 },
11055 { 0.075184824937824482, 20.000000000000000, 1.0000000000000000,
11056 2.0000000000000000, -0.69999999999999996, 0.0 },
11057 { 0.087707688693157121, 20.000000000000000, 1.0000000000000000,
11058 2.0000000000000000, -0.59999999999999998, 0.0 },
11059 { 0.10521567442213345, 20.000000000000000, 1.0000000000000000,
11060 2.0000000000000000, -0.50000000000000000, 0.0 },
11061 { 0.13135877960541509, 20.000000000000000, 1.0000000000000000,
11062 2.0000000000000000, -0.39999999999999991, 0.0 },
11063 { 0.17423854066297137, 20.000000000000000, 1.0000000000000000,
11064 2.0000000000000000, -0.29999999999999993, 0.0 },
11065 { 0.25492082527223520, 20.000000000000000, 1.0000000000000000,
11066 2.0000000000000000, -0.19999999999999996, 0.0 },
11067 { 0.44025895219654843, 20.000000000000000, 1.0000000000000000,
11068 2.0000000000000000, -0.099999999999999978, 0.0 },
11069 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
11070 2.0000000000000000, 0.0000000000000000, 0.0 },
11071 { 3.3698615820910360, 20.000000000000000, 1.0000000000000000,
11072 2.0000000000000000, 0.10000000000000009, 0.0 },
11073 { 17.997089220808562, 20.000000000000000, 1.0000000000000000,
11074 2.0000000000000000, 0.20000000000000018, 0.0 },
11075 { 153.73298291118951, 20.000000000000000, 1.0000000000000000,
11076 2.0000000000000000, 0.30000000000000004, 0.0 },
11077 { 2159.1667587825768, 20.000000000000000, 1.0000000000000000,
11078 2.0000000000000000, 0.40000000000000013, 0.0 },
11079 { 55188.105263157879, 20.000000000000000, 1.0000000000000000,
11080 2.0000000000000000, 0.50000000000000000, 0.0 },
11081 { 3191209.3921857267, 20.000000000000000, 1.0000000000000000,
11082 2.0000000000000000, 0.60000000000000009, 0.0 },
11083 { 646910975.29153574, 20.000000000000000, 1.0000000000000000,
11084 2.0000000000000000, 0.70000000000000018, 0.0 },
11085 { 1254834626850.2659, 20.000000000000000, 1.0000000000000000,
11086 2.0000000000000000, 0.80000000000000004, 0.0 },
11087 { 5.8479532163743910e+17, 20.000000000000000, 1.0000000000000000,
11088 2.0000000000000000, 0.90000000000000013, 0.0 },
11090 const double toler221 = 2.5000000000000020e-13;
11092 // Test data for a=20.000000000000000, b=1.0000000000000000, c=4.0000000000000000.
11093 // max(|f - f_GSL|): 0.21875000000000000 at index 18
11094 // max(|f - f_GSL| / |f_GSL|): 1.5452521874999694e-15
11095 // mean(f - f_GSL): 0.011513220685868108
11096 // variance(f - f_GSL): 0.0025185017633005862
11097 // stddev(f - f_GSL): 0.050184676578618956
11098 const testcase_hyperg<double>
11099 data222[19] =
11101 { 0.15519511120894958, 20.000000000000000, 1.0000000000000000,
11102 4.0000000000000000, -0.90000000000000002, 0.0 },
11103 { 0.17197165701692893, 20.000000000000000, 1.0000000000000000,
11104 4.0000000000000000, -0.80000000000000004, 0.0 },
11105 { 0.19276847315207329, 20.000000000000000, 1.0000000000000000,
11106 4.0000000000000000, -0.69999999999999996, 0.0 },
11107 { 0.21920107206179093, 20.000000000000000, 1.0000000000000000,
11108 4.0000000000000000, -0.59999999999999998, 0.0 },
11109 { 0.25386158960390576, 20.000000000000000, 1.0000000000000000,
11110 4.0000000000000000, -0.50000000000000000, 0.0 },
11111 { 0.30115970686600663, 20.000000000000000, 1.0000000000000000,
11112 4.0000000000000000, -0.39999999999999991, 0.0 },
11113 { 0.36916408142057128, 20.000000000000000, 1.0000000000000000,
11114 4.0000000000000000, -0.29999999999999993, 0.0 },
11115 { 0.47406175901569547, 20.000000000000000, 1.0000000000000000,
11116 4.0000000000000000, -0.19999999999999996, 0.0 },
11117 { 0.65237908266239919, 20.000000000000000, 1.0000000000000000,
11118 4.0000000000000000, -0.099999999999999978, 0.0 },
11119 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
11120 4.0000000000000000, 0.0000000000000000, 0.0 },
11121 { 1.8227213362622299, 20.000000000000000, 1.0000000000000000,
11122 4.0000000000000000, 0.10000000000000009, 0.0 },
11123 { 4.3716358339791430, 20.000000000000000, 1.0000000000000000,
11124 4.0000000000000000, 0.20000000000000018, 0.0 },
11125 { 15.670841312959222, 20.000000000000000, 1.0000000000000000,
11126 4.0000000000000000, 0.30000000000000004, 0.0 },
11127 { 94.742651122760662, 20.000000000000000, 1.0000000000000000,
11128 4.0000000000000000, 0.40000000000000013, 0.0 },
11129 { 1081.7275541795671, 20.000000000000000, 1.0000000000000000,
11130 4.0000000000000000, 0.50000000000000000, 0.0 },
11131 { 27809.787731465960, 20.000000000000000, 1.0000000000000000,
11132 4.0000000000000000, 0.60000000000000009, 0.0 },
11133 { 2329811.1715181284, 20.000000000000000, 1.0000000000000000,
11134 4.0000000000000000, 0.70000000000000018, 0.0 },
11135 { 1537787532.6780224, 20.000000000000000, 1.0000000000000000,
11136 4.0000000000000000, 0.80000000000000004, 0.0 },
11137 { 141562653507005.19, 20.000000000000000, 1.0000000000000000,
11138 4.0000000000000000, 0.90000000000000013, 0.0 },
11140 const double toler222 = 2.5000000000000020e-13;
11142 // Test data for a=20.000000000000000, b=1.0000000000000000, c=6.0000000000000000.
11143 // max(|f - f_GSL|): 0.00024414062500000000 at index 18
11144 // max(|f - f_GSL| / |f_GSL|): 1.6763226855512285e-15
11145 // mean(f - f_GSL): 1.2849899481406474e-05
11146 // variance(f - f_GSL): 3.1370759089735494e-09
11147 // stddev(f - f_GSL): 5.6009605506319623e-05
11148 const testcase_hyperg<double>
11149 data223[19] =
11151 { 0.23253645591196551, 20.000000000000000, 1.0000000000000000,
11152 6.0000000000000000, -0.90000000000000002, 0.0 },
11153 { 0.25484220947068342, 20.000000000000000, 1.0000000000000000,
11154 6.0000000000000000, -0.80000000000000004, 0.0 },
11155 { 0.28181987881113812, 20.000000000000000, 1.0000000000000000,
11156 6.0000000000000000, -0.69999999999999996, 0.0 },
11157 { 0.31508211677735770, 20.000000000000000, 1.0000000000000000,
11158 6.0000000000000000, -0.59999999999999998, 0.0 },
11159 { 0.35706285886959610, 20.000000000000000, 1.0000000000000000,
11160 6.0000000000000000, -0.50000000000000000, 0.0 },
11161 { 0.41160053409238190, 20.000000000000000, 1.0000000000000000,
11162 6.0000000000000000, -0.39999999999999991, 0.0 },
11163 { 0.48508083111181938, 20.000000000000000, 1.0000000000000000,
11164 6.0000000000000000, -0.29999999999999993, 0.0 },
11165 { 0.58885194371375260, 20.000000000000000, 1.0000000000000000,
11166 6.0000000000000000, -0.19999999999999996, 0.0 },
11167 { 0.74482241684585782, 20.000000000000000, 1.0000000000000000,
11168 6.0000000000000000, -0.099999999999999978, 0.0 },
11169 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
11170 6.0000000000000000, 0.0000000000000000, 0.0 },
11171 { 1.4700356864367146, 20.000000000000000, 1.0000000000000000,
11172 6.0000000000000000, 0.10000000000000009, 0.0 },
11173 { 2.4955144453055174, 20.000000000000000, 1.0000000000000000,
11174 6.0000000000000000, 0.20000000000000018, 0.0 },
11175 { 5.3506594845833471, 20.000000000000000, 1.0000000000000000,
11176 6.0000000000000000, 0.30000000000000004, 0.0 },
11177 { 16.618413752184267, 20.000000000000000, 1.0000000000000000,
11178 6.0000000000000000, 0.40000000000000013, 0.0 },
11179 { 89.310629514963878, 20.000000000000000, 1.0000000000000000,
11180 6.0000000000000000, 0.50000000000000000, 0.0 },
11181 { 1029.3439900542960, 20.000000000000000, 1.0000000000000000,
11182 6.0000000000000000, 0.60000000000000009, 0.0 },
11183 { 35659.847863372670, 20.000000000000000, 1.0000000000000000,
11184 6.0000000000000000, 0.70000000000000018, 0.0 },
11185 { 8009309.6233230168, 20.000000000000000, 1.0000000000000000,
11186 6.0000000000000000, 0.80000000000000004, 0.0 },
11187 { 145640590027.40201, 20.000000000000000, 1.0000000000000000,
11188 6.0000000000000000, 0.90000000000000013, 0.0 },
11190 const double toler223 = 2.5000000000000020e-13;
11192 // Test data for a=20.000000000000000, b=1.0000000000000000, c=8.0000000000000000.
11193 // max(|f - f_GSL|): 7.1525573730468750e-07 at index 18
11194 // max(|f - f_GSL| / |f_GSL|): 1.7237966704607975e-15
11195 // mean(f - f_GSL): 3.7648905700618082e-08
11196 // variance(f - f_GSL): 2.6925522674362989e-14
11197 // stddev(f - f_GSL): 1.6408998346749562e-07
11198 const testcase_hyperg<double>
11199 data224[19] =
11201 { 0.29614148314592509, 20.000000000000000, 1.0000000000000000,
11202 8.0000000000000000, -0.90000000000000002, 0.0 },
11203 { 0.32176277356430805, 20.000000000000000, 1.0000000000000000,
11204 8.0000000000000000, -0.80000000000000004, 0.0 },
11205 { 0.35217870475550511, 20.000000000000000, 1.0000000000000000,
11206 8.0000000000000000, -0.69999999999999996, 0.0 },
11207 { 0.38885270445515113, 20.000000000000000, 1.0000000000000000,
11208 8.0000000000000000, -0.59999999999999998, 0.0 },
11209 { 0.43389978380608418, 20.000000000000000, 1.0000000000000000,
11210 8.0000000000000000, -0.50000000000000000, 0.0 },
11211 { 0.49048612522269414, 20.000000000000000, 1.0000000000000000,
11212 8.0000000000000000, -0.39999999999999991, 0.0 },
11213 { 0.56355539635634599, 20.000000000000000, 1.0000000000000000,
11214 8.0000000000000000, -0.29999999999999993, 0.0 },
11215 { 0.66123153239117671, 20.000000000000000, 1.0000000000000000,
11216 8.0000000000000000, -0.19999999999999996, 0.0 },
11217 { 0.79773363961895416, 20.000000000000000, 1.0000000000000000,
11218 8.0000000000000000, -0.099999999999999978, 0.0 },
11219 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
11220 8.0000000000000000, 0.0000000000000000, 0.0 },
11221 { 1.3245132157016595, 20.000000000000000, 1.0000000000000000,
11222 8.0000000000000000, 0.10000000000000009, 0.0 },
11223 { 1.9065148749742094, 20.000000000000000, 1.0000000000000000,
11224 8.0000000000000000, 0.20000000000000018, 0.0 },
11225 { 3.1328798652457452, 20.000000000000000, 1.0000000000000000,
11226 8.0000000000000000, 0.30000000000000004, 0.0 },
11227 { 6.4172532944033636, 20.000000000000000, 1.0000000000000000,
11228 8.0000000000000000, 0.40000000000000013, 0.0 },
11229 { 19.071683734222436, 20.000000000000000, 1.0000000000000000,
11230 8.0000000000000000, 0.50000000000000000, 0.0 },
11231 { 104.41989641582512, 20.000000000000000, 1.0000000000000000,
11232 8.0000000000000000, 0.60000000000000009, 0.0 },
11233 { 1510.5743992324351, 20.000000000000000, 1.0000000000000000,
11234 8.0000000000000000, 0.70000000000000018, 0.0 },
11235 { 115518.14360562043, 20.000000000000000, 1.0000000000000000,
11236 8.0000000000000000, 0.80000000000000004, 0.0 },
11237 { 414930455.29174191, 20.000000000000000, 1.0000000000000000,
11238 8.0000000000000000, 0.90000000000000013, 0.0 },
11240 const double toler224 = 2.5000000000000020e-13;
11242 // Test data for a=20.000000000000000, b=1.0000000000000000, c=10.000000000000000.
11243 // max(|f - f_GSL|): 4.6566128730773926e-09 at index 18
11244 // max(|f - f_GSL| / |f_GSL|): 1.6665618165271877e-15
11245 // mean(f - f_GSL): 2.4523176471958370e-10
11246 // variance(f - f_GSL): 1.1411894517911952e-18
11247 // stddev(f - f_GSL): 1.0682646918208967e-09
11248 const testcase_hyperg<double>
11249 data225[19] =
11251 { 0.34954259539177701, 20.000000000000000, 1.0000000000000000,
11252 10.000000000000000, -0.90000000000000002, 0.0 },
11253 { 0.37714038609235134, 20.000000000000000, 1.0000000000000000,
11254 10.000000000000000, -0.80000000000000004, 0.0 },
11255 { 0.40942091659748781, 20.000000000000000, 1.0000000000000000,
11256 10.000000000000000, -0.69999999999999996, 0.0 },
11257 { 0.44767109606846422, 20.000000000000000, 1.0000000000000000,
11258 10.000000000000000, -0.59999999999999998, 0.0 },
11259 { 0.49368984777532227, 20.000000000000000, 1.0000000000000000,
11260 10.000000000000000, -0.50000000000000000, 0.0 },
11261 { 0.55006638216982318, 20.000000000000000, 1.0000000000000000,
11262 10.000000000000000, -0.39999999999999991, 0.0 },
11263 { 0.62065830207408901, 20.000000000000000, 1.0000000000000000,
11264 10.000000000000000, -0.29999999999999993, 0.0 },
11265 { 0.71145554513583764, 20.000000000000000, 1.0000000000000000,
11266 10.000000000000000, -0.19999999999999996, 0.0 },
11267 { 0.83223839666914623, 20.000000000000000, 1.0000000000000000,
11268 10.000000000000000, -0.099999999999999978, 0.0 },
11269 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
11270 10.000000000000000, 0.0000000000000000, 0.0 },
11271 { 1.2466748028187731, 20.000000000000000, 1.0000000000000000,
11272 10.000000000000000, 0.10000000000000009, 0.0 },
11273 { 1.6386752725021760, 20.000000000000000, 1.0000000000000000,
11274 10.000000000000000, 0.20000000000000018, 0.0 },
11275 { 2.3340068725479681, 20.000000000000000, 1.0000000000000000,
11276 10.000000000000000, 0.30000000000000004, 0.0 },
11277 { 3.7848108613132099, 20.000000000000000, 1.0000000000000000,
11278 10.000000000000000, 0.40000000000000013, 0.0 },
11279 { 7.6754638550304133, 20.000000000000000, 1.0000000000000000,
11280 10.000000000000000, 0.50000000000000000, 0.0 },
11281 { 23.344217312927277, 20.000000000000000, 1.0000000000000000,
11282 10.000000000000000, 0.60000000000000009, 0.0 },
11283 { 149.83491198246998, 20.000000000000000, 1.0000000000000000,
11284 10.000000000000000, 0.70000000000000018, 0.0 },
11285 { 3936.9253501916060, 20.000000000000000, 1.0000000000000000,
11286 10.000000000000000, 0.80000000000000004, 0.0 },
11287 { 2794143.5036480846, 20.000000000000000, 1.0000000000000000,
11288 10.000000000000000, 0.90000000000000013, 0.0 },
11290 const double toler225 = 2.5000000000000020e-13;
11292 // Test data for a=20.000000000000000, b=2.0000000000000000, c=2.0000000000000000.
11293 // max(|f - f_GSL|): 475136.00000000000 at index 18
11294 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
11295 // mean(f - f_GSL): 25007.185032091642
11296 // variance(f - f_GSL): 11881799540.814577
11297 // stddev(f - f_GSL): 109003.66755671379
11298 const testcase_hyperg<double>
11299 data226[19] =
11301 { 2.6602838683283435e-06, 20.000000000000000, 2.0000000000000000,
11302 2.0000000000000000, -0.90000000000000002, 0.0 },
11303 { 7.8442223930072316e-06, 20.000000000000000, 2.0000000000000000,
11304 2.0000000000000000, -0.80000000000000004, 0.0 },
11305 { 2.4604898194634598e-05, 20.000000000000000, 2.0000000000000000,
11306 2.0000000000000000, -0.69999999999999996, 0.0 },
11307 { 8.2718061255302686e-05, 20.000000000000000, 2.0000000000000000,
11308 2.0000000000000000, -0.59999999999999998, 0.0 },
11309 { 0.00030072865982171723, 20.000000000000000, 2.0000000000000000,
11310 2.0000000000000000, -0.50000000000000000, 0.0 },
11311 { 0.0011951964277455204, 20.000000000000000, 2.0000000000000000,
11312 2.0000000000000000, -0.39999999999999991, 0.0 },
11313 { 0.0052617832469731996, 20.000000000000000, 2.0000000000000000,
11314 2.0000000000000000, -0.29999999999999993, 0.0 },
11315 { 0.026084053304588850, 20.000000000000000, 2.0000000000000000,
11316 2.0000000000000000, -0.19999999999999996, 0.0 },
11317 { 0.14864362802414346, 20.000000000000000, 2.0000000000000000,
11318 2.0000000000000000, -0.099999999999999978, 0.0 },
11319 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
11320 2.0000000000000000, 0.0000000000000000, 0.0 },
11321 { 8.2252633399699757, 20.000000000000000, 2.0000000000000000,
11322 2.0000000000000000, 0.10000000000000009, 0.0 },
11323 { 86.736173798840738, 20.000000000000000, 2.0000000000000000,
11324 2.0000000000000000, 0.20000000000000018, 0.0 },
11325 { 1253.2542894196868, 20.000000000000000, 2.0000000000000000,
11326 2.0000000000000000, 0.30000000000000004, 0.0 },
11327 { 27351.112277912678, 20.000000000000000, 2.0000000000000000,
11328 2.0000000000000000, 0.40000000000000013, 0.0 },
11329 { 1048576.0000000000, 20.000000000000000, 2.0000000000000000,
11330 2.0000000000000000, 0.50000000000000000, 0.0 },
11331 { 90949470.177293226, 20.000000000000000, 2.0000000000000000,
11332 2.0000000000000000, 0.60000000000000009, 0.0 },
11333 { 28679719907.924767, 20.000000000000000, 2.0000000000000000,
11334 2.0000000000000000, 0.70000000000000018, 0.0 },
11335 { 95367431640624.906, 20.000000000000000, 2.0000000000000000,
11336 2.0000000000000000, 0.80000000000000004, 0.0 },
11337 { 1.0000000000000220e+20, 20.000000000000000, 2.0000000000000000,
11338 2.0000000000000000, 0.90000000000000013, 0.0 },
11340 const double toler226 = 5.0000000000000039e-13;
11342 // Test data for a=20.000000000000000, b=2.0000000000000000, c=4.0000000000000000.
11343 // max(|f - f_GSL|): 40.000000000000000 at index 18
11344 // max(|f - f_GSL| / |f_GSL|): 1.8712609271522778e-15
11345 // mean(f - f_GSL): 2.1052671749403089
11346 // variance(f - f_GSL): 84.210508462254538
11347 // stddev(f - f_GSL): 9.1766283820504881
11348 const testcase_hyperg<double>
11349 data227[19] =
11351 { 0.018828092583720632, 20.000000000000000, 2.0000000000000000,
11352 4.0000000000000000, -0.90000000000000002, 0.0 },
11353 { 0.023381944060455365, 20.000000000000000, 2.0000000000000000,
11354 4.0000000000000000, -0.80000000000000004, 0.0 },
11355 { 0.029789623984280887, 20.000000000000000, 2.0000000000000000,
11356 4.0000000000000000, -0.69999999999999996, 0.0 },
11357 { 0.039191021482500567, 20.000000000000000, 2.0000000000000000,
11358 4.0000000000000000, -0.59999999999999998, 0.0 },
11359 { 0.053727813036721528, 20.000000000000000, 2.0000000000000000,
11360 4.0000000000000000, -0.50000000000000000, 0.0 },
11361 { 0.077762010061668857, 20.000000000000000, 2.0000000000000000,
11362 4.0000000000000000, -0.39999999999999991, 0.0 },
11363 { 0.12110505620123323, 20.000000000000000, 2.0000000000000000,
11364 4.0000000000000000, -0.29999999999999993, 0.0 },
11365 { 0.20870149809080582, 20.000000000000000, 2.0000000000000000,
11366 4.0000000000000000, -0.19999999999999996, 0.0 },
11367 { 0.41429234328785763, 20.000000000000000, 2.0000000000000000,
11368 4.0000000000000000, -0.099999999999999978, 0.0 },
11369 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
11370 4.0000000000000000, 0.0000000000000000, 0.0 },
11371 { 3.1308087404153113, 20.000000000000000, 2.0000000000000000,
11372 4.0000000000000000, 0.10000000000000009, 0.0 },
11373 { 13.586180626453100, 20.000000000000000, 2.0000000000000000,
11374 4.0000000000000000, 0.20000000000000018, 0.0 },
11375 { 87.117304082784415, 20.000000000000000, 2.0000000000000000,
11376 4.0000000000000000, 0.30000000000000004, 0.0 },
11377 { 889.26474381243384, 20.000000000000000, 2.0000000000000000,
11378 4.0000000000000000, 0.40000000000000013, 0.0 },
11379 { 16231.913312693494, 20.000000000000000, 2.0000000000000000,
11380 4.0000000000000000, 0.50000000000000000, 0.0 },
11381 { 653537.51168945129, 20.000000000000000, 2.0000000000000000,
11382 4.0000000000000000, 0.60000000000000009, 0.0 },
11383 { 87756230.793849647, 20.000000000000000, 2.0000000000000000,
11384 4.0000000000000000, 0.70000000000000018, 0.0 },
11385 { 101493977171.74945, 20.000000000000000, 2.0000000000000000,
11386 4.0000000000000000, 0.80000000000000004, 0.0 },
11387 { 21375960679557820., 20.000000000000000, 2.0000000000000000,
11388 4.0000000000000000, 0.90000000000000013, 0.0 },
11390 const double toler227 = 2.5000000000000020e-13;
11392 // Test data for a=20.000000000000000, b=2.0000000000000000, c=6.0000000000000000.
11393 // max(|f - f_GSL|): 0.031250000000000000 at index 18
11394 // max(|f - f_GSL| / |f_GSL|): 1.6379336164121759e-15
11395 // mean(f - f_GSL): 0.0016447556893365942
11396 // variance(f - f_GSL): 5.1397960874034849e-05
11397 // stddev(f - f_GSL): 0.0071692371193896806
11398 const testcase_hyperg<double>
11399 data228[19] =
11401 { 0.049200410661854238, 20.000000000000000, 2.0000000000000000,
11402 6.0000000000000000, -0.90000000000000002, 0.0 },
11403 { 0.059460876757152607, 20.000000000000000, 2.0000000000000000,
11404 6.0000000000000000, -0.80000000000000004, 0.0 },
11405 { 0.073244762686653225, 20.000000000000000, 2.0000000000000000,
11406 6.0000000000000000, -0.69999999999999996, 0.0 },
11407 { 0.092334626017932769, 20.000000000000000, 2.0000000000000000,
11408 6.0000000000000000, -0.59999999999999998, 0.0 },
11409 { 0.11976760350696856, 20.000000000000000, 2.0000000000000000,
11410 6.0000000000000000, -0.50000000000000000, 0.0 },
11411 { 0.16102414609169405, 20.000000000000000, 2.0000000000000000,
11412 6.0000000000000000, -0.39999999999999991, 0.0 },
11413 { 0.22670456785796236, 20.000000000000000, 2.0000000000000000,
11414 6.0000000000000000, -0.29999999999999993, 0.0 },
11415 { 0.33912903252727361, 20.000000000000000, 2.0000000000000000,
11416 6.0000000000000000, -0.19999999999999996, 0.0 },
11417 { 0.55049794600858049, 20.000000000000000, 2.0000000000000000,
11418 6.0000000000000000, -0.099999999999999978, 0.0 },
11419 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
11420 6.0000000000000000, 0.0000000000000000, 0.0 },
11421 { 2.1254722872032232, 20.000000000000000, 2.0000000000000000,
11422 6.0000000000000000, 0.10000000000000009, 0.0 },
11423 { 5.6261213886736314, 20.000000000000000, 2.0000000000000000,
11424 6.0000000000000000, 0.20000000000000018, 0.0 },
11425 { 20.137315891130996, 20.000000000000000, 2.0000000000000000,
11426 6.0000000000000000, 0.30000000000000004, 0.0 },
11427 { 108.04381584643900, 20.000000000000000, 2.0000000000000000,
11428 6.0000000000000000, 0.40000000000000013, 0.0 },
11429 { 992.41692466460245, 20.000000000000000, 2.0000000000000000,
11430 6.0000000000000000, 0.50000000000000000, 0.0 },
11431 { 19055.363816004465, 20.000000000000000, 2.0000000000000000,
11432 6.0000000000000000, 0.60000000000000009, 0.0 },
11433 { 1105471.9504312191, 20.000000000000000, 2.0000000000000000,
11434 6.0000000000000000, 0.70000000000000018, 0.0 },
11435 { 448521363.90608919, 20.000000000000000, 2.0000000000000000,
11436 6.0000000000000000, 0.80000000000000004, 0.0 },
11437 { 19078917293639.652, 20.000000000000000, 2.0000000000000000,
11438 6.0000000000000000, 0.90000000000000013, 0.0 },
11440 const double toler228 = 2.5000000000000020e-13;
11442 // Test data for a=20.000000000000000, b=2.0000000000000000, c=8.0000000000000000.
11443 // max(|f - f_GSL|): 8.3923339843750000e-05 at index 18
11444 // max(|f - f_GSL| / |f_GSL|): 1.8221514326726564e-15
11445 // mean(f - f_GSL): 4.4172143495227617e-06
11446 // variance(f - f_GSL): 3.7068906120670492e-10
11447 // stddev(f - f_GSL): 1.9253287023433297e-05
11448 const testcase_hyperg<double>
11449 data229[19] =
11451 { 0.083753547015334884, 20.000000000000000, 2.0000000000000000,
11452 8.0000000000000000, -0.90000000000000002, 0.0 },
11453 { 0.099238444687035743, 20.000000000000000, 2.0000000000000000,
11454 8.0000000000000000, -0.80000000000000004, 0.0 },
11455 { 0.11938294012867748, 20.000000000000000, 2.0000000000000000,
11456 8.0000000000000000, -0.69999999999999996, 0.0 },
11457 { 0.14622683905023329, 20.000000000000000, 2.0000000000000000,
11458 8.0000000000000000, -0.59999999999999998, 0.0 },
11459 { 0.18303556733713028, 20.000000000000000, 2.0000000000000000,
11460 8.0000000000000000, -0.50000000000000000, 0.0 },
11461 { 0.23527764069382415, 20.000000000000000, 2.0000000000000000,
11462 8.0000000000000000, -0.39999999999999991, 0.0 },
11463 { 0.31261681740827069, 20.000000000000000, 2.0000000000000000,
11464 8.0000000000000000, -0.29999999999999993, 0.0 },
11465 { 0.43327581880538862, 20.000000000000000, 2.0000000000000000,
11466 8.0000000000000000, -0.19999999999999996, 0.0 },
11467 { 0.63445840637296680, 20.000000000000000, 2.0000000000000000,
11468 8.0000000000000000, -0.099999999999999978, 0.0 },
11469 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
11470 8.0000000000000000, 0.0000000000000000, 0.0 },
11471 { 1.7438842395813297, 20.000000000000000, 2.0000000000000000,
11472 8.0000000000000000, 0.10000000000000009, 0.0 },
11473 { 3.5070840938209331, 20.000000000000000, 2.0000000000000000,
11474 8.0000000000000000, 0.20000000000000018, 0.0 },
11475 { 8.6573372006089713, 20.000000000000000, 2.0000000000000000,
11476 8.0000000000000000, 0.30000000000000004, 0.0 },
11477 { 28.779342118408998, 20.000000000000000, 2.0000000000000000,
11478 8.0000000000000000, 0.40000000000000013, 0.0 },
11479 { 147.50178613955714, 20.000000000000000, 2.0000000000000000,
11480 8.0000000000000000, 0.50000000000000000, 0.0 },
11481 { 1427.1686016136398, 20.000000000000000, 2.0000000000000000,
11482 8.0000000000000000, 0.60000000000000009, 0.0 },
11483 { 36780.643714655955, 20.000000000000000, 2.0000000000000000,
11484 8.0000000000000000, 0.70000000000000018, 0.0 },
11485 { 5313869.6058585485, 20.000000000000000, 2.0000000000000000,
11486 8.0000000000000000, 0.80000000000000004, 0.0 },
11487 { 46057280607.383286, 20.000000000000000, 2.0000000000000000,
11488 8.0000000000000000, 0.90000000000000013, 0.0 },
11490 const double toler229 = 2.5000000000000020e-13;
11492 // Test data for a=20.000000000000000, b=2.0000000000000000, c=10.000000000000000.
11493 // max(|f - f_GSL|): 5.0663948059082031e-07 at index 18
11494 // max(|f - f_GSL| / |f_GSL|): 1.9925479281069681e-15
11495 // mean(f - f_GSL): 2.6669880993704522e-08
11496 // variance(f - f_GSL): 1.3509399735218820e-14
11497 // stddev(f - f_GSL): 1.1622994336752823e-07
11498 const testcase_hyperg<double>
11499 data230[19] =
11501 { 0.11920045035073676, 20.000000000000000, 2.0000000000000000,
11502 10.000000000000000, -0.90000000000000002, 0.0 },
11503 { 0.13907946814302777, 20.000000000000000, 2.0000000000000000,
11504 10.000000000000000, -0.80000000000000004, 0.0 },
11505 { 0.16431439792559696, 20.000000000000000, 2.0000000000000000,
11506 10.000000000000000, -0.69999999999999996, 0.0 },
11507 { 0.19698796016986989, 20.000000000000000, 2.0000000000000000,
11508 10.000000000000000, -0.59999999999999998, 0.0 },
11509 { 0.24028510928790547, 20.000000000000000, 2.0000000000000000,
11510 10.000000000000000, -0.50000000000000000, 0.0 },
11511 { 0.29926031296483130, 20.000000000000000, 2.0000000000000000,
11512 10.000000000000000, -0.39999999999999991, 0.0 },
11513 { 0.38229327814229175, 20.000000000000000, 2.0000000000000000,
11514 10.000000000000000, -0.29999999999999993, 0.0 },
11515 { 0.50402047283093132, 20.000000000000000, 2.0000000000000000,
11516 10.000000000000000, -0.19999999999999996, 0.0 },
11517 { 0.69167261179586526, 20.000000000000000, 2.0000000000000000,
11518 10.000000000000000, -0.099999999999999978, 0.0 },
11519 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
11520 10.000000000000000, 0.0000000000000000, 0.0 },
11521 { 1.5503152253394308, 20.000000000000000, 2.0000000000000000,
11522 10.000000000000000, 0.10000000000000009, 0.0 },
11523 { 2.6469548193635828, 20.000000000000000, 2.0000000000000000,
11524 10.000000000000000, 0.20000000000000018, 0.0 },
11525 { 5.1882631330566813, 20.000000000000000, 2.0000000000000000,
11526 10.000000000000000, 0.30000000000000004, 0.0 },
11527 { 12.476792759124546, 20.000000000000000, 2.0000000000000000,
11528 10.000000000000000, 0.40000000000000013, 0.0 },
11529 { 41.026391565091259, 20.000000000000000, 2.0000000000000000,
11530 10.000000000000000, 0.50000000000000000, 0.0 },
11531 { 220.92584715988204, 20.000000000000000, 2.0000000000000000,
11532 10.000000000000000, 0.60000000000000009, 0.0 },
11533 { 2677.0834450236389, 20.000000000000000, 2.0000000000000000,
11534 10.000000000000000, 0.70000000000000018, 0.0 },
11535 { 141774.31260689779, 20.000000000000000, 2.0000000000000000,
11536 10.000000000000000, 0.80000000000000004, 0.0 },
11537 { 254267148.83197621, 20.000000000000000, 2.0000000000000000,
11538 10.000000000000000, 0.90000000000000013, 0.0 },
11540 const double toler230 = 2.5000000000000020e-13;
11542 // Test data for a=20.000000000000000, b=5.0000000000000000, c=2.0000000000000000.
11543 // max(|f - f_GSL|): 60129542144.000000 at index 18
11544 // max(|f - f_GSL| / |f_GSL|): 2.0181355730232468e-15
11545 // mean(f - f_GSL): 3164712852.2154636
11546 // variance(f - f_GSL): 1.9029272767041847e+20
11547 // stddev(f - f_GSL): 13794663014.021708
11548 const testcase_hyperg<double>
11549 data231[19] =
11551 { -1.8650300348790099e-05, 20.000000000000000, 5.0000000000000000,
11552 2.0000000000000000, -0.90000000000000002, 0.0 },
11553 { -3.6488008415371319e-05, 20.000000000000000, 5.0000000000000000,
11554 2.0000000000000000, -0.80000000000000004, 0.0 },
11555 { -6.4614776410961038e-05, 20.000000000000000, 5.0000000000000000,
11556 2.0000000000000000, -0.69999999999999996, 0.0 },
11557 { -8.4495207102246549e-05, 20.000000000000000, 5.0000000000000000,
11558 2.0000000000000000, -0.59999999999999998, 0.0 },
11559 { 2.2276197023825424e-05, 20.000000000000000, 5.0000000000000000,
11560 2.0000000000000000, -0.50000000000000000, 0.0 },
11561 { 0.00070736115111457809, 20.000000000000000, 5.0000000000000000,
11562 2.0000000000000000, -0.39999999999999991, 0.0 },
11563 { 0.0027829732057272588, 20.000000000000000, 5.0000000000000000,
11564 2.0000000000000000, -0.29999999999999993, 0.0 },
11565 { 0.0013283545664371644, 20.000000000000000, 5.0000000000000000,
11566 2.0000000000000000, -0.19999999999999996, 0.0 },
11567 { -0.041767631015048774, 20.000000000000000, 5.0000000000000000,
11568 2.0000000000000000, -0.099999999999999978, 0.0 },
11569 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11570 2.0000000000000000, 0.0000000000000000, 0.0 },
11571 { 61.311496556100003, 20.000000000000000, 5.0000000000000000,
11572 2.0000000000000000, 0.10000000000000009, 0.0 },
11573 { 2397.4420539085872, 20.000000000000000, 5.0000000000000000,
11574 2.0000000000000000, 0.20000000000000018, 0.0 },
11575 { 103687.60998586559, 20.000000000000000, 5.0000000000000000,
11576 2.0000000000000000, 0.30000000000000004, 0.0 },
11577 { 6247196.6451069508, 20.000000000000000, 5.0000000000000000,
11578 2.0000000000000000, 0.40000000000000013, 0.0 },
11579 { 656408576.00000000, 20.000000000000000, 5.0000000000000000,
11580 2.0000000000000000, 0.50000000000000000, 0.0 },
11581 { 165334768098.54715, 20.000000000000000, 5.0000000000000000,
11582 2.0000000000000000, 0.60000000000000009, 0.0 },
11583 { 175097125520819.91, 20.000000000000000, 5.0000000000000000,
11584 2.0000000000000000, 0.70000000000000018, 0.0 },
11585 { 2.6818275451660257e+18, 20.000000000000000, 5.0000000000000000,
11586 2.0000000000000000, 0.80000000000000004, 0.0 },
11587 { 2.9794600000000777e+25, 20.000000000000000, 5.0000000000000000,
11588 2.0000000000000000, 0.90000000000000013, 0.0 },
11590 const double toler231 = 2.5000000000000020e-13;
11592 // Test data for a=20.000000000000000, b=5.0000000000000000, c=4.0000000000000000.
11593 // max(|f - f_GSL|): 9437184.0000000000 at index 18
11594 // max(|f - f_GSL| / |f_GSL|): 2.0515617391303805e-15
11595 // mean(f - f_GSL): 496693.97369064158
11596 // variance(f - f_GSL): 4687391593519.1660
11597 // stddev(f - f_GSL): 2165038.4739119918
11598 const testcase_hyperg<double>
11599 data232[19] =
11601 { -3.6403884516313627e-06, 20.000000000000000, 5.0000000000000000,
11602 4.0000000000000000, -0.90000000000000002, 0.0 },
11603 { -9.5873829246491408e-06, 20.000000000000000, 5.0000000000000000,
11604 4.0000000000000000, -0.80000000000000004, 0.0 },
11605 { -2.6052245147200097e-05, 20.000000000000000, 5.0000000000000000,
11606 4.0000000000000000, -0.69999999999999996, 0.0 },
11607 { -7.2378303598384501e-05, 20.000000000000000, 5.0000000000000000,
11608 4.0000000000000000, -0.59999999999999998, 0.0 },
11609 { -0.00020048577321417379, 20.000000000000000, 5.0000000000000000,
11610 4.0000000000000000, -0.50000000000000000, 0.0 },
11611 { -0.00051222704046234439, 20.000000000000000, 5.0000000000000000,
11612 4.0000000000000000, -0.39999999999999991, 0.0 },
11613 { -0.00080950511491888959, 20.000000000000000, 5.0000000000000000,
11614 4.0000000000000000, -0.29999999999999993, 0.0 },
11615 { 0.0043473422174314250, 20.000000000000000, 5.0000000000000000,
11616 4.0000000000000000, -0.19999999999999996, 0.0 },
11617 { 0.081078342558623853, 20.000000000000000, 5.0000000000000000,
11618 4.0000000000000000, -0.099999999999999978, 0.0 },
11619 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11620 4.0000000000000000, 0.0000000000000000, 0.0 },
11621 { 12.794854084397739, 20.000000000000000, 5.0000000000000000,
11622 4.0000000000000000, 0.10000000000000009, 0.0 },
11623 { 195.15639104739174, 20.000000000000000, 5.0000000000000000,
11624 4.0000000000000000, 0.20000000000000018, 0.0 },
11625 { 3938.7991953190131, 20.000000000000000, 5.0000000000000000,
11626 4.0000000000000000, 0.30000000000000004, 0.0 },
11627 { 118521.48653762160, 20.000000000000000, 5.0000000000000000,
11628 4.0000000000000000, 0.40000000000000013, 0.0 },
11629 { 6291455.9999999972, 20.000000000000000, 5.0000000000000000,
11630 4.0000000000000000, 0.50000000000000000, 0.0 },
11631 { 773070496.50699198, 20.000000000000000, 5.0000000000000000,
11632 4.0000000000000000, 0.60000000000000009, 0.0 },
11633 { 363276452167.04718, 20.000000000000000, 5.0000000000000000,
11634 4.0000000000000000, 0.70000000000000018, 0.0 },
11635 { 2002716064453133.0, 20.000000000000000, 5.0000000000000000,
11636 4.0000000000000000, 0.80000000000000004, 0.0 },
11637 { 4.6000000000001222e+21, 20.000000000000000, 5.0000000000000000,
11638 4.0000000000000000, 0.90000000000000013, 0.0 },
11640 const double toler232 = 2.5000000000000020e-13;
11642 // Test data for a=20.000000000000000, b=5.0000000000000000, c=6.0000000000000000.
11643 // max(|f - f_GSL|): 5120.0000000000000 at index 18
11644 // max(|f - f_GSL| / |f_GSL|): 1.7944916193878173e-15
11645 // mean(f - f_GSL): 269.47388985302263
11646 // variance(f - f_GSL): 1379705.1461701661
11647 // stddev(f - f_GSL): 1174.6085076186730
11648 const testcase_hyperg<double>
11649 data233[19] =
11651 { 0.00014313323624053599, 20.000000000000000, 5.0000000000000000,
11652 6.0000000000000000, -0.90000000000000002, 0.0 },
11653 { 0.00025426183473118769, 20.000000000000000, 5.0000000000000000,
11654 6.0000000000000000, -0.80000000000000004, 0.0 },
11655 { 0.00048255612836437054, 20.000000000000000, 5.0000000000000000,
11656 6.0000000000000000, -0.69999999999999996, 0.0 },
11657 { 0.00099096904674794185, 20.000000000000000, 5.0000000000000000,
11658 6.0000000000000000, -0.59999999999999998, 0.0 },
11659 { 0.0022347805521915616, 20.000000000000000, 5.0000000000000000,
11660 6.0000000000000000, -0.50000000000000000, 0.0 },
11661 { 0.0056271390060294354, 20.000000000000000, 5.0000000000000000,
11662 6.0000000000000000, -0.39999999999999991, 0.0 },
11663 { 0.016109059519227351, 20.000000000000000, 5.0000000000000000,
11664 6.0000000000000000, -0.29999999999999993, 0.0 },
11665 { 0.053453465775609076, 20.000000000000000, 5.0000000000000000,
11666 6.0000000000000000, -0.19999999999999996, 0.0 },
11667 { 0.20995202901839263, 20.000000000000000, 5.0000000000000000,
11668 6.0000000000000000, -0.099999999999999978, 0.0 },
11669 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11670 6.0000000000000000, 0.0000000000000000, 0.0 },
11671 { 5.9534372167648799, 20.000000000000000, 5.0000000000000000,
11672 6.0000000000000000, 0.10000000000000009, 0.0 },
11673 { 46.157632071206095, 20.000000000000000, 5.0000000000000000,
11674 6.0000000000000000, 0.20000000000000018, 0.0 },
11675 { 494.32074431164915, 20.000000000000000, 5.0000000000000000,
11676 6.0000000000000000, 0.30000000000000004, 0.0 },
11677 { 7989.5277611776519, 20.000000000000000, 5.0000000000000000,
11678 6.0000000000000000, 0.40000000000000013, 0.0 },
11679 { 224179.55830753347, 20.000000000000000, 5.0000000000000000,
11680 6.0000000000000000, 0.50000000000000000, 0.0 },
11681 { 13848144.485282511, 20.000000000000000, 5.0000000000000000,
11682 6.0000000000000000, 0.60000000000000009, 0.0 },
11683 { 2948587692.8892150, 20.000000000000000, 5.0000000000000000,
11684 6.0000000000000000, 0.70000000000000018, 0.0 },
11685 { 5940513286161.6602, 20.000000000000000, 5.0000000000000000,
11686 6.0000000000000000, 0.80000000000000004, 0.0 },
11687 { 2.8531757655946394e+18, 20.000000000000000, 5.0000000000000000,
11688 6.0000000000000000, 0.90000000000000013, 0.0 },
11690 const double toler233 = 2.5000000000000020e-13;
11692 // Test data for a=20.000000000000000, b=5.0000000000000000, c=8.0000000000000000.
11693 // max(|f - f_GSL|): 7.0000000000000000 at index 18
11694 // max(|f - f_GSL| / |f_GSL|): 1.5351977183413728e-15
11695 // mean(f - f_GSL): 0.36842306154970872
11696 // variance(f - f_GSL): 2.5789458059294108
11697 // stddev(f - f_GSL): 1.6059096506122039
11698 const testcase_hyperg<double>
11699 data234[19] =
11701 { 0.0012492049968744917, 20.000000000000000, 5.0000000000000000,
11702 8.0000000000000000, -0.90000000000000002, 0.0 },
11703 { 0.0019931241968014200, 20.000000000000000, 5.0000000000000000,
11704 8.0000000000000000, -0.80000000000000004, 0.0 },
11705 { 0.0033203386861410844, 20.000000000000000, 5.0000000000000000,
11706 8.0000000000000000, -0.69999999999999996, 0.0 },
11707 { 0.0058191894509856774, 20.000000000000000, 5.0000000000000000,
11708 8.0000000000000000, -0.59999999999999998, 0.0 },
11709 { 0.010830090368313864, 20.000000000000000, 5.0000000000000000,
11710 8.0000000000000000, -0.50000000000000000, 0.0 },
11711 { 0.021653062305193541, 20.000000000000000, 5.0000000000000000,
11712 8.0000000000000000, -0.39999999999999991, 0.0 },
11713 { 0.047180821280919195, 20.000000000000000, 5.0000000000000000,
11714 8.0000000000000000, -0.29999999999999993, 0.0 },
11715 { 0.11405637279736212, 20.000000000000000, 5.0000000000000000,
11716 8.0000000000000000, -0.19999999999999996, 0.0 },
11717 { 0.31275468794721017, 20.000000000000000, 5.0000000000000000,
11718 8.0000000000000000, -0.099999999999999978, 0.0 },
11719 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11720 8.0000000000000000, 0.0000000000000000, 0.0 },
11721 { 3.8598904658643969, 20.000000000000000, 5.0000000000000000,
11722 8.0000000000000000, 0.10000000000000009, 0.0 },
11723 { 18.806301417906734, 20.000000000000000, 5.0000000000000000,
11724 8.0000000000000000, 0.20000000000000018, 0.0 },
11725 { 122.77054465017432, 20.000000000000000, 5.0000000000000000,
11726 8.0000000000000000, 0.30000000000000004, 0.0 },
11727 { 1168.4762146809012, 20.000000000000000, 5.0000000000000000,
11728 8.0000000000000000, 0.40000000000000013, 0.0 },
11729 { 18437.511788521082, 20.000000000000000, 5.0000000000000000,
11730 8.0000000000000000, 0.50000000000000000, 0.0 },
11731 { 597441.79669264762, 20.000000000000000, 5.0000000000000000,
11732 8.0000000000000000, 0.60000000000000009, 0.0 },
11733 { 59390411.369228527, 20.000000000000000, 5.0000000000000000,
11734 8.0000000000000000, 0.70000000000000018, 0.0 },
11735 { 44681668993.361603, 20.000000000000000, 5.0000000000000000,
11736 8.0000000000000000, 0.80000000000000004, 0.0 },
11737 { 4559673269683333.0, 20.000000000000000, 5.0000000000000000,
11738 8.0000000000000000, 0.90000000000000013, 0.0 },
11740 const double toler234 = 2.5000000000000020e-13;
11742 // Test data for a=20.000000000000000, b=5.0000000000000000, c=10.000000000000000.
11743 // max(|f - f_GSL|): 0.029296875000000000 at index 18
11744 // max(|f - f_GSL| / |f_GSL|): 1.8717083246628342e-15
11745 // mean(f - f_GSL): 0.0015419659355661440
11746 // variance(f - f_GSL): 4.5173964710879197e-05
11747 // stddev(f - f_GSL): 0.0067211579888348996
11748 const testcase_hyperg<double>
11749 data235[19] =
11751 { 0.0038867957051370739, 20.000000000000000, 5.0000000000000000,
11752 10.000000000000000, -0.90000000000000002, 0.0 },
11753 { 0.0058484892597364235, 20.000000000000000, 5.0000000000000000,
11754 10.000000000000000, -0.80000000000000004, 0.0 },
11755 { 0.0090987656053758189, 20.000000000000000, 5.0000000000000000,
11756 10.000000000000000, -0.69999999999999996, 0.0 },
11757 { 0.014714392537270657, 20.000000000000000, 5.0000000000000000,
11758 10.000000000000000, -0.59999999999999998, 0.0 },
11759 { 0.024900404542056772, 20.000000000000000, 5.0000000000000000,
11760 10.000000000000000, -0.50000000000000000, 0.0 },
11761 { 0.044460184663785055, 20.000000000000000, 5.0000000000000000,
11762 10.000000000000000, -0.39999999999999991, 0.0 },
11763 { 0.084638849196357113, 20.000000000000000, 5.0000000000000000,
11764 10.000000000000000, -0.29999999999999993, 0.0 },
11765 { 0.17409058241291026, 20.000000000000000, 5.0000000000000000,
11766 10.000000000000000, -0.19999999999999996, 0.0 },
11767 { 0.39357055823580767, 20.000000000000000, 5.0000000000000000,
11768 10.000000000000000, -0.099999999999999978, 0.0 },
11769 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11770 10.000000000000000, 0.0000000000000000, 0.0 },
11771 { 2.9410794636226596, 20.000000000000000, 5.0000000000000000,
11772 10.000000000000000, 0.10000000000000009, 0.0 },
11773 { 10.417226071414374, 20.000000000000000, 5.0000000000000000,
11774 10.000000000000000, 0.20000000000000018, 0.0 },
11775 { 46.930585873140835, 20.000000000000000, 5.0000000000000000,
11776 10.000000000000000, 0.30000000000000004, 0.0 },
11777 { 290.76717121814988, 20.000000000000000, 5.0000000000000000,
11778 10.000000000000000, 0.40000000000000013, 0.0 },
11779 { 2788.1641083374830, 20.000000000000000, 5.0000000000000000,
11780 10.000000000000000, 0.50000000000000000, 0.0 },
11781 { 50228.117718560752, 20.000000000000000, 5.0000000000000000,
11782 10.000000000000000, 0.60000000000000009, 0.0 },
11783 { 2433042.3476752895, 20.000000000000000, 5.0000000000000000,
11784 10.000000000000000, 0.70000000000000018, 0.0 },
11785 { 705345246.77141762, 20.000000000000000, 5.0000000000000000,
11786 10.000000000000000, 0.80000000000000004, 0.0 },
11787 { 15652478868617.246, 20.000000000000000, 5.0000000000000000,
11788 10.000000000000000, 0.90000000000000013, 0.0 },
11790 const double toler235 = 2.5000000000000020e-13;
11792 // Test data for a=20.000000000000000, b=10.000000000000000, c=2.0000000000000000.
11793 // max(|f - f_GSL|): 2.5940733853654057e+18 at index 18
11794 // max(|f - f_GSL| / |f_GSL|): 1.8312596334404269e-15
11795 // mean(f - f_GSL): 1.3653017829015250e+17
11796 // variance(f - f_GSL): 4.1617051640949032e+35
11797 // stddev(f - f_GSL): 6.4511279355589466e+17
11798 const testcase_hyperg<double>
11799 data236[19] =
11801 { -2.1776535312781759e-07, 20.000000000000000, 10.000000000000000,
11802 2.0000000000000000, -0.90000000000000002, 0.0 },
11803 { -2.9128833151630439e-06, 20.000000000000000, 10.000000000000000,
11804 2.0000000000000000, -0.80000000000000004, 0.0 },
11805 { -9.4755553429932710e-06, 20.000000000000000, 10.000000000000000,
11806 2.0000000000000000, -0.69999999999999996, 0.0 },
11807 { -1.2844297353852837e-05, 20.000000000000000, 10.000000000000000,
11808 2.0000000000000000, -0.59999999999999998, 0.0 },
11809 { 3.6576965483549205e-05, 20.000000000000000, 10.000000000000000,
11810 2.0000000000000000, -0.50000000000000000, 0.0 },
11811 { 0.00020847453890703339, 20.000000000000000, 10.000000000000000,
11812 2.0000000000000000, -0.39999999999999991, 0.0 },
11813 { -0.00022868510398194936, 20.000000000000000, 10.000000000000000,
11814 2.0000000000000000, -0.29999999999999993, 0.0 },
11815 { -0.0021855513841943421, 20.000000000000000, 10.000000000000000,
11816 2.0000000000000000, -0.19999999999999996, 0.0 },
11817 { 0.014662111759334568, 20.000000000000000, 10.000000000000000,
11818 2.0000000000000000, -0.099999999999999978, 0.0 },
11819 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11820 2.0000000000000000, 0.0000000000000000, 0.0 },
11821 { 746.44776348798098, 20.000000000000000, 10.000000000000000,
11822 2.0000000000000000, 0.10000000000000009, 0.0 },
11823 { 136080.48445225772, 20.000000000000000, 10.000000000000000,
11824 2.0000000000000000, 0.20000000000000018, 0.0 },
11825 { 23094279.597826406, 20.000000000000000, 10.000000000000000,
11826 2.0000000000000000, 0.30000000000000004, 0.0 },
11827 { 5315913395.5545979, 20.000000000000000, 10.000000000000000,
11828 2.0000000000000000, 0.40000000000000013, 0.0 },
11829 { 2261935718399.9990, 20.000000000000000, 10.000000000000000,
11830 2.0000000000000000, 0.50000000000000000, 0.0 },
11831 { 2669150854828235.0, 20.000000000000000, 10.000000000000000,
11832 2.0000000000000000, 0.60000000000000009, 0.0 },
11833 { 1.7499363099366351e+19, 20.000000000000000, 10.000000000000000,
11834 2.0000000000000000, 0.70000000000000018, 0.0 },
11835 { 2.8881518494606140e+24, 20.000000000000000, 10.000000000000000,
11836 2.0000000000000000, 0.80000000000000004, 0.0 },
11837 { 1.4165513933662505e+33, 20.000000000000000, 10.000000000000000,
11838 2.0000000000000000, 0.90000000000000013, 0.0 },
11840 const double toler236 = 2.5000000000000020e-13;
11842 // Test data for a=20.000000000000000, b=10.000000000000000, c=4.0000000000000000.
11843 // max(|f - f_GSL|): 299067162755072.00 at index 18
11844 // max(|f - f_GSL| / |f_GSL|): 2.1129345912023457e-15
11845 // mean(f - f_GSL): 15740377042297.895
11846 // variance(f - f_GSL): 4.7074334083472640e+27
11847 // stddev(f - f_GSL): 68610738287437.656
11848 const testcase_hyperg<double>
11849 data237[19] =
11851 { 1.7149006966334498e-07, 20.000000000000000, 10.000000000000000,
11852 4.0000000000000000, -0.90000000000000002, 0.0 },
11853 { 3.2399324906563845e-07, 20.000000000000000, 10.000000000000000,
11854 4.0000000000000000, -0.80000000000000004, 0.0 },
11855 { 1.6015317699713284e-07, 20.000000000000000, 10.000000000000000,
11856 4.0000000000000000, -0.69999999999999996, 0.0 },
11857 { -2.0500917201273337e-06, 20.000000000000000, 10.000000000000000,
11858 4.0000000000000000, -0.59999999999999998, 0.0 },
11859 { -1.0175546788592665e-05, 20.000000000000000, 10.000000000000000,
11860 4.0000000000000000, -0.50000000000000000, 0.0 },
11861 { -1.1720101988188077e-05, 20.000000000000000, 10.000000000000000,
11862 4.0000000000000000, -0.39999999999999991, 0.0 },
11863 { 0.00014199637113982382, 20.000000000000000, 10.000000000000000,
11864 4.0000000000000000, -0.29999999999999993, 0.0 },
11865 { 0.00021263363640641769, 20.000000000000000, 10.000000000000000,
11866 4.0000000000000000, -0.19999999999999996, 0.0 },
11867 { -0.0072649256698439626, 20.000000000000000, 10.000000000000000,
11868 4.0000000000000000, -0.099999999999999978, 0.0 },
11869 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11870 4.0000000000000000, 0.0000000000000000, 0.0 },
11871 { 90.430293772869618, 20.000000000000000, 10.000000000000000,
11872 4.0000000000000000, 0.10000000000000009, 0.0 },
11873 { 6248.1455940292872, 20.000000000000000, 10.000000000000000,
11874 4.0000000000000000, 0.20000000000000018, 0.0 },
11875 { 501143.39852548984, 20.000000000000000, 10.000000000000000,
11876 4.0000000000000000, 0.30000000000000004, 0.0 },
11877 { 58852027.356440276, 20.000000000000000, 10.000000000000000,
11878 4.0000000000000000, 0.40000000000000013, 0.0 },
11879 { 12942923093.333330, 20.000000000000000, 10.000000000000000,
11880 4.0000000000000000, 0.50000000000000000, 0.0 },
11881 { 7618073993853.6592, 20.000000000000000, 10.000000000000000,
11882 4.0000000000000000, 0.60000000000000009, 0.0 },
11883 { 22630251562549772., 20.000000000000000, 10.000000000000000,
11884 4.0000000000000000, 0.70000000000000018, 0.0 },
11885 { 1.3708372433980356e+21, 20.000000000000000, 10.000000000000000,
11886 4.0000000000000000, 0.80000000000000004, 0.0 },
11887 { 1.4154113620000448e+29, 20.000000000000000, 10.000000000000000,
11888 4.0000000000000000, 0.90000000000000013, 0.0 },
11890 const double toler237 = 2.5000000000000020e-13;
11892 // Test data for a=20.000000000000000, b=10.000000000000000, c=6.0000000000000000.
11893 // max(|f - f_GSL|): 103079215104.00000 at index 18
11894 // max(|f - f_GSL| / |f_GSL|): 1.8869870511941024e-15
11895 // mean(f - f_GSL): 5425221928.4235201
11896 // variance(f - f_GSL): 5.5922760890380314e+20
11897 // stddev(f - f_GSL): 23647993760.651306
11898 const testcase_hyperg<double>
11899 data238[19] =
11901 { -1.6667473284194196e-08, 20.000000000000000, 10.000000000000000,
11902 6.0000000000000000, -0.90000000000000002, 0.0 },
11903 { 8.6214843496406671e-08, 20.000000000000000, 10.000000000000000,
11904 6.0000000000000000, -0.80000000000000004, 0.0 },
11905 { 5.7778331275185146e-07, 20.000000000000000, 10.000000000000000,
11906 6.0000000000000000, -0.69999999999999996, 0.0 },
11907 { 2.1911400502042259e-06, 20.000000000000000, 10.000000000000000,
11908 6.0000000000000000, -0.59999999999999998, 0.0 },
11909 { 4.7440049217199358e-06, 20.000000000000000, 10.000000000000000,
11910 6.0000000000000000, -0.50000000000000000, 0.0 },
11911 { -1.0564233314712615e-05, 20.000000000000000, 10.000000000000000,
11912 6.0000000000000000, -0.39999999999999991, 0.0 },
11913 { -0.00017990026051847404, 20.000000000000000, 10.000000000000000,
11914 6.0000000000000000, -0.29999999999999993, 0.0 },
11915 { -0.00027618146288724629, 20.000000000000000, 10.000000000000000,
11916 6.0000000000000000, -0.19999999999999996, 0.0 },
11917 { 0.030606019577723666, 20.000000000000000, 10.000000000000000,
11918 6.0000000000000000, -0.099999999999999978, 0.0 },
11919 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11920 6.0000000000000000, 0.0000000000000000, 0.0 },
11921 { 27.832854169493341, 20.000000000000000, 10.000000000000000,
11922 6.0000000000000000, 0.10000000000000009, 0.0 },
11923 { 874.00624088575910, 20.000000000000000, 10.000000000000000,
11924 6.0000000000000000, 0.20000000000000018, 0.0 },
11925 { 36049.199340831554, 20.000000000000000, 10.000000000000000,
11926 6.0000000000000000, 0.30000000000000004, 0.0 },
11927 { 2270967.7298625209, 20.000000000000000, 10.000000000000000,
11928 6.0000000000000000, 0.40000000000000013, 0.0 },
11929 { 266979100.44444439, 20.000000000000000, 10.000000000000000,
11930 6.0000000000000000, 0.50000000000000000, 0.0 },
11931 { 80311224337.493027, 20.000000000000000, 10.000000000000000,
11932 6.0000000000000000, 0.60000000000000009, 0.0 },
11933 { 110111693103801.77, 20.000000000000000, 10.000000000000000,
11934 6.0000000000000000, 0.70000000000000018, 0.0 },
11935 { 2.4838871426052618e+18, 20.000000000000000, 10.000000000000000,
11936 6.0000000000000000, 0.80000000000000004, 0.0 },
11937 { 5.4626350000001618e+25, 20.000000000000000, 10.000000000000000,
11938 6.0000000000000000, 0.90000000000000013, 0.0 },
11940 const double toler238 = 2.5000000000000020e-13;
11942 // Test data for a=20.000000000000000, b=10.000000000000000, c=8.0000000000000000.
11943 // max(|f - f_GSL|): 100663296.00000000 at index 18
11944 // max(|f - f_GSL| / |f_GSL|): 1.9414329026036117e-15
11945 // mean(f - f_GSL): 5298068.6316046715
11946 // variance(f - f_GSL): 533321003794731.12
11947 // stddev(f - f_GSL): 23093743.823701065
11948 const testcase_hyperg<double>
11949 data239[19] =
11951 { -1.5843795889906876e-07, 20.000000000000000, 10.000000000000000,
11952 8.0000000000000000, -0.90000000000000002, 0.0 },
11953 { -5.4877276002864784e-07, 20.000000000000000, 10.000000000000000,
11954 8.0000000000000000, -0.80000000000000004, 0.0 },
11955 { -1.7169507967699695e-06, 20.000000000000000, 10.000000000000000,
11956 8.0000000000000000, -0.69999999999999996, 0.0 },
11957 { -4.5236439749819329e-06, 20.000000000000000, 10.000000000000000,
11958 8.0000000000000000, -0.59999999999999998, 0.0 },
11959 { -5.5690492560381956e-06, 20.000000000000000, 10.000000000000000,
11960 8.0000000000000000, -0.50000000000000000, 0.0 },
11961 { 5.6914115606653561e-05, 20.000000000000000, 10.000000000000000,
11962 8.0000000000000000, -0.39999999999999991, 0.0 },
11963 { 0.00082507252097489250, 20.000000000000000, 10.000000000000000,
11964 8.0000000000000000, -0.29999999999999993, 0.0 },
11965 { 0.0085739249288230429, 20.000000000000000, 10.000000000000000,
11966 8.0000000000000000, -0.19999999999999996, 0.0 },
11967 { 0.088244357683754687, 20.000000000000000, 10.000000000000000,
11968 8.0000000000000000, -0.099999999999999978, 0.0 },
11969 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11970 8.0000000000000000, 0.0000000000000000, 0.0 },
11971 { 13.387208440156897, 20.000000000000000, 10.000000000000000,
11972 8.0000000000000000, 0.10000000000000009, 0.0 },
11973 { 226.77895441155252, 20.000000000000000, 10.000000000000000,
11974 8.0000000000000000, 0.20000000000000018, 0.0 },
11975 { 5281.5716482686785, 20.000000000000000, 10.000000000000000,
11976 8.0000000000000000, 0.30000000000000004, 0.0 },
11977 { 189431.77762850633, 20.000000000000000, 10.000000000000000,
11978 8.0000000000000000, 0.40000000000000013, 0.0 },
11979 { 12408149.333333332, 20.000000000000000, 10.000000000000000,
11980 8.0000000000000000, 0.50000000000000000, 0.0 },
11981 { 1966782292.5839682, 20.000000000000000, 10.000000000000000,
11982 8.0000000000000000, 0.60000000000000009, 0.0 },
11983 { 1274123112205.7700, 20.000000000000000, 10.000000000000000,
11984 8.0000000000000000, 0.70000000000000018, 0.0 },
11985 { 10903676350911508., 20.000000000000000, 10.000000000000000,
11986 8.0000000000000000, 0.80000000000000004, 0.0 },
11987 { 5.1850000000001411e+22, 20.000000000000000, 10.000000000000000,
11988 8.0000000000000000, 0.90000000000000013, 0.0 },
11990 const double toler239 = 2.5000000000000020e-13;
11992 // Test data for a=20.000000000000000, b=10.000000000000000, c=10.000000000000000.
11993 // max(|f - f_GSL|): 475136.00000000000 at index 18
11994 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
11995 // mean(f - f_GSL): 25007.185032091642
11996 // variance(f - f_GSL): 11881799540.814577
11997 // stddev(f - f_GSL): 109003.66755671379
11998 const testcase_hyperg<double>
11999 data240[19] =
12001 { 2.6602838683283435e-06, 20.000000000000000, 10.000000000000000,
12002 10.000000000000000, -0.90000000000000002, 0.0 },
12003 { 7.8442223930072316e-06, 20.000000000000000, 10.000000000000000,
12004 10.000000000000000, -0.80000000000000004, 0.0 },
12005 { 2.4604898194634598e-05, 20.000000000000000, 10.000000000000000,
12006 10.000000000000000, -0.69999999999999996, 0.0 },
12007 { 8.2718061255302686e-05, 20.000000000000000, 10.000000000000000,
12008 10.000000000000000, -0.59999999999999998, 0.0 },
12009 { 0.00030072865982171723, 20.000000000000000, 10.000000000000000,
12010 10.000000000000000, -0.50000000000000000, 0.0 },
12011 { 0.0011951964277455204, 20.000000000000000, 10.000000000000000,
12012 10.000000000000000, -0.39999999999999991, 0.0 },
12013 { 0.0052617832469731996, 20.000000000000000, 10.000000000000000,
12014 10.000000000000000, -0.29999999999999993, 0.0 },
12015 { 0.026084053304588850, 20.000000000000000, 10.000000000000000,
12016 10.000000000000000, -0.19999999999999996, 0.0 },
12017 { 0.14864362802414346, 20.000000000000000, 10.000000000000000,
12018 10.000000000000000, -0.099999999999999978, 0.0 },
12019 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
12020 10.000000000000000, 0.0000000000000000, 0.0 },
12021 { 8.2252633399699757, 20.000000000000000, 10.000000000000000,
12022 10.000000000000000, 0.10000000000000009, 0.0 },
12023 { 86.736173798840738, 20.000000000000000, 10.000000000000000,
12024 10.000000000000000, 0.20000000000000018, 0.0 },
12025 { 1253.2542894196868, 20.000000000000000, 10.000000000000000,
12026 10.000000000000000, 0.30000000000000004, 0.0 },
12027 { 27351.112277912678, 20.000000000000000, 10.000000000000000,
12028 10.000000000000000, 0.40000000000000013, 0.0 },
12029 { 1048576.0000000000, 20.000000000000000, 10.000000000000000,
12030 10.000000000000000, 0.50000000000000000, 0.0 },
12031 { 90949470.177293226, 20.000000000000000, 10.000000000000000,
12032 10.000000000000000, 0.60000000000000009, 0.0 },
12033 { 28679719907.924767, 20.000000000000000, 10.000000000000000,
12034 10.000000000000000, 0.70000000000000018, 0.0 },
12035 { 95367431640624.906, 20.000000000000000, 10.000000000000000,
12036 10.000000000000000, 0.80000000000000004, 0.0 },
12037 { 1.0000000000000220e+20, 20.000000000000000, 10.000000000000000,
12038 10.000000000000000, 0.90000000000000013, 0.0 },
12040 const double toler240 = 5.0000000000000039e-13;
12042 // Test data for a=20.000000000000000, b=20.000000000000000, c=2.0000000000000000.
12043 // max(|f - f_GSL|): 8.1129638414606682e+31 at index 18
12044 // max(|f - f_GSL| / |f_GSL|): 2.1657042453579367e-15
12045 // mean(f - f_GSL): 4.2699809691927378e+30
12046 // variance(f - f_GSL): 3.3808552803188121e+96
12047 // stddev(f - f_GSL): 1.8387102219541860e+48
12048 const testcase_hyperg<double>
12049 data241[19] =
12051 { 7.4612991227725660e-09, 20.000000000000000, 20.000000000000000,
12052 2.0000000000000000, -0.90000000000000002, 0.0 },
12053 { 1.1006588952366092e-07, 20.000000000000000, 20.000000000000000,
12054 2.0000000000000000, -0.80000000000000004, 0.0 },
12055 { 2.0126933732744113e-07, 20.000000000000000, 20.000000000000000,
12056 2.0000000000000000, -0.69999999999999996, 0.0 },
12057 { -1.0013775379571396e-06, 20.000000000000000, 20.000000000000000,
12058 2.0000000000000000, -0.59999999999999998, 0.0 },
12059 { -3.0371956856925611e-06, 20.000000000000000, 20.000000000000000,
12060 2.0000000000000000, -0.50000000000000000, 0.0 },
12061 { 2.2012669924829930e-05, 20.000000000000000, 20.000000000000000,
12062 2.0000000000000000, -0.39999999999999991, 0.0 },
12063 { -6.2415598025411788e-05, 20.000000000000000, 20.000000000000000,
12064 2.0000000000000000, -0.29999999999999993, 0.0 },
12065 { 0.00033551320394368590, 20.000000000000000, 20.000000000000000,
12066 2.0000000000000000, -0.19999999999999996, 0.0 },
12067 { -0.0062342152641436752, 20.000000000000000, 20.000000000000000,
12068 2.0000000000000000, -0.099999999999999978, 0.0 },
12069 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
12070 2.0000000000000000, 0.0000000000000000, 0.0 },
12071 { 34830.688900741610, 20.000000000000000, 20.000000000000000,
12072 2.0000000000000000, 0.10000000000000009, 0.0 },
12073 { 67626221.263031960, 20.000000000000000, 20.000000000000000,
12074 2.0000000000000000, 0.20000000000000018, 0.0 },
12075 { 102764604848.69762, 20.000000000000000, 20.000000000000000,
12076 2.0000000000000000, 0.30000000000000004, 0.0 },
12077 { 220278355222376.97, 20.000000000000000, 20.000000000000000,
12078 2.0000000000000000, 0.40000000000000013, 0.0 },
12079 { 1.0422324699794536e+18, 20.000000000000000, 20.000000000000000,
12080 2.0000000000000000, 0.50000000000000000, 0.0 },
12081 { 1.9128731788368004e+22, 20.000000000000000, 20.000000000000000,
12082 2.0000000000000000, 0.60000000000000009, 0.0 },
12083 { 3.5234592919486348e+27, 20.000000000000000, 20.000000000000000,
12084 2.0000000000000000, 0.70000000000000018, 0.0 },
12085 { 5.0867023209025249e+34, 20.000000000000000, 20.000000000000000,
12086 2.0000000000000000, 0.80000000000000004, 0.0 },
12087 { 3.7461088506661713e+46, 20.000000000000000, 20.000000000000000,
12088 2.0000000000000000, 0.90000000000000013, 0.0 },
12090 const double toler241 = 2.5000000000000020e-13;
12092 // Test data for a=20.000000000000000, b=20.000000000000000, c=4.0000000000000000.
12093 // max(|f - f_GSL|): 4.3327901374988310e+27 at index 18
12094 // max(|f - f_GSL| / |f_GSL|): 2.2075464057599215e-15
12095 // mean(f - f_GSL): 2.2804158618486009e+26
12096 // variance(f - f_GSL): 1.7798116217456159e+67
12097 // stddev(f - f_GSL): 4.2187813663967183e+33
12098 const testcase_hyperg<double>
12099 data242[19] =
12101 { -1.5895901122487120e-09, 20.000000000000000, 20.000000000000000,
12102 4.0000000000000000, -0.90000000000000002, 0.0 },
12103 { -2.4403576191590296e-09, 20.000000000000000, 20.000000000000000,
12104 4.0000000000000000, -0.80000000000000004, 0.0 },
12105 { 1.1622915284663225e-08, 20.000000000000000, 20.000000000000000,
12106 4.0000000000000000, -0.69999999999999996, 0.0 },
12107 { 6.3899796223275262e-08, 20.000000000000000, 20.000000000000000,
12108 4.0000000000000000, -0.59999999999999998, 0.0 },
12109 { -1.3503608350984134e-07, 20.000000000000000, 20.000000000000000,
12110 4.0000000000000000, -0.50000000000000000, 0.0 },
12111 { -1.2198533624395468e-06, 20.000000000000000, 20.000000000000000,
12112 4.0000000000000000, -0.39999999999999991, 0.0 },
12113 { 9.9086618121819025e-06, 20.000000000000000, 20.000000000000000,
12114 4.0000000000000000, -0.29999999999999993, 0.0 },
12115 { -7.6797020080190715e-05, 20.000000000000000, 20.000000000000000,
12116 4.0000000000000000, -0.19999999999999996, 0.0 },
12117 { 0.0013196405087170897, 20.000000000000000, 20.000000000000000,
12118 4.0000000000000000, -0.099999999999999978, 0.0 },
12119 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
12120 4.0000000000000000, 0.0000000000000000, 0.0 },
12121 { 2274.2044768143564, 20.000000000000000, 20.000000000000000,
12122 4.0000000000000000, 0.10000000000000009, 0.0 },
12123 { 1611640.1560475677, 20.000000000000000, 20.000000000000000,
12124 4.0000000000000000, 0.20000000000000018, 0.0 },
12125 { 1147063984.7359734, 20.000000000000000, 20.000000000000000,
12126 4.0000000000000000, 0.30000000000000004, 0.0 },
12127 { 1253162497163.8503, 20.000000000000000, 20.000000000000000,
12128 4.0000000000000000, 0.40000000000000013, 0.0 },
12129 { 3071321673390476.0, 20.000000000000000, 20.000000000000000,
12130 4.0000000000000000, 0.50000000000000000, 0.0 },
12131 { 2.8221123559124324e+19, 20.000000000000000, 20.000000000000000,
12132 4.0000000000000000, 0.60000000000000009, 0.0 },
12133 { 2.3658463807420230e+24, 20.000000000000000, 20.000000000000000,
12134 4.0000000000000000, 0.70000000000000018, 0.0 },
12135 { 1.2596553731345468e+31, 20.000000000000000, 20.000000000000000,
12136 4.0000000000000000, 0.80000000000000004, 0.0 },
12137 { 1.9627175792063675e+42, 20.000000000000000, 20.000000000000000,
12138 4.0000000000000000, 0.90000000000000013, 0.0 },
12140 const double toler242 = 2.5000000000000020e-13;
12142 // Test data for a=20.000000000000000, b=20.000000000000000, c=6.0000000000000000.
12143 // max(|f - f_GSL|): 7.5557863725914323e+23 at index 18
12144 // max(|f - f_GSL| / |f_GSL|): 1.9837376456389093e-15
12145 // mean(f - f_GSL): 3.9767296698428338e+22
12146 // variance(f - f_GSL): 4.6773832769218855e+49
12147 // stddev(f - f_GSL): 6.8391397682178457e+24
12148 const testcase_hyperg<double>
12149 data243[19] =
12151 { 8.0159783892777232e-11, 20.000000000000000, 20.000000000000000,
12152 6.0000000000000000, -0.90000000000000002, 0.0 },
12153 { -6.4422705184649393e-10, 20.000000000000000, 20.000000000000000,
12154 6.0000000000000000, -0.80000000000000004, 0.0 },
12155 { -3.7526132950808576e-09, 20.000000000000000, 20.000000000000000,
12156 6.0000000000000000, -0.69999999999999996, 0.0 },
12157 { -1.7692034036274638e-09, 20.000000000000000, 20.000000000000000,
12158 6.0000000000000000, -0.59999999999999998, 0.0 },
12159 { 7.9304558764774354e-08, 20.000000000000000, 20.000000000000000,
12160 6.0000000000000000, -0.50000000000000000, 0.0 },
12161 { 5.9348070417710214e-08, 20.000000000000000, 20.000000000000000,
12162 6.0000000000000000, -0.39999999999999991, 0.0 },
12163 { -3.5827694518623355e-06, 20.000000000000000, 20.000000000000000,
12164 6.0000000000000000, -0.29999999999999993, 0.0 },
12165 { 4.4951490418031519e-05, 20.000000000000000, 20.000000000000000,
12166 6.0000000000000000, -0.19999999999999996, 0.0 },
12167 { -0.0013716249406309328, 20.000000000000000, 20.000000000000000,
12168 6.0000000000000000, -0.099999999999999978, 0.0 },
12169 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
12170 6.0000000000000000, 0.0000000000000000, 0.0 },
12171 { 415.32493304415505, 20.000000000000000, 20.000000000000000,
12172 6.0000000000000000, 0.10000000000000009, 0.0 },
12173 { 121300.42991518755, 20.000000000000000, 20.000000000000000,
12174 6.0000000000000000, 0.20000000000000018, 0.0 },
12175 { 42725673.833462097, 20.000000000000000, 20.000000000000000,
12176 6.0000000000000000, 0.30000000000000004, 0.0 },
12177 { 24588915328.262096, 20.000000000000000, 20.000000000000000,
12178 6.0000000000000000, 0.40000000000000013, 0.0 },
12179 { 31929082412503.652, 20.000000000000000, 20.000000000000000,
12180 6.0000000000000000, 0.50000000000000000, 0.0 },
12181 { 1.4934954443280477e+17, 20.000000000000000, 20.000000000000000,
12182 6.0000000000000000, 0.60000000000000009, 0.0 },
12183 { 5.7726220597697614e+21, 20.000000000000000, 20.000000000000000,
12184 6.0000000000000000, 0.70000000000000018, 0.0 },
12185 { 1.1454387824049374e+28, 20.000000000000000, 20.000000000000000,
12186 6.0000000000000000, 0.80000000000000004, 0.0 },
12187 { 3.8088637321584496e+38, 20.000000000000000, 20.000000000000000,
12188 6.0000000000000000, 0.90000000000000013, 0.0 },
12190 const double toler243 = 2.5000000000000020e-13;
12192 // Test data for a=20.000000000000000, b=20.000000000000000, c=8.0000000000000000.
12193 // max(|f - f_GSL|): 3.3204139332677193e+20 at index 18
12194 // max(|f - f_GSL| / |f_GSL|): 1.9148846081414276e-15
12195 // mean(f - f_GSL): 1.7475862807802462e+19
12196 // variance(f - f_GSL): 6.4226791492038630e+39
12197 // stddev(f - f_GSL): 8.0141619332303634e+19
12198 const testcase_hyperg<double>
12199 data244[19] =
12201 { 1.0699067880816065e-10, 20.000000000000000, 20.000000000000000,
12202 8.0000000000000000, -0.90000000000000002, 0.0 },
12203 { 5.4297771645951943e-10, 20.000000000000000, 20.000000000000000,
12204 8.0000000000000000, -0.80000000000000004, 0.0 },
12205 { 9.7625476382187751e-10, 20.000000000000000, 20.000000000000000,
12206 8.0000000000000000, -0.69999999999999996, 0.0 },
12207 { -6.7257763949908548e-09, 20.000000000000000, 20.000000000000000,
12208 8.0000000000000000, -0.59999999999999998, 0.0 },
12209 { -5.4634571496409877e-08, 20.000000000000000, 20.000000000000000,
12210 8.0000000000000000, -0.50000000000000000, 0.0 },
12211 { 1.4595644217972025e-07, 20.000000000000000, 20.000000000000000,
12212 8.0000000000000000, -0.39999999999999991, 0.0 },
12213 { 3.3515966496921257e-06, 20.000000000000000, 20.000000000000000,
12214 8.0000000000000000, -0.29999999999999993, 0.0 },
12215 { -6.5848086985738461e-05, 20.000000000000000, 20.000000000000000,
12216 8.0000000000000000, -0.19999999999999996, 0.0 },
12217 { 0.0034800171306214847, 20.000000000000000, 20.000000000000000,
12218 8.0000000000000000, -0.099999999999999978, 0.0 },
12219 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
12220 8.0000000000000000, 0.0000000000000000, 0.0 },
12221 { 130.93865856750304, 20.000000000000000, 20.000000000000000,
12222 8.0000000000000000, 0.10000000000000009, 0.0 },
12223 { 17850.203502975721, 20.000000000000000, 20.000000000000000,
12224 8.0000000000000000, 0.20000000000000018, 0.0 },
12225 { 3307058.5655149994, 20.000000000000000, 20.000000000000000,
12226 8.0000000000000000, 0.30000000000000004, 0.0 },
12227 { 1041065396.2302928, 20.000000000000000, 20.000000000000000,
12228 8.0000000000000000, 0.40000000000000013, 0.0 },
12229 { 735221357488.41736, 20.000000000000000, 20.000000000000000,
12230 8.0000000000000000, 0.50000000000000000, 0.0 },
12231 { 1785176805049585.2, 20.000000000000000, 20.000000000000000,
12232 8.0000000000000000, 0.60000000000000009, 0.0 },
12233 { 3.2302829930269979e+19, 20.000000000000000, 20.000000000000000,
12234 8.0000000000000000, 0.70000000000000018, 0.0 },
12235 { 2.4184909805178299e+25, 20.000000000000000, 20.000000000000000,
12236 8.0000000000000000, 0.80000000000000004, 0.0 },
12237 { 1.7340021007795807e+35, 20.000000000000000, 20.000000000000000,
12238 8.0000000000000000, 0.90000000000000013, 0.0 },
12240 const double toler244 = 2.5000000000000020e-13;
12242 // Test data for a=20.000000000000000, b=20.000000000000000, c=10.000000000000000.
12243 // max(|f - f_GSL|): 3.4227357168015770e+17 at index 18
12244 // max(|f - f_GSL| / |f_GSL|): 2.2509396750113666e-15
12245 // mean(f - f_GSL): 18014398513897048.
12246 // variance(f - f_GSL): 6.1659968607222131e+33
12247 // stddev(f - f_GSL): 78523861728281120.
12248 const testcase_hyperg<double>
12249 data245[19] =
12251 { -1.7945360901577764e-10, 20.000000000000000, 20.000000000000000,
12252 10.000000000000000, -0.90000000000000002, 0.0 },
12253 { -4.4440665776938741e-10, 20.000000000000000, 20.000000000000000,
12254 10.000000000000000, -0.80000000000000004, 0.0 },
12255 { 6.6171615263373664e-10, 20.000000000000000, 20.000000000000000,
12256 10.000000000000000, -0.69999999999999996, 0.0 },
12257 { 1.5453889374050929e-08, 20.000000000000000, 20.000000000000000,
12258 10.000000000000000, -0.59999999999999998, 0.0 },
12259 { 7.5754083909301490e-08, 20.000000000000000, 20.000000000000000,
12260 10.000000000000000, -0.50000000000000000, 0.0 },
12261 { -4.1113628650335901e-07, 20.000000000000000, 20.000000000000000,
12262 10.000000000000000, -0.39999999999999991, 0.0 },
12263 { -9.5300704263777713e-06, 20.000000000000000, 20.000000000000000,
12264 10.000000000000000, -0.29999999999999993, 0.0 },
12265 { 0.00016081533175773833, 20.000000000000000, 20.000000000000000,
12266 10.000000000000000, -0.19999999999999996, 0.0 },
12267 { 0.017684650940379586, 20.000000000000000, 20.000000000000000,
12268 10.000000000000000, -0.099999999999999978, 0.0 },
12269 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
12270 10.000000000000000, 0.0000000000000000, 0.0 },
12271 { 57.562247312454403, 20.000000000000000, 20.000000000000000,
12272 10.000000000000000, 0.10000000000000009, 0.0 },
12273 { 4124.4159820362947, 20.000000000000000, 20.000000000000000,
12274 10.000000000000000, 0.20000000000000018, 0.0 },
12275 { 428774.21436196787, 20.000000000000000, 20.000000000000000,
12276 10.000000000000000, 0.30000000000000004, 0.0 },
12277 { 76996819.900893494, 20.000000000000000, 20.000000000000000,
12278 10.000000000000000, 0.40000000000000013, 0.0 },
12279 { 30473174828.943691, 20.000000000000000, 20.000000000000000,
12280 10.000000000000000, 0.50000000000000000, 0.0 },
12281 { 39291970835753.094, 20.000000000000000, 20.000000000000000,
12282 10.000000000000000, 0.60000000000000009, 0.0 },
12283 { 3.3890331048069786e+17, 20.000000000000000, 20.000000000000000,
12284 10.000000000000000, 0.70000000000000018, 0.0 },
12285 { 9.7157373454594049e+22, 20.000000000000000, 20.000000000000000,
12286 10.000000000000000, 0.80000000000000004, 0.0 },
12287 { 1.5205808288861820e+32, 20.000000000000000, 20.000000000000000,
12288 10.000000000000000, 0.90000000000000013, 0.0 },
12290 const double toler245 = 2.5000000000000020e-13;
12292 template<typename Ret, unsigned int Num>
12293 void
12294 test(const testcase_hyperg<Ret> (&data)[Num], Ret toler)
12296 bool test __attribute__((unused)) = true;
12297 const Ret eps = std::numeric_limits<Ret>::epsilon();
12298 Ret max_abs_diff = -Ret(1);
12299 Ret max_abs_frac = -Ret(1);
12300 unsigned int num_datum = Num;
12301 for (unsigned int i = 0; i < num_datum; ++i)
12303 const Ret f = __gnu_cxx::hyperg(data[i].a, data[i].b,
12304 data[i].c, data[i].x);
12305 const Ret f0 = data[i].f0;
12306 const Ret diff = f - f0;
12307 if (std::abs(diff) > max_abs_diff)
12308 max_abs_diff = std::abs(diff);
12309 if (std::abs(f0) > Ret(10) * eps
12310 && std::abs(f) > Ret(10) * eps)
12312 const Ret frac = diff / f0;
12313 if (std::abs(frac) > max_abs_frac)
12314 max_abs_frac = std::abs(frac);
12317 VERIFY(max_abs_frac < toler);
12321 main()
12323 test(data001, toler001);
12324 test(data002, toler002);
12325 test(data003, toler003);
12326 test(data004, toler004);
12327 test(data005, toler005);
12328 test(data006, toler006);
12329 test(data007, toler007);
12330 test(data008, toler008);
12331 test(data009, toler009);
12332 test(data010, toler010);
12333 test(data011, toler011);
12334 test(data012, toler012);
12335 test(data013, toler013);
12336 test(data014, toler014);
12337 test(data015, toler015);
12338 test(data016, toler016);
12339 test(data017, toler017);
12340 test(data018, toler018);
12341 test(data019, toler019);
12342 test(data020, toler020);
12343 test(data021, toler021);
12344 test(data022, toler022);
12345 test(data023, toler023);
12346 test(data024, toler024);
12347 test(data025, toler025);
12348 test(data026, toler026);
12349 test(data027, toler027);
12350 test(data028, toler028);
12351 test(data029, toler029);
12352 test(data030, toler030);
12353 test(data031, toler031);
12354 test(data032, toler032);
12355 test(data033, toler033);
12356 test(data034, toler034);
12357 test(data035, toler035);
12358 test(data036, toler036);
12359 test(data037, toler037);
12360 test(data038, toler038);
12361 test(data039, toler039);
12362 test(data040, toler040);
12363 test(data041, toler041);
12364 test(data042, toler042);
12365 test(data043, toler043);
12366 test(data044, toler044);
12367 test(data045, toler045);
12368 test(data046, toler046);
12369 test(data047, toler047);
12370 test(data048, toler048);
12371 test(data049, toler049);
12372 test(data050, toler050);
12373 test(data051, toler051);
12374 test(data052, toler052);
12375 test(data053, toler053);
12376 test(data054, toler054);
12377 test(data055, toler055);
12378 test(data056, toler056);
12379 test(data057, toler057);
12380 test(data058, toler058);
12381 test(data059, toler059);
12382 test(data060, toler060);
12383 test(data061, toler061);
12384 test(data062, toler062);
12385 test(data063, toler063);
12386 test(data064, toler064);
12387 test(data065, toler065);
12388 test(data066, toler066);
12389 test(data067, toler067);
12390 test(data068, toler068);
12391 test(data069, toler069);
12392 test(data070, toler070);
12393 test(data071, toler071);
12394 test(data072, toler072);
12395 test(data073, toler073);
12396 test(data074, toler074);
12397 test(data075, toler075);
12398 test(data076, toler076);
12399 test(data077, toler077);
12400 test(data078, toler078);
12401 test(data079, toler079);
12402 test(data080, toler080);
12403 test(data081, toler081);
12404 test(data082, toler082);
12405 test(data083, toler083);
12406 test(data084, toler084);
12407 test(data085, toler085);
12408 test(data086, toler086);
12409 test(data087, toler087);
12410 test(data088, toler088);
12411 test(data089, toler089);
12412 test(data090, toler090);
12413 test(data091, toler091);
12414 test(data092, toler092);
12415 test(data093, toler093);
12416 test(data094, toler094);
12417 test(data095, toler095);
12418 test(data096, toler096);
12419 test(data097, toler097);
12420 test(data098, toler098);
12421 test(data099, toler099);
12422 test(data100, toler100);
12423 test(data101, toler101);
12424 test(data102, toler102);
12425 test(data103, toler103);
12426 test(data104, toler104);
12427 test(data105, toler105);
12428 test(data106, toler106);
12429 test(data107, toler107);
12430 test(data108, toler108);
12431 test(data109, toler109);
12432 test(data110, toler110);
12433 test(data111, toler111);
12434 test(data112, toler112);
12435 test(data113, toler113);
12436 test(data114, toler114);
12437 test(data115, toler115);
12438 test(data116, toler116);
12439 test(data117, toler117);
12440 test(data118, toler118);
12441 test(data119, toler119);
12442 test(data120, toler120);
12443 test(data121, toler121);
12444 test(data122, toler122);
12445 test(data123, toler123);
12446 test(data124, toler124);
12447 test(data125, toler125);
12448 test(data126, toler126);
12449 test(data127, toler127);
12450 test(data128, toler128);
12451 test(data129, toler129);
12452 test(data130, toler130);
12453 test(data131, toler131);
12454 test(data132, toler132);
12455 test(data133, toler133);
12456 test(data134, toler134);
12457 test(data135, toler135);
12458 test(data136, toler136);
12459 test(data137, toler137);
12460 test(data138, toler138);
12461 test(data139, toler139);
12462 test(data140, toler140);
12463 test(data141, toler141);
12464 test(data142, toler142);
12465 test(data143, toler143);
12466 test(data144, toler144);
12467 test(data145, toler145);
12468 test(data146, toler146);
12469 test(data147, toler147);
12470 test(data148, toler148);
12471 test(data149, toler149);
12472 test(data150, toler150);
12473 test(data151, toler151);
12474 test(data152, toler152);
12475 test(data153, toler153);
12476 test(data154, toler154);
12477 test(data155, toler155);
12478 test(data156, toler156);
12479 test(data157, toler157);
12480 test(data158, toler158);
12481 test(data159, toler159);
12482 test(data160, toler160);
12483 test(data161, toler161);
12484 test(data162, toler162);
12485 test(data163, toler163);
12486 test(data164, toler164);
12487 test(data165, toler165);
12488 test(data166, toler166);
12489 test(data167, toler167);
12490 test(data168, toler168);
12491 test(data169, toler169);
12492 test(data170, toler170);
12493 test(data171, toler171);
12494 test(data172, toler172);
12495 test(data173, toler173);
12496 test(data174, toler174);
12497 test(data175, toler175);
12498 test(data176, toler176);
12499 test(data177, toler177);
12500 test(data178, toler178);
12501 test(data179, toler179);
12502 test(data180, toler180);
12503 test(data181, toler181);
12504 test(data182, toler182);
12505 test(data183, toler183);
12506 test(data184, toler184);
12507 test(data185, toler185);
12508 test(data186, toler186);
12509 test(data187, toler187);
12510 test(data188, toler188);
12511 test(data189, toler189);
12512 test(data190, toler190);
12513 test(data191, toler191);
12514 test(data192, toler192);
12515 test(data193, toler193);
12516 test(data194, toler194);
12517 test(data195, toler195);
12518 test(data196, toler196);
12519 test(data197, toler197);
12520 test(data198, toler198);
12521 test(data199, toler199);
12522 test(data200, toler200);
12523 test(data201, toler201);
12524 test(data202, toler202);
12525 test(data203, toler203);
12526 test(data204, toler204);
12527 test(data205, toler205);
12528 test(data206, toler206);
12529 test(data207, toler207);
12530 test(data208, toler208);
12531 test(data209, toler209);
12532 test(data210, toler210);
12533 test(data211, toler211);
12534 test(data212, toler212);
12535 test(data213, toler213);
12536 test(data214, toler214);
12537 test(data215, toler215);
12538 test(data216, toler216);
12539 test(data217, toler217);
12540 test(data218, toler218);
12541 test(data219, toler219);
12542 test(data220, toler220);
12543 test(data221, toler221);
12544 test(data222, toler222);
12545 test(data223, toler223);
12546 test(data224, toler224);
12547 test(data225, toler225);
12548 test(data226, toler226);
12549 test(data227, toler227);
12550 test(data228, toler228);
12551 test(data229, toler229);
12552 test(data230, toler230);
12553 test(data231, toler231);
12554 test(data232, toler232);
12555 test(data233, toler233);
12556 test(data234, toler234);
12557 test(data235, toler235);
12558 test(data236, toler236);
12559 test(data237, toler237);
12560 test(data238, toler238);
12561 test(data239, toler239);
12562 test(data240, toler240);
12563 test(data241, toler241);
12564 test(data242, toler242);
12565 test(data243, toler243);
12566 test(data244, toler244);
12567 test(data245, toler245);
12568 return 0;