1 // { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
3 // Copyright (C) 2016 Free Software Foundation, Inc.
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING3. If not see
18 // <http://www.gnu.org/licenses/>.
21 // Compare against values generated by the GNU Scientific Library.
22 // The GSL can be found on the web: http://www.gnu.org/software/gsl/
25 #if defined(__TEST_DEBUG)
30 std::cout << "line " << __LINE__ \
31 << " max_abs_frac = " << max_abs_frac \
35 # include <testsuite_hooks.h>
37 #include <specfun_testcase.h>
40 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
41 // max(|f - f_GSL|): 0.0000000000000000
42 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
43 const testcase_hyperg
<double>
46 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
47 2.0000000000000000, -0.90000000000000002 },
48 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
49 2.0000000000000000, -0.80000000000000004 },
50 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
51 2.0000000000000000, -0.69999999999999996 },
52 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
53 2.0000000000000000, -0.59999999999999998 },
54 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
55 2.0000000000000000, -0.50000000000000000 },
56 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
57 2.0000000000000000, -0.40000000000000002 },
58 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
59 2.0000000000000000, -0.30000000000000004 },
60 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
61 2.0000000000000000, -0.19999999999999996 },
62 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
63 2.0000000000000000, -0.099999999999999978 },
64 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
65 2.0000000000000000, 0.0000000000000000 },
66 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
67 2.0000000000000000, 0.10000000000000009 },
68 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
69 2.0000000000000000, 0.19999999999999996 },
70 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
71 2.0000000000000000, 0.30000000000000004 },
72 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
73 2.0000000000000000, 0.39999999999999991 },
74 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
75 2.0000000000000000, 0.50000000000000000 },
76 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
77 2.0000000000000000, 0.60000000000000009 },
78 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
79 2.0000000000000000, 0.69999999999999996 },
80 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
81 2.0000000000000000, 0.80000000000000004 },
82 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
83 2.0000000000000000, 0.89999999999999991 },
85 const double toler001
= 2.5000000000000020e-13;
87 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
88 // max(|f - f_GSL|): 0.0000000000000000
89 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
90 const testcase_hyperg
<double>
93 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
94 4.0000000000000000, -0.90000000000000002 },
95 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
96 4.0000000000000000, -0.80000000000000004 },
97 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
98 4.0000000000000000, -0.69999999999999996 },
99 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
100 4.0000000000000000, -0.59999999999999998 },
101 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
102 4.0000000000000000, -0.50000000000000000 },
103 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
104 4.0000000000000000, -0.40000000000000002 },
105 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
106 4.0000000000000000, -0.30000000000000004 },
107 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
108 4.0000000000000000, -0.19999999999999996 },
109 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
110 4.0000000000000000, -0.099999999999999978 },
111 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
112 4.0000000000000000, 0.0000000000000000 },
113 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
114 4.0000000000000000, 0.10000000000000009 },
115 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
116 4.0000000000000000, 0.19999999999999996 },
117 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
118 4.0000000000000000, 0.30000000000000004 },
119 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
120 4.0000000000000000, 0.39999999999999991 },
121 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
122 4.0000000000000000, 0.50000000000000000 },
123 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
124 4.0000000000000000, 0.60000000000000009 },
125 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
126 4.0000000000000000, 0.69999999999999996 },
127 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
128 4.0000000000000000, 0.80000000000000004 },
129 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
130 4.0000000000000000, 0.89999999999999991 },
132 const double toler002
= 2.5000000000000020e-13;
134 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
135 // max(|f - f_GSL|): 0.0000000000000000
136 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
137 const testcase_hyperg
<double>
140 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
141 6.0000000000000000, -0.90000000000000002 },
142 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
143 6.0000000000000000, -0.80000000000000004 },
144 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
145 6.0000000000000000, -0.69999999999999996 },
146 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
147 6.0000000000000000, -0.59999999999999998 },
148 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
149 6.0000000000000000, -0.50000000000000000 },
150 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
151 6.0000000000000000, -0.40000000000000002 },
152 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
153 6.0000000000000000, -0.30000000000000004 },
154 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
155 6.0000000000000000, -0.19999999999999996 },
156 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
157 6.0000000000000000, -0.099999999999999978 },
158 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
159 6.0000000000000000, 0.0000000000000000 },
160 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
161 6.0000000000000000, 0.10000000000000009 },
162 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
163 6.0000000000000000, 0.19999999999999996 },
164 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
165 6.0000000000000000, 0.30000000000000004 },
166 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
167 6.0000000000000000, 0.39999999999999991 },
168 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
169 6.0000000000000000, 0.50000000000000000 },
170 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
171 6.0000000000000000, 0.60000000000000009 },
172 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
173 6.0000000000000000, 0.69999999999999996 },
174 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
175 6.0000000000000000, 0.80000000000000004 },
176 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
177 6.0000000000000000, 0.89999999999999991 },
179 const double toler003
= 2.5000000000000020e-13;
181 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
182 // max(|f - f_GSL|): 0.0000000000000000
183 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
184 const testcase_hyperg
<double>
187 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
188 8.0000000000000000, -0.90000000000000002 },
189 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
190 8.0000000000000000, -0.80000000000000004 },
191 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
192 8.0000000000000000, -0.69999999999999996 },
193 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
194 8.0000000000000000, -0.59999999999999998 },
195 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
196 8.0000000000000000, -0.50000000000000000 },
197 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
198 8.0000000000000000, -0.40000000000000002 },
199 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
200 8.0000000000000000, -0.30000000000000004 },
201 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
202 8.0000000000000000, -0.19999999999999996 },
203 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
204 8.0000000000000000, -0.099999999999999978 },
205 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
206 8.0000000000000000, 0.0000000000000000 },
207 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
208 8.0000000000000000, 0.10000000000000009 },
209 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
210 8.0000000000000000, 0.19999999999999996 },
211 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
212 8.0000000000000000, 0.30000000000000004 },
213 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
214 8.0000000000000000, 0.39999999999999991 },
215 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
216 8.0000000000000000, 0.50000000000000000 },
217 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
218 8.0000000000000000, 0.60000000000000009 },
219 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
220 8.0000000000000000, 0.69999999999999996 },
221 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
222 8.0000000000000000, 0.80000000000000004 },
223 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
224 8.0000000000000000, 0.89999999999999991 },
226 const double toler004
= 2.5000000000000020e-13;
228 // Test data for a=0.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
229 // max(|f - f_GSL|): 0.0000000000000000
230 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
231 const testcase_hyperg
<double>
234 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
235 10.000000000000000, -0.90000000000000002 },
236 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
237 10.000000000000000, -0.80000000000000004 },
238 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
239 10.000000000000000, -0.69999999999999996 },
240 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
241 10.000000000000000, -0.59999999999999998 },
242 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
243 10.000000000000000, -0.50000000000000000 },
244 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
245 10.000000000000000, -0.40000000000000002 },
246 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
247 10.000000000000000, -0.30000000000000004 },
248 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
249 10.000000000000000, -0.19999999999999996 },
250 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
251 10.000000000000000, -0.099999999999999978 },
252 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
253 10.000000000000000, 0.0000000000000000 },
254 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
255 10.000000000000000, 0.10000000000000009 },
256 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
257 10.000000000000000, 0.19999999999999996 },
258 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
259 10.000000000000000, 0.30000000000000004 },
260 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
261 10.000000000000000, 0.39999999999999991 },
262 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
263 10.000000000000000, 0.50000000000000000 },
264 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
265 10.000000000000000, 0.60000000000000009 },
266 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
267 10.000000000000000, 0.69999999999999996 },
268 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
269 10.000000000000000, 0.80000000000000004 },
270 { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
271 10.000000000000000, 0.89999999999999991 },
273 const double toler005
= 2.5000000000000020e-13;
275 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
276 // max(|f - f_GSL|): 0.0000000000000000
277 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
278 const testcase_hyperg
<double>
281 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
282 2.0000000000000000, -0.90000000000000002 },
283 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
284 2.0000000000000000, -0.80000000000000004 },
285 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
286 2.0000000000000000, -0.69999999999999996 },
287 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
288 2.0000000000000000, -0.59999999999999998 },
289 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
290 2.0000000000000000, -0.50000000000000000 },
291 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
292 2.0000000000000000, -0.40000000000000002 },
293 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
294 2.0000000000000000, -0.30000000000000004 },
295 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
296 2.0000000000000000, -0.19999999999999996 },
297 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
298 2.0000000000000000, -0.099999999999999978 },
299 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
300 2.0000000000000000, 0.0000000000000000 },
301 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
302 2.0000000000000000, 0.10000000000000009 },
303 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
304 2.0000000000000000, 0.19999999999999996 },
305 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
306 2.0000000000000000, 0.30000000000000004 },
307 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
308 2.0000000000000000, 0.39999999999999991 },
309 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
310 2.0000000000000000, 0.50000000000000000 },
311 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
312 2.0000000000000000, 0.60000000000000009 },
313 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
314 2.0000000000000000, 0.69999999999999996 },
315 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
316 2.0000000000000000, 0.80000000000000004 },
317 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
318 2.0000000000000000, 0.89999999999999991 },
320 const double toler006
= 2.5000000000000020e-13;
322 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
323 // max(|f - f_GSL|): 0.0000000000000000
324 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
325 const testcase_hyperg
<double>
328 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
329 4.0000000000000000, -0.90000000000000002 },
330 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
331 4.0000000000000000, -0.80000000000000004 },
332 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
333 4.0000000000000000, -0.69999999999999996 },
334 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
335 4.0000000000000000, -0.59999999999999998 },
336 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
337 4.0000000000000000, -0.50000000000000000 },
338 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
339 4.0000000000000000, -0.40000000000000002 },
340 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
341 4.0000000000000000, -0.30000000000000004 },
342 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
343 4.0000000000000000, -0.19999999999999996 },
344 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
345 4.0000000000000000, -0.099999999999999978 },
346 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
347 4.0000000000000000, 0.0000000000000000 },
348 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
349 4.0000000000000000, 0.10000000000000009 },
350 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
351 4.0000000000000000, 0.19999999999999996 },
352 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
353 4.0000000000000000, 0.30000000000000004 },
354 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
355 4.0000000000000000, 0.39999999999999991 },
356 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
357 4.0000000000000000, 0.50000000000000000 },
358 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
359 4.0000000000000000, 0.60000000000000009 },
360 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
361 4.0000000000000000, 0.69999999999999996 },
362 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
363 4.0000000000000000, 0.80000000000000004 },
364 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
365 4.0000000000000000, 0.89999999999999991 },
367 const double toler007
= 2.5000000000000020e-13;
369 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
370 // max(|f - f_GSL|): 0.0000000000000000
371 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
372 const testcase_hyperg
<double>
375 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
376 6.0000000000000000, -0.90000000000000002 },
377 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
378 6.0000000000000000, -0.80000000000000004 },
379 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
380 6.0000000000000000, -0.69999999999999996 },
381 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
382 6.0000000000000000, -0.59999999999999998 },
383 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
384 6.0000000000000000, -0.50000000000000000 },
385 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
386 6.0000000000000000, -0.40000000000000002 },
387 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
388 6.0000000000000000, -0.30000000000000004 },
389 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
390 6.0000000000000000, -0.19999999999999996 },
391 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
392 6.0000000000000000, -0.099999999999999978 },
393 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
394 6.0000000000000000, 0.0000000000000000 },
395 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
396 6.0000000000000000, 0.10000000000000009 },
397 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
398 6.0000000000000000, 0.19999999999999996 },
399 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
400 6.0000000000000000, 0.30000000000000004 },
401 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
402 6.0000000000000000, 0.39999999999999991 },
403 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
404 6.0000000000000000, 0.50000000000000000 },
405 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
406 6.0000000000000000, 0.60000000000000009 },
407 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
408 6.0000000000000000, 0.69999999999999996 },
409 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
410 6.0000000000000000, 0.80000000000000004 },
411 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
412 6.0000000000000000, 0.89999999999999991 },
414 const double toler008
= 2.5000000000000020e-13;
416 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
417 // max(|f - f_GSL|): 0.0000000000000000
418 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
419 const testcase_hyperg
<double>
422 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
423 8.0000000000000000, -0.90000000000000002 },
424 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
425 8.0000000000000000, -0.80000000000000004 },
426 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
427 8.0000000000000000, -0.69999999999999996 },
428 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
429 8.0000000000000000, -0.59999999999999998 },
430 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
431 8.0000000000000000, -0.50000000000000000 },
432 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
433 8.0000000000000000, -0.40000000000000002 },
434 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
435 8.0000000000000000, -0.30000000000000004 },
436 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
437 8.0000000000000000, -0.19999999999999996 },
438 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
439 8.0000000000000000, -0.099999999999999978 },
440 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
441 8.0000000000000000, 0.0000000000000000 },
442 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
443 8.0000000000000000, 0.10000000000000009 },
444 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
445 8.0000000000000000, 0.19999999999999996 },
446 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
447 8.0000000000000000, 0.30000000000000004 },
448 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
449 8.0000000000000000, 0.39999999999999991 },
450 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
451 8.0000000000000000, 0.50000000000000000 },
452 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
453 8.0000000000000000, 0.60000000000000009 },
454 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
455 8.0000000000000000, 0.69999999999999996 },
456 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
457 8.0000000000000000, 0.80000000000000004 },
458 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
459 8.0000000000000000, 0.89999999999999991 },
461 const double toler009
= 2.5000000000000020e-13;
463 // Test data for a=0.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
464 // max(|f - f_GSL|): 0.0000000000000000
465 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
466 const testcase_hyperg
<double>
469 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
470 10.000000000000000, -0.90000000000000002 },
471 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
472 10.000000000000000, -0.80000000000000004 },
473 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
474 10.000000000000000, -0.69999999999999996 },
475 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
476 10.000000000000000, -0.59999999999999998 },
477 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
478 10.000000000000000, -0.50000000000000000 },
479 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
480 10.000000000000000, -0.40000000000000002 },
481 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
482 10.000000000000000, -0.30000000000000004 },
483 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
484 10.000000000000000, -0.19999999999999996 },
485 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
486 10.000000000000000, -0.099999999999999978 },
487 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
488 10.000000000000000, 0.0000000000000000 },
489 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
490 10.000000000000000, 0.10000000000000009 },
491 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
492 10.000000000000000, 0.19999999999999996 },
493 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
494 10.000000000000000, 0.30000000000000004 },
495 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
496 10.000000000000000, 0.39999999999999991 },
497 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
498 10.000000000000000, 0.50000000000000000 },
499 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
500 10.000000000000000, 0.60000000000000009 },
501 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
502 10.000000000000000, 0.69999999999999996 },
503 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
504 10.000000000000000, 0.80000000000000004 },
505 { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
506 10.000000000000000, 0.89999999999999991 },
508 const double toler010
= 2.5000000000000020e-13;
510 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
511 // max(|f - f_GSL|): 0.0000000000000000
512 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
513 const testcase_hyperg
<double>
516 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
517 2.0000000000000000, -0.90000000000000002 },
518 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
519 2.0000000000000000, -0.80000000000000004 },
520 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
521 2.0000000000000000, -0.69999999999999996 },
522 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
523 2.0000000000000000, -0.59999999999999998 },
524 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
525 2.0000000000000000, -0.50000000000000000 },
526 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
527 2.0000000000000000, -0.40000000000000002 },
528 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
529 2.0000000000000000, -0.30000000000000004 },
530 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
531 2.0000000000000000, -0.19999999999999996 },
532 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
533 2.0000000000000000, -0.099999999999999978 },
534 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
535 2.0000000000000000, 0.0000000000000000 },
536 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
537 2.0000000000000000, 0.10000000000000009 },
538 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
539 2.0000000000000000, 0.19999999999999996 },
540 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
541 2.0000000000000000, 0.30000000000000004 },
542 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
543 2.0000000000000000, 0.39999999999999991 },
544 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
545 2.0000000000000000, 0.50000000000000000 },
546 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
547 2.0000000000000000, 0.60000000000000009 },
548 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
549 2.0000000000000000, 0.69999999999999996 },
550 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
551 2.0000000000000000, 0.80000000000000004 },
552 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
553 2.0000000000000000, 0.89999999999999991 },
555 const double toler011
= 2.5000000000000020e-13;
557 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
558 // max(|f - f_GSL|): 0.0000000000000000
559 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
560 const testcase_hyperg
<double>
563 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
564 4.0000000000000000, -0.90000000000000002 },
565 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
566 4.0000000000000000, -0.80000000000000004 },
567 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
568 4.0000000000000000, -0.69999999999999996 },
569 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
570 4.0000000000000000, -0.59999999999999998 },
571 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
572 4.0000000000000000, -0.50000000000000000 },
573 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
574 4.0000000000000000, -0.40000000000000002 },
575 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
576 4.0000000000000000, -0.30000000000000004 },
577 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
578 4.0000000000000000, -0.19999999999999996 },
579 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
580 4.0000000000000000, -0.099999999999999978 },
581 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
582 4.0000000000000000, 0.0000000000000000 },
583 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
584 4.0000000000000000, 0.10000000000000009 },
585 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
586 4.0000000000000000, 0.19999999999999996 },
587 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
588 4.0000000000000000, 0.30000000000000004 },
589 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
590 4.0000000000000000, 0.39999999999999991 },
591 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
592 4.0000000000000000, 0.50000000000000000 },
593 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
594 4.0000000000000000, 0.60000000000000009 },
595 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
596 4.0000000000000000, 0.69999999999999996 },
597 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
598 4.0000000000000000, 0.80000000000000004 },
599 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
600 4.0000000000000000, 0.89999999999999991 },
602 const double toler012
= 2.5000000000000020e-13;
604 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
605 // max(|f - f_GSL|): 0.0000000000000000
606 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
607 const testcase_hyperg
<double>
610 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
611 6.0000000000000000, -0.90000000000000002 },
612 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
613 6.0000000000000000, -0.80000000000000004 },
614 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
615 6.0000000000000000, -0.69999999999999996 },
616 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
617 6.0000000000000000, -0.59999999999999998 },
618 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
619 6.0000000000000000, -0.50000000000000000 },
620 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
621 6.0000000000000000, -0.40000000000000002 },
622 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
623 6.0000000000000000, -0.30000000000000004 },
624 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
625 6.0000000000000000, -0.19999999999999996 },
626 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
627 6.0000000000000000, -0.099999999999999978 },
628 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
629 6.0000000000000000, 0.0000000000000000 },
630 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
631 6.0000000000000000, 0.10000000000000009 },
632 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
633 6.0000000000000000, 0.19999999999999996 },
634 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
635 6.0000000000000000, 0.30000000000000004 },
636 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
637 6.0000000000000000, 0.39999999999999991 },
638 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
639 6.0000000000000000, 0.50000000000000000 },
640 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
641 6.0000000000000000, 0.60000000000000009 },
642 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
643 6.0000000000000000, 0.69999999999999996 },
644 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
645 6.0000000000000000, 0.80000000000000004 },
646 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
647 6.0000000000000000, 0.89999999999999991 },
649 const double toler013
= 2.5000000000000020e-13;
651 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
652 // max(|f - f_GSL|): 0.0000000000000000
653 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
654 const testcase_hyperg
<double>
657 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
658 8.0000000000000000, -0.90000000000000002 },
659 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
660 8.0000000000000000, -0.80000000000000004 },
661 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
662 8.0000000000000000, -0.69999999999999996 },
663 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
664 8.0000000000000000, -0.59999999999999998 },
665 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
666 8.0000000000000000, -0.50000000000000000 },
667 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
668 8.0000000000000000, -0.40000000000000002 },
669 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
670 8.0000000000000000, -0.30000000000000004 },
671 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
672 8.0000000000000000, -0.19999999999999996 },
673 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
674 8.0000000000000000, -0.099999999999999978 },
675 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
676 8.0000000000000000, 0.0000000000000000 },
677 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
678 8.0000000000000000, 0.10000000000000009 },
679 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
680 8.0000000000000000, 0.19999999999999996 },
681 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
682 8.0000000000000000, 0.30000000000000004 },
683 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
684 8.0000000000000000, 0.39999999999999991 },
685 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
686 8.0000000000000000, 0.50000000000000000 },
687 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
688 8.0000000000000000, 0.60000000000000009 },
689 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
690 8.0000000000000000, 0.69999999999999996 },
691 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
692 8.0000000000000000, 0.80000000000000004 },
693 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
694 8.0000000000000000, 0.89999999999999991 },
696 const double toler014
= 2.5000000000000020e-13;
698 // Test data for a=0.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
699 // max(|f - f_GSL|): 0.0000000000000000
700 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
701 const testcase_hyperg
<double>
704 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
705 10.000000000000000, -0.90000000000000002 },
706 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
707 10.000000000000000, -0.80000000000000004 },
708 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
709 10.000000000000000, -0.69999999999999996 },
710 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
711 10.000000000000000, -0.59999999999999998 },
712 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
713 10.000000000000000, -0.50000000000000000 },
714 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
715 10.000000000000000, -0.40000000000000002 },
716 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
717 10.000000000000000, -0.30000000000000004 },
718 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
719 10.000000000000000, -0.19999999999999996 },
720 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
721 10.000000000000000, -0.099999999999999978 },
722 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
723 10.000000000000000, 0.0000000000000000 },
724 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
725 10.000000000000000, 0.10000000000000009 },
726 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
727 10.000000000000000, 0.19999999999999996 },
728 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
729 10.000000000000000, 0.30000000000000004 },
730 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
731 10.000000000000000, 0.39999999999999991 },
732 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
733 10.000000000000000, 0.50000000000000000 },
734 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
735 10.000000000000000, 0.60000000000000009 },
736 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
737 10.000000000000000, 0.69999999999999996 },
738 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
739 10.000000000000000, 0.80000000000000004 },
740 { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
741 10.000000000000000, 0.89999999999999991 },
743 const double toler015
= 2.5000000000000020e-13;
745 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
746 // max(|f - f_GSL|): 0.0000000000000000
747 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
748 const testcase_hyperg
<double>
751 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
752 2.0000000000000000, -0.90000000000000002 },
753 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
754 2.0000000000000000, -0.80000000000000004 },
755 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
756 2.0000000000000000, -0.69999999999999996 },
757 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
758 2.0000000000000000, -0.59999999999999998 },
759 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
760 2.0000000000000000, -0.50000000000000000 },
761 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
762 2.0000000000000000, -0.40000000000000002 },
763 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
764 2.0000000000000000, -0.30000000000000004 },
765 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
766 2.0000000000000000, -0.19999999999999996 },
767 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
768 2.0000000000000000, -0.099999999999999978 },
769 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
770 2.0000000000000000, 0.0000000000000000 },
771 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
772 2.0000000000000000, 0.10000000000000009 },
773 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
774 2.0000000000000000, 0.19999999999999996 },
775 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
776 2.0000000000000000, 0.30000000000000004 },
777 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
778 2.0000000000000000, 0.39999999999999991 },
779 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
780 2.0000000000000000, 0.50000000000000000 },
781 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
782 2.0000000000000000, 0.60000000000000009 },
783 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
784 2.0000000000000000, 0.69999999999999996 },
785 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
786 2.0000000000000000, 0.80000000000000004 },
787 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
788 2.0000000000000000, 0.89999999999999991 },
790 const double toler016
= 2.5000000000000020e-13;
792 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
793 // max(|f - f_GSL|): 0.0000000000000000
794 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
795 const testcase_hyperg
<double>
798 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
799 4.0000000000000000, -0.90000000000000002 },
800 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
801 4.0000000000000000, -0.80000000000000004 },
802 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
803 4.0000000000000000, -0.69999999999999996 },
804 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
805 4.0000000000000000, -0.59999999999999998 },
806 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
807 4.0000000000000000, -0.50000000000000000 },
808 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
809 4.0000000000000000, -0.40000000000000002 },
810 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
811 4.0000000000000000, -0.30000000000000004 },
812 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
813 4.0000000000000000, -0.19999999999999996 },
814 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
815 4.0000000000000000, -0.099999999999999978 },
816 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
817 4.0000000000000000, 0.0000000000000000 },
818 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
819 4.0000000000000000, 0.10000000000000009 },
820 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
821 4.0000000000000000, 0.19999999999999996 },
822 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
823 4.0000000000000000, 0.30000000000000004 },
824 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
825 4.0000000000000000, 0.39999999999999991 },
826 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
827 4.0000000000000000, 0.50000000000000000 },
828 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
829 4.0000000000000000, 0.60000000000000009 },
830 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
831 4.0000000000000000, 0.69999999999999996 },
832 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
833 4.0000000000000000, 0.80000000000000004 },
834 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
835 4.0000000000000000, 0.89999999999999991 },
837 const double toler017
= 2.5000000000000020e-13;
839 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
840 // max(|f - f_GSL|): 0.0000000000000000
841 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
842 const testcase_hyperg
<double>
845 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
846 6.0000000000000000, -0.90000000000000002 },
847 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
848 6.0000000000000000, -0.80000000000000004 },
849 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
850 6.0000000000000000, -0.69999999999999996 },
851 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
852 6.0000000000000000, -0.59999999999999998 },
853 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
854 6.0000000000000000, -0.50000000000000000 },
855 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
856 6.0000000000000000, -0.40000000000000002 },
857 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
858 6.0000000000000000, -0.30000000000000004 },
859 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
860 6.0000000000000000, -0.19999999999999996 },
861 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
862 6.0000000000000000, -0.099999999999999978 },
863 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
864 6.0000000000000000, 0.0000000000000000 },
865 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
866 6.0000000000000000, 0.10000000000000009 },
867 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
868 6.0000000000000000, 0.19999999999999996 },
869 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
870 6.0000000000000000, 0.30000000000000004 },
871 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
872 6.0000000000000000, 0.39999999999999991 },
873 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
874 6.0000000000000000, 0.50000000000000000 },
875 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
876 6.0000000000000000, 0.60000000000000009 },
877 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
878 6.0000000000000000, 0.69999999999999996 },
879 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
880 6.0000000000000000, 0.80000000000000004 },
881 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
882 6.0000000000000000, 0.89999999999999991 },
884 const double toler018
= 2.5000000000000020e-13;
886 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
887 // max(|f - f_GSL|): 0.0000000000000000
888 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
889 const testcase_hyperg
<double>
892 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
893 8.0000000000000000, -0.90000000000000002 },
894 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
895 8.0000000000000000, -0.80000000000000004 },
896 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
897 8.0000000000000000, -0.69999999999999996 },
898 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
899 8.0000000000000000, -0.59999999999999998 },
900 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
901 8.0000000000000000, -0.50000000000000000 },
902 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
903 8.0000000000000000, -0.40000000000000002 },
904 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
905 8.0000000000000000, -0.30000000000000004 },
906 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
907 8.0000000000000000, -0.19999999999999996 },
908 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
909 8.0000000000000000, -0.099999999999999978 },
910 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
911 8.0000000000000000, 0.0000000000000000 },
912 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
913 8.0000000000000000, 0.10000000000000009 },
914 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
915 8.0000000000000000, 0.19999999999999996 },
916 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
917 8.0000000000000000, 0.30000000000000004 },
918 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
919 8.0000000000000000, 0.39999999999999991 },
920 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
921 8.0000000000000000, 0.50000000000000000 },
922 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
923 8.0000000000000000, 0.60000000000000009 },
924 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
925 8.0000000000000000, 0.69999999999999996 },
926 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
927 8.0000000000000000, 0.80000000000000004 },
928 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
929 8.0000000000000000, 0.89999999999999991 },
931 const double toler019
= 2.5000000000000020e-13;
933 // Test data for a=0.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
934 // max(|f - f_GSL|): 0.0000000000000000
935 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
936 const testcase_hyperg
<double>
939 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
940 10.000000000000000, -0.90000000000000002 },
941 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
942 10.000000000000000, -0.80000000000000004 },
943 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
944 10.000000000000000, -0.69999999999999996 },
945 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
946 10.000000000000000, -0.59999999999999998 },
947 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
948 10.000000000000000, -0.50000000000000000 },
949 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
950 10.000000000000000, -0.40000000000000002 },
951 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
952 10.000000000000000, -0.30000000000000004 },
953 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
954 10.000000000000000, -0.19999999999999996 },
955 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
956 10.000000000000000, -0.099999999999999978 },
957 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
958 10.000000000000000, 0.0000000000000000 },
959 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
960 10.000000000000000, 0.10000000000000009 },
961 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
962 10.000000000000000, 0.19999999999999996 },
963 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
964 10.000000000000000, 0.30000000000000004 },
965 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
966 10.000000000000000, 0.39999999999999991 },
967 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
968 10.000000000000000, 0.50000000000000000 },
969 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
970 10.000000000000000, 0.60000000000000009 },
971 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
972 10.000000000000000, 0.69999999999999996 },
973 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
974 10.000000000000000, 0.80000000000000004 },
975 { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
976 10.000000000000000, 0.89999999999999991 },
978 const double toler020
= 2.5000000000000020e-13;
980 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
981 // max(|f - f_GSL|): 0.0000000000000000
982 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
983 const testcase_hyperg
<double>
986 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
987 2.0000000000000000, -0.90000000000000002 },
988 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
989 2.0000000000000000, -0.80000000000000004 },
990 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
991 2.0000000000000000, -0.69999999999999996 },
992 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
993 2.0000000000000000, -0.59999999999999998 },
994 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
995 2.0000000000000000, -0.50000000000000000 },
996 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
997 2.0000000000000000, -0.40000000000000002 },
998 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
999 2.0000000000000000, -0.30000000000000004 },
1000 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1001 2.0000000000000000, -0.19999999999999996 },
1002 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1003 2.0000000000000000, -0.099999999999999978 },
1004 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1005 2.0000000000000000, 0.0000000000000000 },
1006 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1007 2.0000000000000000, 0.10000000000000009 },
1008 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1009 2.0000000000000000, 0.19999999999999996 },
1010 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1011 2.0000000000000000, 0.30000000000000004 },
1012 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1013 2.0000000000000000, 0.39999999999999991 },
1014 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1015 2.0000000000000000, 0.50000000000000000 },
1016 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1017 2.0000000000000000, 0.60000000000000009 },
1018 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1019 2.0000000000000000, 0.69999999999999996 },
1020 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1021 2.0000000000000000, 0.80000000000000004 },
1022 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1023 2.0000000000000000, 0.89999999999999991 },
1025 const double toler021
= 2.5000000000000020e-13;
1027 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
1028 // max(|f - f_GSL|): 0.0000000000000000
1029 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1030 const testcase_hyperg
<double>
1033 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1034 4.0000000000000000, -0.90000000000000002 },
1035 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1036 4.0000000000000000, -0.80000000000000004 },
1037 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1038 4.0000000000000000, -0.69999999999999996 },
1039 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1040 4.0000000000000000, -0.59999999999999998 },
1041 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1042 4.0000000000000000, -0.50000000000000000 },
1043 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1044 4.0000000000000000, -0.40000000000000002 },
1045 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1046 4.0000000000000000, -0.30000000000000004 },
1047 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1048 4.0000000000000000, -0.19999999999999996 },
1049 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1050 4.0000000000000000, -0.099999999999999978 },
1051 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1052 4.0000000000000000, 0.0000000000000000 },
1053 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1054 4.0000000000000000, 0.10000000000000009 },
1055 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1056 4.0000000000000000, 0.19999999999999996 },
1057 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1058 4.0000000000000000, 0.30000000000000004 },
1059 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1060 4.0000000000000000, 0.39999999999999991 },
1061 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1062 4.0000000000000000, 0.50000000000000000 },
1063 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1064 4.0000000000000000, 0.60000000000000009 },
1065 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1066 4.0000000000000000, 0.69999999999999996 },
1067 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1068 4.0000000000000000, 0.80000000000000004 },
1069 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1070 4.0000000000000000, 0.89999999999999991 },
1072 const double toler022
= 2.5000000000000020e-13;
1074 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
1075 // max(|f - f_GSL|): 0.0000000000000000
1076 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1077 const testcase_hyperg
<double>
1080 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1081 6.0000000000000000, -0.90000000000000002 },
1082 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1083 6.0000000000000000, -0.80000000000000004 },
1084 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1085 6.0000000000000000, -0.69999999999999996 },
1086 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1087 6.0000000000000000, -0.59999999999999998 },
1088 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1089 6.0000000000000000, -0.50000000000000000 },
1090 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1091 6.0000000000000000, -0.40000000000000002 },
1092 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1093 6.0000000000000000, -0.30000000000000004 },
1094 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1095 6.0000000000000000, -0.19999999999999996 },
1096 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1097 6.0000000000000000, -0.099999999999999978 },
1098 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1099 6.0000000000000000, 0.0000000000000000 },
1100 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1101 6.0000000000000000, 0.10000000000000009 },
1102 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1103 6.0000000000000000, 0.19999999999999996 },
1104 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1105 6.0000000000000000, 0.30000000000000004 },
1106 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1107 6.0000000000000000, 0.39999999999999991 },
1108 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1109 6.0000000000000000, 0.50000000000000000 },
1110 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1111 6.0000000000000000, 0.60000000000000009 },
1112 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1113 6.0000000000000000, 0.69999999999999996 },
1114 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1115 6.0000000000000000, 0.80000000000000004 },
1116 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1117 6.0000000000000000, 0.89999999999999991 },
1119 const double toler023
= 2.5000000000000020e-13;
1121 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
1122 // max(|f - f_GSL|): 0.0000000000000000
1123 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1124 const testcase_hyperg
<double>
1127 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1128 8.0000000000000000, -0.90000000000000002 },
1129 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1130 8.0000000000000000, -0.80000000000000004 },
1131 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1132 8.0000000000000000, -0.69999999999999996 },
1133 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1134 8.0000000000000000, -0.59999999999999998 },
1135 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1136 8.0000000000000000, -0.50000000000000000 },
1137 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1138 8.0000000000000000, -0.40000000000000002 },
1139 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1140 8.0000000000000000, -0.30000000000000004 },
1141 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1142 8.0000000000000000, -0.19999999999999996 },
1143 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1144 8.0000000000000000, -0.099999999999999978 },
1145 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1146 8.0000000000000000, 0.0000000000000000 },
1147 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1148 8.0000000000000000, 0.10000000000000009 },
1149 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1150 8.0000000000000000, 0.19999999999999996 },
1151 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1152 8.0000000000000000, 0.30000000000000004 },
1153 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1154 8.0000000000000000, 0.39999999999999991 },
1155 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1156 8.0000000000000000, 0.50000000000000000 },
1157 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1158 8.0000000000000000, 0.60000000000000009 },
1159 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1160 8.0000000000000000, 0.69999999999999996 },
1161 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1162 8.0000000000000000, 0.80000000000000004 },
1163 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1164 8.0000000000000000, 0.89999999999999991 },
1166 const double toler024
= 2.5000000000000020e-13;
1168 // Test data for a=0.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
1169 // max(|f - f_GSL|): 0.0000000000000000
1170 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1171 const testcase_hyperg
<double>
1174 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1175 10.000000000000000, -0.90000000000000002 },
1176 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1177 10.000000000000000, -0.80000000000000004 },
1178 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1179 10.000000000000000, -0.69999999999999996 },
1180 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1181 10.000000000000000, -0.59999999999999998 },
1182 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1183 10.000000000000000, -0.50000000000000000 },
1184 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1185 10.000000000000000, -0.40000000000000002 },
1186 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1187 10.000000000000000, -0.30000000000000004 },
1188 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1189 10.000000000000000, -0.19999999999999996 },
1190 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1191 10.000000000000000, -0.099999999999999978 },
1192 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1193 10.000000000000000, 0.0000000000000000 },
1194 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1195 10.000000000000000, 0.10000000000000009 },
1196 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1197 10.000000000000000, 0.19999999999999996 },
1198 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1199 10.000000000000000, 0.30000000000000004 },
1200 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1201 10.000000000000000, 0.39999999999999991 },
1202 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1203 10.000000000000000, 0.50000000000000000 },
1204 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1205 10.000000000000000, 0.60000000000000009 },
1206 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1207 10.000000000000000, 0.69999999999999996 },
1208 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1209 10.000000000000000, 0.80000000000000004 },
1210 { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
1211 10.000000000000000, 0.89999999999999991 },
1213 const double toler025
= 2.5000000000000020e-13;
1215 // Test data for a=0.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
1216 // max(|f - f_GSL|): 0.0000000000000000
1217 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1218 const testcase_hyperg
<double>
1221 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1222 2.0000000000000000, -0.90000000000000002 },
1223 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1224 2.0000000000000000, -0.80000000000000004 },
1225 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1226 2.0000000000000000, -0.69999999999999996 },
1227 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1228 2.0000000000000000, -0.59999999999999998 },
1229 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1230 2.0000000000000000, -0.50000000000000000 },
1231 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1232 2.0000000000000000, -0.40000000000000002 },
1233 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1234 2.0000000000000000, -0.30000000000000004 },
1235 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1236 2.0000000000000000, -0.19999999999999996 },
1237 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1238 2.0000000000000000, -0.099999999999999978 },
1239 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1240 2.0000000000000000, 0.0000000000000000 },
1241 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1242 2.0000000000000000, 0.10000000000000009 },
1243 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1244 2.0000000000000000, 0.19999999999999996 },
1245 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1246 2.0000000000000000, 0.30000000000000004 },
1247 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1248 2.0000000000000000, 0.39999999999999991 },
1249 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1250 2.0000000000000000, 0.50000000000000000 },
1251 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1252 2.0000000000000000, 0.60000000000000009 },
1253 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1254 2.0000000000000000, 0.69999999999999996 },
1255 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1256 2.0000000000000000, 0.80000000000000004 },
1257 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1258 2.0000000000000000, 0.89999999999999991 },
1260 const double toler026
= 2.5000000000000020e-13;
1262 // Test data for a=0.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
1263 // max(|f - f_GSL|): 0.0000000000000000
1264 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1265 const testcase_hyperg
<double>
1268 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1269 4.0000000000000000, -0.90000000000000002 },
1270 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1271 4.0000000000000000, -0.80000000000000004 },
1272 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1273 4.0000000000000000, -0.69999999999999996 },
1274 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1275 4.0000000000000000, -0.59999999999999998 },
1276 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1277 4.0000000000000000, -0.50000000000000000 },
1278 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1279 4.0000000000000000, -0.40000000000000002 },
1280 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1281 4.0000000000000000, -0.30000000000000004 },
1282 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1283 4.0000000000000000, -0.19999999999999996 },
1284 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1285 4.0000000000000000, -0.099999999999999978 },
1286 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1287 4.0000000000000000, 0.0000000000000000 },
1288 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1289 4.0000000000000000, 0.10000000000000009 },
1290 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1291 4.0000000000000000, 0.19999999999999996 },
1292 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1293 4.0000000000000000, 0.30000000000000004 },
1294 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1295 4.0000000000000000, 0.39999999999999991 },
1296 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1297 4.0000000000000000, 0.50000000000000000 },
1298 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1299 4.0000000000000000, 0.60000000000000009 },
1300 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1301 4.0000000000000000, 0.69999999999999996 },
1302 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1303 4.0000000000000000, 0.80000000000000004 },
1304 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1305 4.0000000000000000, 0.89999999999999991 },
1307 const double toler027
= 2.5000000000000020e-13;
1309 // Test data for a=0.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
1310 // max(|f - f_GSL|): 0.0000000000000000
1311 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1312 const testcase_hyperg
<double>
1315 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1316 6.0000000000000000, -0.90000000000000002 },
1317 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1318 6.0000000000000000, -0.80000000000000004 },
1319 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1320 6.0000000000000000, -0.69999999999999996 },
1321 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1322 6.0000000000000000, -0.59999999999999998 },
1323 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1324 6.0000000000000000, -0.50000000000000000 },
1325 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1326 6.0000000000000000, -0.40000000000000002 },
1327 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1328 6.0000000000000000, -0.30000000000000004 },
1329 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1330 6.0000000000000000, -0.19999999999999996 },
1331 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1332 6.0000000000000000, -0.099999999999999978 },
1333 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1334 6.0000000000000000, 0.0000000000000000 },
1335 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1336 6.0000000000000000, 0.10000000000000009 },
1337 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1338 6.0000000000000000, 0.19999999999999996 },
1339 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1340 6.0000000000000000, 0.30000000000000004 },
1341 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1342 6.0000000000000000, 0.39999999999999991 },
1343 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1344 6.0000000000000000, 0.50000000000000000 },
1345 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1346 6.0000000000000000, 0.60000000000000009 },
1347 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1348 6.0000000000000000, 0.69999999999999996 },
1349 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1350 6.0000000000000000, 0.80000000000000004 },
1351 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1352 6.0000000000000000, 0.89999999999999991 },
1354 const double toler028
= 2.5000000000000020e-13;
1356 // Test data for a=0.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
1357 // max(|f - f_GSL|): 0.0000000000000000
1358 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1359 const testcase_hyperg
<double>
1362 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1363 8.0000000000000000, -0.90000000000000002 },
1364 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1365 8.0000000000000000, -0.80000000000000004 },
1366 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1367 8.0000000000000000, -0.69999999999999996 },
1368 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1369 8.0000000000000000, -0.59999999999999998 },
1370 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1371 8.0000000000000000, -0.50000000000000000 },
1372 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1373 8.0000000000000000, -0.40000000000000002 },
1374 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1375 8.0000000000000000, -0.30000000000000004 },
1376 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1377 8.0000000000000000, -0.19999999999999996 },
1378 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1379 8.0000000000000000, -0.099999999999999978 },
1380 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1381 8.0000000000000000, 0.0000000000000000 },
1382 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1383 8.0000000000000000, 0.10000000000000009 },
1384 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1385 8.0000000000000000, 0.19999999999999996 },
1386 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1387 8.0000000000000000, 0.30000000000000004 },
1388 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1389 8.0000000000000000, 0.39999999999999991 },
1390 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1391 8.0000000000000000, 0.50000000000000000 },
1392 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1393 8.0000000000000000, 0.60000000000000009 },
1394 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1395 8.0000000000000000, 0.69999999999999996 },
1396 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1397 8.0000000000000000, 0.80000000000000004 },
1398 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1399 8.0000000000000000, 0.89999999999999991 },
1401 const double toler029
= 2.5000000000000020e-13;
1403 // Test data for a=0.0000000000000000, b=10.000000000000000, c=10.000000000000000.
1404 // max(|f - f_GSL|): 0.0000000000000000
1405 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1406 const testcase_hyperg
<double>
1409 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1410 10.000000000000000, -0.90000000000000002 },
1411 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1412 10.000000000000000, -0.80000000000000004 },
1413 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1414 10.000000000000000, -0.69999999999999996 },
1415 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1416 10.000000000000000, -0.59999999999999998 },
1417 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1418 10.000000000000000, -0.50000000000000000 },
1419 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1420 10.000000000000000, -0.40000000000000002 },
1421 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1422 10.000000000000000, -0.30000000000000004 },
1423 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1424 10.000000000000000, -0.19999999999999996 },
1425 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1426 10.000000000000000, -0.099999999999999978 },
1427 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1428 10.000000000000000, 0.0000000000000000 },
1429 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1430 10.000000000000000, 0.10000000000000009 },
1431 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1432 10.000000000000000, 0.19999999999999996 },
1433 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1434 10.000000000000000, 0.30000000000000004 },
1435 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1436 10.000000000000000, 0.39999999999999991 },
1437 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1438 10.000000000000000, 0.50000000000000000 },
1439 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1440 10.000000000000000, 0.60000000000000009 },
1441 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1442 10.000000000000000, 0.69999999999999996 },
1443 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1444 10.000000000000000, 0.80000000000000004 },
1445 { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
1446 10.000000000000000, 0.89999999999999991 },
1448 const double toler030
= 2.5000000000000020e-13;
1450 // Test data for a=0.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
1451 // max(|f - f_GSL|): 0.0000000000000000
1452 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1453 const testcase_hyperg
<double>
1456 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1457 2.0000000000000000, -0.90000000000000002 },
1458 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1459 2.0000000000000000, -0.80000000000000004 },
1460 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1461 2.0000000000000000, -0.69999999999999996 },
1462 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1463 2.0000000000000000, -0.59999999999999998 },
1464 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1465 2.0000000000000000, -0.50000000000000000 },
1466 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1467 2.0000000000000000, -0.40000000000000002 },
1468 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1469 2.0000000000000000, -0.30000000000000004 },
1470 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1471 2.0000000000000000, -0.19999999999999996 },
1472 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1473 2.0000000000000000, -0.099999999999999978 },
1474 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1475 2.0000000000000000, 0.0000000000000000 },
1476 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1477 2.0000000000000000, 0.10000000000000009 },
1478 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1479 2.0000000000000000, 0.19999999999999996 },
1480 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1481 2.0000000000000000, 0.30000000000000004 },
1482 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1483 2.0000000000000000, 0.39999999999999991 },
1484 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1485 2.0000000000000000, 0.50000000000000000 },
1486 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1487 2.0000000000000000, 0.60000000000000009 },
1488 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1489 2.0000000000000000, 0.69999999999999996 },
1490 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1491 2.0000000000000000, 0.80000000000000004 },
1492 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1493 2.0000000000000000, 0.89999999999999991 },
1495 const double toler031
= 2.5000000000000020e-13;
1497 // Test data for a=0.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
1498 // max(|f - f_GSL|): 0.0000000000000000
1499 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1500 const testcase_hyperg
<double>
1503 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1504 4.0000000000000000, -0.90000000000000002 },
1505 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1506 4.0000000000000000, -0.80000000000000004 },
1507 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1508 4.0000000000000000, -0.69999999999999996 },
1509 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1510 4.0000000000000000, -0.59999999999999998 },
1511 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1512 4.0000000000000000, -0.50000000000000000 },
1513 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1514 4.0000000000000000, -0.40000000000000002 },
1515 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1516 4.0000000000000000, -0.30000000000000004 },
1517 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1518 4.0000000000000000, -0.19999999999999996 },
1519 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1520 4.0000000000000000, -0.099999999999999978 },
1521 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1522 4.0000000000000000, 0.0000000000000000 },
1523 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1524 4.0000000000000000, 0.10000000000000009 },
1525 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1526 4.0000000000000000, 0.19999999999999996 },
1527 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1528 4.0000000000000000, 0.30000000000000004 },
1529 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1530 4.0000000000000000, 0.39999999999999991 },
1531 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1532 4.0000000000000000, 0.50000000000000000 },
1533 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1534 4.0000000000000000, 0.60000000000000009 },
1535 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1536 4.0000000000000000, 0.69999999999999996 },
1537 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1538 4.0000000000000000, 0.80000000000000004 },
1539 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1540 4.0000000000000000, 0.89999999999999991 },
1542 const double toler032
= 2.5000000000000020e-13;
1544 // Test data for a=0.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
1545 // max(|f - f_GSL|): 0.0000000000000000
1546 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1547 const testcase_hyperg
<double>
1550 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1551 6.0000000000000000, -0.90000000000000002 },
1552 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1553 6.0000000000000000, -0.80000000000000004 },
1554 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1555 6.0000000000000000, -0.69999999999999996 },
1556 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1557 6.0000000000000000, -0.59999999999999998 },
1558 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1559 6.0000000000000000, -0.50000000000000000 },
1560 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1561 6.0000000000000000, -0.40000000000000002 },
1562 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1563 6.0000000000000000, -0.30000000000000004 },
1564 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1565 6.0000000000000000, -0.19999999999999996 },
1566 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1567 6.0000000000000000, -0.099999999999999978 },
1568 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1569 6.0000000000000000, 0.0000000000000000 },
1570 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1571 6.0000000000000000, 0.10000000000000009 },
1572 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1573 6.0000000000000000, 0.19999999999999996 },
1574 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1575 6.0000000000000000, 0.30000000000000004 },
1576 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1577 6.0000000000000000, 0.39999999999999991 },
1578 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1579 6.0000000000000000, 0.50000000000000000 },
1580 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1581 6.0000000000000000, 0.60000000000000009 },
1582 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1583 6.0000000000000000, 0.69999999999999996 },
1584 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1585 6.0000000000000000, 0.80000000000000004 },
1586 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1587 6.0000000000000000, 0.89999999999999991 },
1589 const double toler033
= 2.5000000000000020e-13;
1591 // Test data for a=0.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
1592 // max(|f - f_GSL|): 0.0000000000000000
1593 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1594 const testcase_hyperg
<double>
1597 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1598 8.0000000000000000, -0.90000000000000002 },
1599 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1600 8.0000000000000000, -0.80000000000000004 },
1601 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1602 8.0000000000000000, -0.69999999999999996 },
1603 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1604 8.0000000000000000, -0.59999999999999998 },
1605 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1606 8.0000000000000000, -0.50000000000000000 },
1607 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1608 8.0000000000000000, -0.40000000000000002 },
1609 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1610 8.0000000000000000, -0.30000000000000004 },
1611 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1612 8.0000000000000000, -0.19999999999999996 },
1613 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1614 8.0000000000000000, -0.099999999999999978 },
1615 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1616 8.0000000000000000, 0.0000000000000000 },
1617 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1618 8.0000000000000000, 0.10000000000000009 },
1619 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1620 8.0000000000000000, 0.19999999999999996 },
1621 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1622 8.0000000000000000, 0.30000000000000004 },
1623 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1624 8.0000000000000000, 0.39999999999999991 },
1625 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1626 8.0000000000000000, 0.50000000000000000 },
1627 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1628 8.0000000000000000, 0.60000000000000009 },
1629 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1630 8.0000000000000000, 0.69999999999999996 },
1631 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1632 8.0000000000000000, 0.80000000000000004 },
1633 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1634 8.0000000000000000, 0.89999999999999991 },
1636 const double toler034
= 2.5000000000000020e-13;
1638 // Test data for a=0.0000000000000000, b=20.000000000000000, c=10.000000000000000.
1639 // max(|f - f_GSL|): 0.0000000000000000
1640 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1641 const testcase_hyperg
<double>
1644 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1645 10.000000000000000, -0.90000000000000002 },
1646 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1647 10.000000000000000, -0.80000000000000004 },
1648 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1649 10.000000000000000, -0.69999999999999996 },
1650 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1651 10.000000000000000, -0.59999999999999998 },
1652 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1653 10.000000000000000, -0.50000000000000000 },
1654 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1655 10.000000000000000, -0.40000000000000002 },
1656 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1657 10.000000000000000, -0.30000000000000004 },
1658 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1659 10.000000000000000, -0.19999999999999996 },
1660 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1661 10.000000000000000, -0.099999999999999978 },
1662 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1663 10.000000000000000, 0.0000000000000000 },
1664 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1665 10.000000000000000, 0.10000000000000009 },
1666 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1667 10.000000000000000, 0.19999999999999996 },
1668 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1669 10.000000000000000, 0.30000000000000004 },
1670 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1671 10.000000000000000, 0.39999999999999991 },
1672 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1673 10.000000000000000, 0.50000000000000000 },
1674 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1675 10.000000000000000, 0.60000000000000009 },
1676 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1677 10.000000000000000, 0.69999999999999996 },
1678 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1679 10.000000000000000, 0.80000000000000004 },
1680 { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
1681 10.000000000000000, 0.89999999999999991 },
1683 const double toler035
= 2.5000000000000020e-13;
1685 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=2.0000000000000000.
1686 // max(|f - f_GSL|): 0.0000000000000000
1687 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1688 const testcase_hyperg
<double>
1691 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1692 2.0000000000000000, -0.90000000000000002 },
1693 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1694 2.0000000000000000, -0.80000000000000004 },
1695 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1696 2.0000000000000000, -0.69999999999999996 },
1697 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1698 2.0000000000000000, -0.59999999999999998 },
1699 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1700 2.0000000000000000, -0.50000000000000000 },
1701 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1702 2.0000000000000000, -0.40000000000000002 },
1703 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1704 2.0000000000000000, -0.30000000000000004 },
1705 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1706 2.0000000000000000, -0.19999999999999996 },
1707 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1708 2.0000000000000000, -0.099999999999999978 },
1709 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1710 2.0000000000000000, 0.0000000000000000 },
1711 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1712 2.0000000000000000, 0.10000000000000009 },
1713 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1714 2.0000000000000000, 0.19999999999999996 },
1715 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1716 2.0000000000000000, 0.30000000000000004 },
1717 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1718 2.0000000000000000, 0.39999999999999991 },
1719 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1720 2.0000000000000000, 0.50000000000000000 },
1721 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1722 2.0000000000000000, 0.60000000000000009 },
1723 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1724 2.0000000000000000, 0.69999999999999996 },
1725 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1726 2.0000000000000000, 0.80000000000000004 },
1727 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1728 2.0000000000000000, 0.89999999999999991 },
1730 const double toler036
= 2.5000000000000020e-13;
1732 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=4.0000000000000000.
1733 // max(|f - f_GSL|): 0.0000000000000000
1734 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1735 const testcase_hyperg
<double>
1738 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1739 4.0000000000000000, -0.90000000000000002 },
1740 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1741 4.0000000000000000, -0.80000000000000004 },
1742 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1743 4.0000000000000000, -0.69999999999999996 },
1744 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1745 4.0000000000000000, -0.59999999999999998 },
1746 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1747 4.0000000000000000, -0.50000000000000000 },
1748 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1749 4.0000000000000000, -0.40000000000000002 },
1750 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1751 4.0000000000000000, -0.30000000000000004 },
1752 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1753 4.0000000000000000, -0.19999999999999996 },
1754 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1755 4.0000000000000000, -0.099999999999999978 },
1756 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1757 4.0000000000000000, 0.0000000000000000 },
1758 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1759 4.0000000000000000, 0.10000000000000009 },
1760 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1761 4.0000000000000000, 0.19999999999999996 },
1762 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1763 4.0000000000000000, 0.30000000000000004 },
1764 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1765 4.0000000000000000, 0.39999999999999991 },
1766 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1767 4.0000000000000000, 0.50000000000000000 },
1768 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1769 4.0000000000000000, 0.60000000000000009 },
1770 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1771 4.0000000000000000, 0.69999999999999996 },
1772 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1773 4.0000000000000000, 0.80000000000000004 },
1774 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1775 4.0000000000000000, 0.89999999999999991 },
1777 const double toler037
= 2.5000000000000020e-13;
1779 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=6.0000000000000000.
1780 // max(|f - f_GSL|): 0.0000000000000000
1781 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1782 const testcase_hyperg
<double>
1785 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1786 6.0000000000000000, -0.90000000000000002 },
1787 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1788 6.0000000000000000, -0.80000000000000004 },
1789 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1790 6.0000000000000000, -0.69999999999999996 },
1791 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1792 6.0000000000000000, -0.59999999999999998 },
1793 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1794 6.0000000000000000, -0.50000000000000000 },
1795 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1796 6.0000000000000000, -0.40000000000000002 },
1797 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1798 6.0000000000000000, -0.30000000000000004 },
1799 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1800 6.0000000000000000, -0.19999999999999996 },
1801 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1802 6.0000000000000000, -0.099999999999999978 },
1803 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1804 6.0000000000000000, 0.0000000000000000 },
1805 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1806 6.0000000000000000, 0.10000000000000009 },
1807 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1808 6.0000000000000000, 0.19999999999999996 },
1809 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1810 6.0000000000000000, 0.30000000000000004 },
1811 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1812 6.0000000000000000, 0.39999999999999991 },
1813 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1814 6.0000000000000000, 0.50000000000000000 },
1815 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1816 6.0000000000000000, 0.60000000000000009 },
1817 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1818 6.0000000000000000, 0.69999999999999996 },
1819 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1820 6.0000000000000000, 0.80000000000000004 },
1821 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1822 6.0000000000000000, 0.89999999999999991 },
1824 const double toler038
= 2.5000000000000020e-13;
1826 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=8.0000000000000000.
1827 // max(|f - f_GSL|): 0.0000000000000000
1828 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1829 const testcase_hyperg
<double>
1832 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1833 8.0000000000000000, -0.90000000000000002 },
1834 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1835 8.0000000000000000, -0.80000000000000004 },
1836 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1837 8.0000000000000000, -0.69999999999999996 },
1838 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1839 8.0000000000000000, -0.59999999999999998 },
1840 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1841 8.0000000000000000, -0.50000000000000000 },
1842 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1843 8.0000000000000000, -0.40000000000000002 },
1844 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1845 8.0000000000000000, -0.30000000000000004 },
1846 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1847 8.0000000000000000, -0.19999999999999996 },
1848 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1849 8.0000000000000000, -0.099999999999999978 },
1850 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1851 8.0000000000000000, 0.0000000000000000 },
1852 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1853 8.0000000000000000, 0.10000000000000009 },
1854 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1855 8.0000000000000000, 0.19999999999999996 },
1856 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1857 8.0000000000000000, 0.30000000000000004 },
1858 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1859 8.0000000000000000, 0.39999999999999991 },
1860 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1861 8.0000000000000000, 0.50000000000000000 },
1862 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1863 8.0000000000000000, 0.60000000000000009 },
1864 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1865 8.0000000000000000, 0.69999999999999996 },
1866 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1867 8.0000000000000000, 0.80000000000000004 },
1868 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1869 8.0000000000000000, 0.89999999999999991 },
1871 const double toler039
= 2.5000000000000020e-13;
1873 // Test data for a=0.50000000000000000, b=0.0000000000000000, c=10.000000000000000.
1874 // max(|f - f_GSL|): 0.0000000000000000
1875 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1876 const testcase_hyperg
<double>
1879 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1880 10.000000000000000, -0.90000000000000002 },
1881 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1882 10.000000000000000, -0.80000000000000004 },
1883 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1884 10.000000000000000, -0.69999999999999996 },
1885 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1886 10.000000000000000, -0.59999999999999998 },
1887 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1888 10.000000000000000, -0.50000000000000000 },
1889 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1890 10.000000000000000, -0.40000000000000002 },
1891 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1892 10.000000000000000, -0.30000000000000004 },
1893 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1894 10.000000000000000, -0.19999999999999996 },
1895 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1896 10.000000000000000, -0.099999999999999978 },
1897 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1898 10.000000000000000, 0.0000000000000000 },
1899 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1900 10.000000000000000, 0.10000000000000009 },
1901 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1902 10.000000000000000, 0.19999999999999996 },
1903 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1904 10.000000000000000, 0.30000000000000004 },
1905 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1906 10.000000000000000, 0.39999999999999991 },
1907 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1908 10.000000000000000, 0.50000000000000000 },
1909 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1910 10.000000000000000, 0.60000000000000009 },
1911 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1912 10.000000000000000, 0.69999999999999996 },
1913 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1914 10.000000000000000, 0.80000000000000004 },
1915 { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
1916 10.000000000000000, 0.89999999999999991 },
1918 const double toler040
= 2.5000000000000020e-13;
1920 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=2.0000000000000000.
1921 // max(|f - f_GSL|): 2.2204460492503131e-16
1922 // max(|f - f_GSL| / |f_GSL|): 2.2734148235941270e-16
1923 const testcase_hyperg
<double>
1926 { 0.91383715388743736, 0.50000000000000000, 0.50000000000000000,
1927 2.0000000000000000, -0.90000000000000002 },
1928 { 0.92151232618202372, 0.50000000000000000, 0.50000000000000000,
1929 2.0000000000000000, -0.80000000000000004 },
1930 { 0.92955086110354845, 0.50000000000000000, 0.50000000000000000,
1931 2.0000000000000000, -0.69999999999999996 },
1932 { 0.93798900119104855, 0.50000000000000000, 0.50000000000000000,
1933 2.0000000000000000, -0.59999999999999998 },
1934 { 0.94686887307107392, 0.50000000000000000, 0.50000000000000000,
1935 2.0000000000000000, -0.50000000000000000 },
1936 { 0.95623987262143295, 0.50000000000000000, 0.50000000000000000,
1937 2.0000000000000000, -0.40000000000000002 },
1938 { 0.96616049387450131, 0.50000000000000000, 0.50000000000000000,
1939 2.0000000000000000, -0.30000000000000004 },
1940 { 0.97670078782187519, 0.50000000000000000, 0.50000000000000000,
1941 2.0000000000000000, -0.19999999999999996 },
1942 { 0.98794573712298384, 0.50000000000000000, 0.50000000000000000,
1943 2.0000000000000000, -0.099999999999999978 },
1944 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
1945 2.0000000000000000, 0.0000000000000000 },
1946 { 1.0129947682256604, 0.50000000000000000, 0.50000000000000000,
1947 2.0000000000000000, 0.10000000000000009 },
1948 { 1.0270980168168973, 0.50000000000000000, 0.50000000000000000,
1949 2.0000000000000000, 0.19999999999999996 },
1950 { 1.0425304520063581, 0.50000000000000000, 0.50000000000000000,
1951 2.0000000000000000, 0.30000000000000004 },
1952 { 1.0595915916161471, 0.50000000000000000, 0.50000000000000000,
1953 2.0000000000000000, 0.39999999999999991 },
1954 { 1.0787052023767585, 0.50000000000000000, 0.50000000000000000,
1955 2.0000000000000000, 0.50000000000000000 },
1956 { 1.1005053642285867, 0.50000000000000000, 0.50000000000000000,
1957 2.0000000000000000, 0.60000000000000009 },
1958 { 1.1260196351148746, 0.50000000000000000, 0.50000000000000000,
1959 2.0000000000000000, 0.69999999999999996 },
1960 { 1.1571341977338991, 0.50000000000000000, 0.50000000000000000,
1961 2.0000000000000000, 0.80000000000000004 },
1962 { 1.1982111053717450, 0.50000000000000000, 0.50000000000000000,
1963 2.0000000000000000, 0.89999999999999991 },
1965 const double toler041
= 2.5000000000000020e-13;
1967 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=4.0000000000000000.
1968 // max(|f - f_GSL|): 2.2204460492503131e-16
1969 // max(|f - f_GSL| / |f_GSL|): 2.2341054918357306e-16
1970 const testcase_hyperg
<double>
1973 { 0.95255425675562699, 0.50000000000000000, 0.50000000000000000,
1974 4.0000000000000000, -0.90000000000000002 },
1975 { 0.95712841850078267, 0.50000000000000000, 0.50000000000000000,
1976 4.0000000000000000, -0.80000000000000004 },
1977 { 0.96184734120034554, 0.50000000000000000, 0.50000000000000000,
1978 4.0000000000000000, -0.69999999999999996 },
1979 { 0.96672141255196176, 0.50000000000000000, 0.50000000000000000,
1980 4.0000000000000000, -0.59999999999999998 },
1981 { 0.97176228710138646, 0.50000000000000000, 0.50000000000000000,
1982 4.0000000000000000, -0.50000000000000000 },
1983 { 0.97698311668286320, 0.50000000000000000, 0.50000000000000000,
1984 4.0000000000000000, -0.40000000000000002 },
1985 { 0.98239883902556036, 0.50000000000000000, 0.50000000000000000,
1986 4.0000000000000000, -0.30000000000000004 },
1987 { 0.98802654401961032, 0.50000000000000000, 0.50000000000000000,
1988 4.0000000000000000, -0.19999999999999996 },
1989 { 0.99388594556732701, 0.50000000000000000, 0.50000000000000000,
1990 4.0000000000000000, -0.099999999999999978 },
1991 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
1992 4.0000000000000000, 0.0000000000000000 },
1993 { 1.0063957328951061, 0.50000000000000000, 0.50000000000000000,
1994 4.0000000000000000, 0.10000000000000009 },
1995 { 1.0131053706824598, 0.50000000000000000, 0.50000000000000000,
1996 4.0000000000000000, 0.19999999999999996 },
1997 { 1.0201679332118803, 0.50000000000000000, 0.50000000000000000,
1998 4.0000000000000000, 0.30000000000000004 },
1999 { 1.0276315524377497, 0.50000000000000000, 0.50000000000000000,
2000 4.0000000000000000, 0.39999999999999991 },
2001 { 1.0355569942816882, 0.50000000000000000, 0.50000000000000000,
2002 4.0000000000000000, 0.50000000000000000 },
2003 { 1.0440233080381554, 0.50000000000000000, 0.50000000000000000,
2004 4.0000000000000000, 0.60000000000000009 },
2005 { 1.0531375808028993, 0.50000000000000000, 0.50000000000000000,
2006 4.0000000000000000, 0.69999999999999996 },
2007 { 1.0630536689840200, 0.50000000000000000, 0.50000000000000000,
2008 4.0000000000000000, 0.80000000000000004 },
2009 { 1.0740149570414563, 0.50000000000000000, 0.50000000000000000,
2010 4.0000000000000000, 0.89999999999999991 },
2012 const double toler042
= 2.5000000000000020e-13;
2014 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=6.0000000000000000.
2015 // max(|f - f_GSL|): 5.5511151231257827e-16
2016 // max(|f - f_GSL| / |f_GSL|): 5.5963253065363064e-16
2017 const testcase_hyperg
<double>
2020 { 0.96694084713323880, 0.50000000000000000, 0.50000000000000000,
2021 6.0000000000000000, -0.90000000000000002 },
2022 { 0.97024454918852632, 0.50000000000000000, 0.50000000000000000,
2023 6.0000000000000000, -0.80000000000000004 },
2024 { 0.97362815600391439, 0.50000000000000000, 0.50000000000000000,
2025 6.0000000000000000, -0.69999999999999996 },
2026 { 0.97709622064205104, 0.50000000000000000, 0.50000000000000000,
2027 6.0000000000000000, -0.59999999999999998 },
2028 { 0.98065374770570635, 0.50000000000000000, 0.50000000000000000,
2029 6.0000000000000000, -0.50000000000000000 },
2030 { 0.98430626119885511, 0.50000000000000000, 0.50000000000000000,
2031 6.0000000000000000, -0.40000000000000002 },
2032 { 0.98805988669621048, 0.50000000000000000, 0.50000000000000000,
2033 6.0000000000000000, -0.30000000000000004 },
2034 { 0.99192145185739655, 0.50000000000000000, 0.50000000000000000,
2035 6.0000000000000000, -0.19999999999999996 },
2036 { 0.99589861079880937, 0.50000000000000000, 0.50000000000000000,
2037 6.0000000000000000, -0.099999999999999978 },
2038 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2039 6.0000000000000000, 0.0000000000000000 },
2040 { 1.0042354366729904, 0.50000000000000000, 0.50000000000000000,
2041 6.0000000000000000, 0.10000000000000009 },
2042 { 1.0086161755545404, 0.50000000000000000, 0.50000000000000000,
2043 6.0000000000000000, 0.19999999999999996 },
2044 { 1.0131552481403503, 0.50000000000000000, 0.50000000000000000,
2045 6.0000000000000000, 0.30000000000000004 },
2046 { 1.0178679218284707, 0.50000000000000000, 0.50000000000000000,
2047 6.0000000000000000, 0.39999999999999991 },
2048 { 1.0227723400312978, 0.50000000000000000, 0.50000000000000000,
2049 6.0000000000000000, 0.50000000000000000 },
2050 { 1.0278904483717863, 0.50000000000000000, 0.50000000000000000,
2051 6.0000000000000000, 0.60000000000000009 },
2052 { 1.0332494012993472, 0.50000000000000000, 0.50000000000000000,
2053 6.0000000000000000, 0.69999999999999996 },
2054 { 1.0388838453357794, 0.50000000000000000, 0.50000000000000000,
2055 6.0000000000000000, 0.80000000000000004 },
2056 { 1.0448400142331342, 0.50000000000000000, 0.50000000000000000,
2057 6.0000000000000000, 0.89999999999999991 },
2059 const double toler043
= 2.5000000000000020e-13;
2061 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=8.0000000000000000.
2062 // max(|f - f_GSL|): 3.3306690738754696e-16
2063 // max(|f - f_GSL| / |f_GSL|): 3.3511105824376917e-16
2064 const testcase_hyperg
<double>
2067 { 0.97456073259047449, 0.50000000000000000, 0.50000000000000000,
2068 8.0000000000000000, -0.90000000000000002 },
2069 { 0.97715689327833399, 0.50000000000000000, 0.50000000000000000,
2070 8.0000000000000000, -0.80000000000000004 },
2071 { 0.97980416868943110, 0.50000000000000000, 0.50000000000000000,
2072 8.0000000000000000, -0.69999999999999996 },
2073 { 0.98250498942832487, 0.50000000000000000, 0.50000000000000000,
2074 8.0000000000000000, -0.59999999999999998 },
2075 { 0.98526199049760810, 0.50000000000000000, 0.50000000000000000,
2076 8.0000000000000000, -0.50000000000000000 },
2077 { 0.98807803762902791, 0.50000000000000000, 0.50000000000000000,
2078 8.0000000000000000, -0.40000000000000002 },
2079 { 0.99095625840920321, 0.50000000000000000, 0.50000000000000000,
2080 8.0000000000000000, -0.30000000000000004 },
2081 { 0.99390007937387959, 0.50000000000000000, 0.50000000000000000,
2082 8.0000000000000000, -0.19999999999999996 },
2083 { 0.99691327061866730, 0.50000000000000000, 0.50000000000000000,
2084 8.0000000000000000, -0.099999999999999978 },
2085 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2086 8.0000000000000000, 0.0000000000000000 },
2087 { 1.0031648997547440, 0.50000000000000000, 0.50000000000000000,
2088 8.0000000000000000, 0.10000000000000009 },
2089 { 1.0064131494767281, 0.50000000000000000, 0.50000000000000000,
2090 8.0000000000000000, 0.19999999999999996 },
2091 { 1.0097505810668461, 0.50000000000000000, 0.50000000000000000,
2092 8.0000000000000000, 0.30000000000000004 },
2093 { 1.0131838138968663, 0.50000000000000000, 0.50000000000000000,
2094 8.0000000000000000, 0.39999999999999991 },
2095 { 1.0167204326938339, 0.50000000000000000, 0.50000000000000000,
2096 8.0000000000000000, 0.50000000000000000 },
2097 { 1.0203692279382193, 0.50000000000000000, 0.50000000000000000,
2098 8.0000000000000000, 0.60000000000000009 },
2099 { 1.0241405318057402, 0.50000000000000000, 0.50000000000000000,
2100 8.0000000000000000, 0.69999999999999996 },
2101 { 1.0280467087844301, 0.50000000000000000, 0.50000000000000000,
2102 8.0000000000000000, 0.80000000000000004 },
2103 { 1.0321029179180026, 0.50000000000000000, 0.50000000000000000,
2104 8.0000000000000000, 0.89999999999999991 },
2106 const double toler044
= 2.5000000000000020e-13;
2108 // Test data for a=0.50000000000000000, b=0.50000000000000000, c=10.000000000000000.
2109 // max(|f - f_GSL|): 2.2204460492503131e-16
2110 // max(|f - f_GSL| / |f_GSL|): 2.1915128876304698e-16
2111 const testcase_hyperg
<double>
2114 { 0.97930223035212138, 0.50000000000000000, 0.50000000000000000,
2115 10.000000000000000, -0.90000000000000002 },
2116 { 0.98144406855076427, 0.50000000000000000, 0.50000000000000000,
2117 10.000000000000000, -0.80000000000000004 },
2118 { 0.98362155940297280, 0.50000000000000000, 0.50000000000000000,
2119 10.000000000000000, -0.69999999999999996 },
2120 { 0.98583616201745783, 0.50000000000000000, 0.50000000000000000,
2121 10.000000000000000, -0.59999999999999998 },
2122 { 0.98808944235385032, 0.50000000000000000, 0.50000000000000000,
2123 10.000000000000000, -0.50000000000000000 },
2124 { 0.99038308530635433, 0.50000000000000000, 0.50000000000000000,
2125 10.000000000000000, -0.40000000000000002 },
2126 { 0.99271890872975710, 0.50000000000000000, 0.50000000000000000,
2127 10.000000000000000, -0.30000000000000004 },
2128 { 0.99509887982916734, 0.50000000000000000, 0.50000000000000000,
2129 10.000000000000000, -0.19999999999999996 },
2130 { 0.99752513445413604, 0.50000000000000000, 0.50000000000000000,
2131 10.000000000000000, -0.099999999999999978 },
2132 { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
2133 10.000000000000000, 0.0000000000000000 },
2134 { 1.0025260228440118, 0.50000000000000000, 0.50000000000000000,
2135 10.000000000000000, 0.10000000000000009 },
2136 { 1.0051060015613384, 0.50000000000000000, 0.50000000000000000,
2137 10.000000000000000, 0.19999999999999996 },
2138 { 1.0077430276253163, 0.50000000000000000, 0.50000000000000000,
2139 10.000000000000000, 0.30000000000000004 },
2140 { 1.0104405359789990, 0.50000000000000000, 0.50000000000000000,
2141 10.000000000000000, 0.39999999999999991 },
2142 { 1.0132023689128868, 0.50000000000000000, 0.50000000000000000,
2143 10.000000000000000, 0.50000000000000000 },
2144 { 1.0160328583559475, 0.50000000000000000, 0.50000000000000000,
2145 10.000000000000000, 0.60000000000000009 },
2146 { 1.0189369344885053, 0.50000000000000000, 0.50000000000000000,
2147 10.000000000000000, 0.69999999999999996 },
2148 { 1.0219202735809589, 0.50000000000000000, 0.50000000000000000,
2149 10.000000000000000, 0.80000000000000004 },
2150 { 1.0249895076611382, 0.50000000000000000, 0.50000000000000000,
2151 10.000000000000000, 0.89999999999999991 },
2153 const double toler045
= 2.5000000000000020e-13;
2155 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=2.0000000000000000.
2156 // max(|f - f_GSL|): 6.6613381477509392e-16
2157 // max(|f - f_GSL| / |f_GSL|): 4.3839191144484910e-16
2158 const testcase_hyperg
<double>
2161 { 0.84089972268671531, 0.50000000000000000, 1.0000000000000000,
2162 2.0000000000000000, -0.90000000000000002 },
2163 { 0.85410196624968460, 0.50000000000000000, 1.0000000000000000,
2164 2.0000000000000000, -0.80000000000000004 },
2165 { 0.86811566011579955, 0.50000000000000000, 1.0000000000000000,
2166 2.0000000000000000, -0.69999999999999996 },
2167 { 0.88303688022450522, 0.50000000000000000, 1.0000000000000000,
2168 2.0000000000000000, -0.59999999999999998 },
2169 { 0.89897948556635621, 0.50000000000000000, 1.0000000000000000,
2170 2.0000000000000000, -0.50000000000000000 },
2171 { 0.91607978309961580, 0.50000000000000000, 1.0000000000000000,
2172 2.0000000000000000, -0.40000000000000002 },
2173 { 0.93450283399425305, 0.50000000000000000, 1.0000000000000000,
2174 2.0000000000000000, -0.30000000000000004 },
2175 { 0.95445115010332193, 0.50000000000000000, 1.0000000000000000,
2176 2.0000000000000000, -0.19999999999999996 },
2177 { 0.97617696340303095, 0.50000000000000000, 1.0000000000000000,
2178 2.0000000000000000, -0.099999999999999978 },
2179 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2180 2.0000000000000000, 0.0000000000000000 },
2181 { 1.0263340389897240, 0.50000000000000000, 1.0000000000000000,
2182 2.0000000000000000, 0.10000000000000009 },
2183 { 1.0557280900008410, 0.50000000000000000, 1.0000000000000000,
2184 2.0000000000000000, 0.19999999999999996 },
2185 { 1.0889331564394962, 0.50000000000000000, 1.0000000000000000,
2186 2.0000000000000000, 0.30000000000000004 },
2187 { 1.1270166537925830, 0.50000000000000000, 1.0000000000000000,
2188 2.0000000000000000, 0.39999999999999991 },
2189 { 1.1715728752538095, 0.50000000000000000, 1.0000000000000000,
2190 2.0000000000000000, 0.50000000000000000 },
2191 { 1.2251482265544145, 0.50000000000000000, 1.0000000000000000,
2192 2.0000000000000000, 0.60000000000000009 },
2193 { 1.2922212642709541, 0.50000000000000000, 1.0000000000000000,
2194 2.0000000000000000, 0.69999999999999996 },
2195 { 1.3819660112501042, 0.50000000000000000, 1.0000000000000000,
2196 2.0000000000000000, 0.80000000000000004 },
2197 { 1.5194938532959119, 0.50000000000000000, 1.0000000000000000,
2198 2.0000000000000000, 0.89999999999999991 },
2200 const double toler046
= 2.5000000000000020e-13;
2202 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=4.0000000000000000.
2203 // max(|f - f_GSL|): 2.2204460492503131e-16
2204 // max(|f - f_GSL| / |f_GSL|): 2.1628301908162427e-16
2205 const testcase_hyperg
<double>
2208 { 0.90992197313391454, 0.50000000000000000, 1.0000000000000000,
2209 4.0000000000000000, -0.90000000000000002 },
2210 { 0.91822592662244484, 0.50000000000000000, 1.0000000000000000,
2211 4.0000000000000000, -0.80000000000000004 },
2212 { 0.92687104566419554, 0.50000000000000000, 1.0000000000000000,
2213 4.0000000000000000, -0.69999999999999996 },
2214 { 0.93588628166548848, 0.50000000000000000, 1.0000000000000000,
2215 4.0000000000000000, -0.59999999999999998 },
2216 { 0.94530459215552909, 0.50000000000000000, 1.0000000000000000,
2217 4.0000000000000000, -0.50000000000000000 },
2218 { 0.95516374875247456, 0.50000000000000000, 1.0000000000000000,
2219 4.0000000000000000, -0.40000000000000002 },
2220 { 0.96550736800511849, 0.50000000000000000, 1.0000000000000000,
2221 4.0000000000000000, -0.30000000000000004 },
2222 { 0.97638624595136270, 0.50000000000000000, 1.0000000000000000,
2223 4.0000000000000000, -0.19999999999999996 },
2224 { 0.98786011482678993, 0.50000000000000000, 1.0000000000000000,
2225 4.0000000000000000, -0.099999999999999978 },
2226 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2227 4.0000000000000000, 0.0000000000000000 },
2228 { 1.0128914530682316, 0.50000000000000000, 1.0000000000000000,
2229 4.0000000000000000, 0.10000000000000009 },
2230 { 1.0266391040215350, 0.50000000000000000, 1.0000000000000000,
2231 4.0000000000000000, 0.19999999999999996 },
2232 { 1.0413732738729464, 0.50000000000000000, 1.0000000000000000,
2233 4.0000000000000000, 0.30000000000000004 },
2234 { 1.0572599536532992, 0.50000000000000000, 1.0000000000000000,
2235 4.0000000000000000, 0.39999999999999991 },
2236 { 1.0745166004060953, 0.50000000000000000, 1.0000000000000000,
2237 4.0000000000000000, 0.50000000000000000 },
2238 { 1.0934387388831386, 0.50000000000000000, 1.0000000000000000,
2239 4.0000000000000000, 0.60000000000000009 },
2240 { 1.1144486980714641, 0.50000000000000000, 1.0000000000000000,
2241 4.0000000000000000, 0.69999999999999996 },
2242 { 1.1381966011250106, 0.50000000000000000, 1.0000000000000000,
2243 4.0000000000000000, 0.80000000000000004 },
2244 { 1.1658171625342397, 0.50000000000000000, 1.0000000000000000,
2245 4.0000000000000000, 0.89999999999999991 },
2247 const double toler047
= 2.5000000000000020e-13;
2249 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=6.0000000000000000.
2250 // max(|f - f_GSL|): 4.4408920985006262e-16
2251 // max(|f - f_GSL| / |f_GSL|): 4.5130734546221216e-16
2252 const testcase_hyperg
<double>
2255 { 0.93641908369732896, 0.50000000000000000, 1.0000000000000000,
2256 6.0000000000000000, -0.90000000000000002 },
2257 { 0.94256349654111271, 0.50000000000000000, 1.0000000000000000,
2258 6.0000000000000000, -0.80000000000000004 },
2259 { 0.94890138508461319, 0.50000000000000000, 1.0000000000000000,
2260 6.0000000000000000, -0.69999999999999996 },
2261 { 0.95544578858430029, 0.50000000000000000, 1.0000000000000000,
2262 6.0000000000000000, -0.59999999999999998 },
2263 { 0.96221121193620762, 0.50000000000000000, 1.0000000000000000,
2264 6.0000000000000000, -0.50000000000000000 },
2265 { 0.96921386948293542, 0.50000000000000000, 1.0000000000000000,
2266 6.0000000000000000, -0.40000000000000002 },
2267 { 0.97647198488394704, 0.50000000000000000, 1.0000000000000000,
2268 6.0000000000000000, -0.30000000000000004 },
2269 { 0.98400616412578656, 0.50000000000000000, 1.0000000000000000,
2270 6.0000000000000000, -0.19999999999999996 },
2271 { 0.99183986544963032, 0.50000000000000000, 1.0000000000000000,
2272 6.0000000000000000, -0.099999999999999978 },
2273 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2274 6.0000000000000000, 0.0000000000000000 },
2275 { 1.0085177124149158, 0.50000000000000000, 1.0000000000000000,
2276 6.0000000000000000, 0.10000000000000009 },
2277 { 1.0174294150407122, 0.50000000000000000, 1.0000000000000000,
2278 6.0000000000000000, 0.19999999999999996 },
2279 { 1.0267781897388850, 0.50000000000000000, 1.0000000000000000,
2280 6.0000000000000000, 0.30000000000000004 },
2281 { 1.0366157405967285, 0.50000000000000000, 1.0000000000000000,
2282 6.0000000000000000, 0.39999999999999991 },
2283 { 1.0470052068648839, 0.50000000000000000, 1.0000000000000000,
2284 6.0000000000000000, 0.50000000000000000 },
2285 { 1.0580253905513313, 0.50000000000000000, 1.0000000000000000,
2286 6.0000000000000000, 0.60000000000000009 },
2287 { 1.0697774741209765, 0.50000000000000000, 1.0000000000000000,
2288 6.0000000000000000, 0.69999999999999996 },
2289 { 1.0823965556448414, 0.50000000000000000, 1.0000000000000000,
2290 6.0000000000000000, 0.80000000000000004 },
2291 { 1.0960739512057103, 0.50000000000000000, 1.0000000000000000,
2292 6.0000000000000000, 0.89999999999999991 },
2294 const double toler048
= 2.5000000000000020e-13;
2296 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=8.0000000000000000.
2297 // max(|f - f_GSL|): 4.4408920985006262e-16
2298 // max(|f - f_GSL| / |f_GSL|): 4.4952983921284566e-16
2299 const testcase_hyperg
<double>
2302 { 0.95069883346936235, 0.50000000000000000, 1.0000000000000000,
2303 8.0000000000000000, -0.90000000000000002 },
2304 { 0.95559618047704131, 0.50000000000000000, 1.0000000000000000,
2305 8.0000000000000000, -0.80000000000000004 },
2306 { 0.96061938755931664, 0.50000000000000000, 1.0000000000000000,
2307 8.0000000000000000, -0.69999999999999996 },
2308 { 0.96577553912851333, 0.50000000000000000, 1.0000000000000000,
2309 8.0000000000000000, -0.59999999999999998 },
2310 { 0.97107239473807716, 0.50000000000000000, 1.0000000000000000,
2311 8.0000000000000000, -0.50000000000000000 },
2312 { 0.97651848528588481, 0.50000000000000000, 1.0000000000000000,
2313 8.0000000000000000, -0.40000000000000002 },
2314 { 0.98212322830227150, 0.50000000000000000, 1.0000000000000000,
2315 8.0000000000000000, -0.30000000000000004 },
2316 { 0.98789706736195781, 0.50000000000000000, 1.0000000000000000,
2317 8.0000000000000000, -0.19999999999999996 },
2318 { 0.99385164237825074, 0.50000000000000000, 1.0000000000000000,
2319 8.0000000000000000, -0.099999999999999978 },
2320 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2321 8.0000000000000000, 0.0000000000000000 },
2322 { 1.0063568569383123, 0.50000000000000000, 1.0000000000000000,
2323 8.0000000000000000, 0.10000000000000009 },
2324 { 1.0129389344715818, 0.50000000000000000, 1.0000000000000000,
2325 8.0000000000000000, 0.19999999999999996 },
2326 { 1.0197653907773940, 0.50000000000000000, 1.0000000000000000,
2327 8.0000000000000000, 0.30000000000000004 },
2328 { 1.0268583912277143, 0.50000000000000000, 1.0000000000000000,
2329 8.0000000000000000, 0.39999999999999991 },
2330 { 1.0342438793937092, 0.50000000000000000, 1.0000000000000000,
2331 8.0000000000000000, 0.50000000000000000 },
2332 { 1.0419526514766855, 0.50000000000000000, 1.0000000000000000,
2333 8.0000000000000000, 0.60000000000000009 },
2334 { 1.0500219124976327, 0.50000000000000000, 1.0000000000000000,
2335 8.0000000000000000, 0.69999999999999996 },
2336 { 1.0584976491907043, 0.50000000000000000, 1.0000000000000000,
2337 8.0000000000000000, 0.80000000000000004 },
2338 { 1.0674385240268101, 0.50000000000000000, 1.0000000000000000,
2339 8.0000000000000000, 0.89999999999999991 },
2341 const double toler049
= 2.5000000000000020e-13;
2343 // Test data for a=0.50000000000000000, b=1.0000000000000000, c=10.000000000000000.
2344 // max(|f - f_GSL|): 2.2204460492503131e-16
2345 // max(|f - f_GSL| / |f_GSL|): 2.2314542629443562e-16
2346 const testcase_hyperg
<double>
2349 { 0.95968319138913905, 0.50000000000000000, 1.0000000000000000,
2350 10.000000000000000, -0.90000000000000002 },
2351 { 0.96376169072755802, 0.50000000000000000, 1.0000000000000000,
2352 10.000000000000000, -0.80000000000000004 },
2353 { 0.96792900082729372, 0.50000000000000000, 1.0000000000000000,
2354 10.000000000000000, -0.69999999999999996 },
2355 { 0.97218942798115737, 0.50000000000000000, 1.0000000000000000,
2356 10.000000000000000, -0.59999999999999998 },
2357 { 0.97654763592586835, 0.50000000000000000, 1.0000000000000000,
2358 10.000000000000000, -0.50000000000000000 },
2359 { 0.98100869054353879, 0.50000000000000000, 1.0000000000000000,
2360 10.000000000000000, -0.40000000000000002 },
2361 { 0.98557811238699278, 0.50000000000000000, 1.0000000000000000,
2362 10.000000000000000, -0.30000000000000004 },
2363 { 0.99026193885795544, 0.50000000000000000, 1.0000000000000000,
2364 10.000000000000000, -0.19999999999999996 },
2365 { 0.99506679842072221, 0.50000000000000000, 1.0000000000000000,
2366 10.000000000000000, -0.099999999999999978 },
2367 { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
2368 10.000000000000000, 0.0000000000000000 },
2369 { 1.0050696417919618, 0.50000000000000000, 1.0000000000000000,
2370 10.000000000000000, 0.10000000000000009 },
2371 { 1.0102847452747090, 0.50000000000000000, 1.0000000000000000,
2372 10.000000000000000, 0.19999999999999996 },
2373 { 1.0156554225057022, 0.50000000000000000, 1.0000000000000000,
2374 10.000000000000000, 0.30000000000000004 },
2375 { 1.0211930882963096, 0.50000000000000000, 1.0000000000000000,
2376 10.000000000000000, 0.39999999999999991 },
2377 { 1.0269107343740711, 0.50000000000000000, 1.0000000000000000,
2378 10.000000000000000, 0.50000000000000000 },
2379 { 1.0328232917216298, 0.50000000000000000, 1.0000000000000000,
2380 10.000000000000000, 0.60000000000000009 },
2381 { 1.0389481230247195, 0.50000000000000000, 1.0000000000000000,
2382 10.000000000000000, 0.69999999999999996 },
2383 { 1.0453057164134614, 0.50000000000000000, 1.0000000000000000,
2384 10.000000000000000, 0.80000000000000004 },
2385 { 1.0519207114461246, 0.50000000000000000, 1.0000000000000000,
2386 10.000000000000000, 0.89999999999999991 },
2388 const double toler050
= 2.5000000000000020e-13;
2390 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=2.0000000000000000.
2391 // max(|f - f_GSL|): 4.4408920985006262e-16
2392 // max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
2393 const testcase_hyperg
<double>
2396 { 0.72547625011001171, 0.50000000000000000, 2.0000000000000000,
2397 2.0000000000000000, -0.90000000000000002 },
2398 { 0.74535599249992990, 0.50000000000000000, 2.0000000000000000,
2399 2.0000000000000000, -0.80000000000000004 },
2400 { 0.76696498884737041, 0.50000000000000000, 2.0000000000000000,
2401 2.0000000000000000, -0.69999999999999996 },
2402 { 0.79056941504209477, 0.50000000000000000, 2.0000000000000000,
2403 2.0000000000000000, -0.59999999999999998 },
2404 { 0.81649658092772603, 0.50000000000000000, 2.0000000000000000,
2405 2.0000000000000000, -0.50000000000000000 },
2406 { 0.84515425472851657, 0.50000000000000000, 2.0000000000000000,
2407 2.0000000000000000, -0.40000000000000002 },
2408 { 0.87705801930702920, 0.50000000000000000, 2.0000000000000000,
2409 2.0000000000000000, -0.30000000000000004 },
2410 { 0.91287092917527690, 0.50000000000000000, 2.0000000000000000,
2411 2.0000000000000000, -0.19999999999999996 },
2412 { 0.95346258924559224, 0.50000000000000000, 2.0000000000000000,
2413 2.0000000000000000, -0.099999999999999978 },
2414 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2415 2.0000000000000000, 0.0000000000000000 },
2416 { 1.0540925533894598, 0.50000000000000000, 2.0000000000000000,
2417 2.0000000000000000, 0.10000000000000009 },
2418 { 1.1180339887498949, 0.50000000000000000, 2.0000000000000000,
2419 2.0000000000000000, 0.19999999999999996 },
2420 { 1.1952286093343938, 0.50000000000000000, 2.0000000000000000,
2421 2.0000000000000000, 0.30000000000000004 },
2422 { 1.2909944487358056, 0.50000000000000000, 2.0000000000000000,
2423 2.0000000000000000, 0.39999999999999991 },
2424 { 1.4142135623730949, 0.50000000000000000, 2.0000000000000000,
2425 2.0000000000000000, 0.50000000000000000 },
2426 { 1.5811388300841900, 0.50000000000000000, 2.0000000000000000,
2427 2.0000000000000000, 0.60000000000000009 },
2428 { 1.8257418583505536, 0.50000000000000000, 2.0000000000000000,
2429 2.0000000000000000, 0.69999999999999996 },
2430 { 2.2360679774997898, 0.50000000000000000, 2.0000000000000000,
2431 2.0000000000000000, 0.80000000000000004 },
2432 { 3.1622776601683782, 0.50000000000000000, 2.0000000000000000,
2433 2.0000000000000000, 0.89999999999999991 },
2435 const double toler051
= 2.5000000000000020e-13;
2437 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=4.0000000000000000.
2438 // max(|f - f_GSL|): 4.4408920985006262e-16
2439 // max(|f - f_GSL| / |f_GSL|): 3.0893602609058104e-16
2440 const testcase_hyperg
<double>
2443 { 0.83664260086443765, 0.50000000000000000, 2.0000000000000000,
2444 4.0000000000000000, -0.90000000000000002 },
2445 { 0.85046584300227079, 0.50000000000000000, 2.0000000000000000,
2446 4.0000000000000000, -0.80000000000000004 },
2447 { 0.86509574979651649, 0.50000000000000000, 2.0000000000000000,
2448 4.0000000000000000, -0.69999999999999996 },
2449 { 0.88062082573041911, 0.50000000000000000, 2.0000000000000000,
2450 4.0000000000000000, -0.59999999999999998 },
2451 { 0.89714464248521597, 0.50000000000000000, 2.0000000000000000,
2452 4.0000000000000000, -0.50000000000000000 },
2453 { 0.91478946588967591, 0.50000000000000000, 2.0000000000000000,
2454 4.0000000000000000, -0.40000000000000002 },
2455 { 0.93370105322348573, 0.50000000000000000, 2.0000000000000000,
2456 4.0000000000000000, -0.30000000000000004 },
2457 { 0.95405511057700887, 0.50000000000000000, 2.0000000000000000,
2458 4.0000000000000000, -0.19999999999999996 },
2459 { 0.97606616007978142, 0.50000000000000000, 2.0000000000000000,
2460 4.0000000000000000, -0.099999999999999978 },
2461 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2462 4.0000000000000000, 0.0000000000000000 },
2463 { 1.0261916902334731, 0.50000000000000000, 2.0000000000000000,
2464 4.0000000000000000, 0.10000000000000009 },
2465 { 1.0550723519434702, 0.50000000000000000, 2.0000000000000000,
2466 4.0000000000000000, 0.19999999999999996 },
2467 { 1.0872106588188091, 0.50000000000000000, 2.0000000000000000,
2468 4.0000000000000000, 0.30000000000000004 },
2469 { 1.1233801699379020, 0.50000000000000000, 2.0000000000000000,
2470 4.0000000000000000, 0.39999999999999991 },
2471 { 1.1646752981725688, 0.50000000000000000, 2.0000000000000000,
2472 4.0000000000000000, 0.50000000000000000 },
2473 { 1.2127272514219511, 0.50000000000000000, 2.0000000000000000,
2474 4.0000000000000000, 0.60000000000000009 },
2475 { 1.2701518651068637, 0.50000000000000000, 2.0000000000000000,
2476 4.0000000000000000, 0.69999999999999996 },
2477 { 1.3416407864998725, 0.50000000000000000, 2.0000000000000000,
2478 4.0000000000000000, 0.80000000000000004 },
2479 { 1.4374795179111102, 0.50000000000000000, 2.0000000000000000,
2480 4.0000000000000000, 0.89999999999999991 },
2482 const double toler052
= 2.5000000000000020e-13;
2484 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=6.0000000000000000.
2485 // max(|f - f_GSL|): 3.3306690738754696e-16
2486 // max(|f - f_GSL| / |f_GSL|): 3.3853500746952663e-16
2487 const testcase_hyperg
<double>
2490 { 0.88195381730235822, 0.50000000000000000, 2.0000000000000000,
2491 6.0000000000000000, -0.90000000000000002 },
2492 { 0.89265078469555081, 0.50000000000000000, 2.0000000000000000,
2493 6.0000000000000000, -0.80000000000000004 },
2494 { 0.90382937908303673, 0.50000000000000000, 2.0000000000000000,
2495 6.0000000000000000, -0.69999999999999996 },
2496 { 0.91553161389880600, 0.50000000000000000, 2.0000000000000000,
2497 6.0000000000000000, -0.59999999999999998 },
2498 { 0.92780530349281509, 0.50000000000000000, 2.0000000000000000,
2499 6.0000000000000000, -0.50000000000000000 },
2500 { 0.94070521140346008, 0.50000000000000000, 2.0000000000000000,
2501 6.0000000000000000, -0.40000000000000002 },
2502 { 0.95429450630523383, 0.50000000000000000, 2.0000000000000000,
2503 6.0000000000000000, -0.30000000000000004 },
2504 { 0.96864663325785849, 0.50000000000000000, 2.0000000000000000,
2505 6.0000000000000000, -0.19999999999999996 },
2506 { 0.98384775588541795, 0.50000000000000000, 2.0000000000000000,
2507 6.0000000000000000, -0.099999999999999978 },
2508 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2509 6.0000000000000000, 0.0000000000000000 },
2510 { 1.0172258496884334, 0.50000000000000000, 2.0000000000000000,
2511 6.0000000000000000, 0.10000000000000009 },
2512 { 1.0356742479163459, 0.50000000000000000, 2.0000000000000000,
2513 6.0000000000000000, 0.19999999999999996 },
2514 { 1.0555293036908924, 0.50000000000000000, 2.0000000000000000,
2515 6.0000000000000000, 0.30000000000000004 },
2516 { 1.0770231491562379, 0.50000000000000000, 2.0000000000000000,
2517 6.0000000000000000, 0.39999999999999991 },
2518 { 1.1004557416484888, 0.50000000000000000, 2.0000000000000000,
2519 6.0000000000000000, 0.50000000000000000 },
2520 { 1.1262270515731978, 0.50000000000000000, 2.0000000000000000,
2521 6.0000000000000000, 0.60000000000000009 },
2522 { 1.1548932919125086, 0.50000000000000000, 2.0000000000000000,
2523 6.0000000000000000, 0.69999999999999996 },
2524 { 1.1872757758134724, 0.50000000000000000, 2.0000000000000000,
2525 6.0000000000000000, 0.80000000000000004 },
2526 { 1.2247091713458949, 0.50000000000000000, 2.0000000000000000,
2527 6.0000000000000000, 0.89999999999999991 },
2529 const double toler053
= 2.5000000000000020e-13;
2531 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=8.0000000000000000.
2532 // max(|f - f_GSL|): 2.2204460492503131e-16
2533 // max(|f - f_GSL| / |f_GSL|): 2.2746445692007949e-16
2534 const testcase_hyperg
<double>
2537 { 0.90716919697107279, 0.50000000000000000, 2.0000000000000000,
2538 8.0000000000000000, -0.90000000000000002 },
2539 { 0.91592299407142508, 0.50000000000000000, 2.0000000000000000,
2540 8.0000000000000000, -0.80000000000000004 },
2541 { 0.92500027075874192, 0.50000000000000000, 2.0000000000000000,
2542 8.0000000000000000, -0.69999999999999996 },
2543 { 0.93442464185467122, 0.50000000000000000, 2.0000000000000000,
2544 8.0000000000000000, -0.59999999999999998 },
2545 { 0.94422248683737076, 0.50000000000000000, 2.0000000000000000,
2546 8.0000000000000000, -0.50000000000000000 },
2547 { 0.95442341810133324, 0.50000000000000000, 2.0000000000000000,
2548 8.0000000000000000, -0.40000000000000002 },
2549 { 0.96506085725516355, 0.50000000000000000, 2.0000000000000000,
2550 8.0000000000000000, -0.30000000000000004 },
2551 { 0.97617275213704069, 0.50000000000000000, 2.0000000000000000,
2552 8.0000000000000000, -0.19999999999999996 },
2553 { 0.98780247986309799, 0.50000000000000000, 2.0000000000000000,
2554 8.0000000000000000, -0.099999999999999978 },
2555 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2556 8.0000000000000000, 0.0000000000000000 },
2557 { 1.0128233505813447, 0.50000000000000000, 2.0000000000000000,
2558 8.0000000000000000, 0.10000000000000009 },
2559 { 1.0263406246541855, 0.50000000000000000, 2.0000000000000000,
2560 8.0000000000000000, 0.19999999999999996 },
2561 { 1.0406326381700366, 0.50000000000000000, 2.0000000000000000,
2562 8.0000000000000000, 0.30000000000000004 },
2563 { 1.0557966239802845, 0.50000000000000000, 2.0000000000000000,
2564 8.0000000000000000, 0.39999999999999991 },
2565 { 1.0719515075786321, 0.50000000000000000, 2.0000000000000000,
2566 8.0000000000000000, 0.50000000000000000 },
2567 { 1.0892457392422055, 0.50000000000000000, 2.0000000000000000,
2568 8.0000000000000000, 0.60000000000000009 },
2569 { 1.1078695188000958, 0.50000000000000000, 2.0000000000000000,
2570 8.0000000000000000, 0.69999999999999996 },
2571 { 1.1280752258974340, 0.50000000000000000, 2.0000000000000000,
2572 8.0000000000000000, 0.80000000000000004 },
2573 { 1.1502152002706476, 0.50000000000000000, 2.0000000000000000,
2574 8.0000000000000000, 0.89999999999999991 },
2576 const double toler054
= 2.5000000000000020e-13;
2578 // Test data for a=0.50000000000000000, b=2.0000000000000000, c=10.000000000000000.
2579 // max(|f - f_GSL|): 4.4408920985006262e-16
2580 // max(|f - f_GSL| / |f_GSL|): 4.4848478782807992e-16
2581 const testcase_hyperg
<double>
2584 { 0.92336416053263082, 0.50000000000000000, 2.0000000000000000,
2585 10.000000000000000, -0.90000000000000002 },
2586 { 0.93078397248364542, 0.50000000000000000, 2.0000000000000000,
2587 10.000000000000000, -0.80000000000000004 },
2588 { 0.93843714333600259, 0.50000000000000000, 2.0000000000000000,
2589 10.000000000000000, -0.69999999999999996 },
2590 { 0.94633837784068098, 0.50000000000000000, 2.0000000000000000,
2591 10.000000000000000, -0.59999999999999998 },
2592 { 0.95450388104967876, 0.50000000000000000, 2.0000000000000000,
2593 10.000000000000000, -0.50000000000000000 },
2594 { 0.96295158125742752, 0.50000000000000000, 2.0000000000000000,
2595 10.000000000000000, -0.40000000000000002 },
2596 { 0.97170139827854318, 0.50000000000000000, 2.0000000000000000,
2597 10.000000000000000, -0.30000000000000004 },
2598 { 0.98077556918512687, 0.50000000000000000, 2.0000000000000000,
2599 10.000000000000000, -0.19999999999999996 },
2600 { 0.99019904777750845, 0.50000000000000000, 2.0000000000000000,
2601 10.000000000000000, -0.099999999999999978 },
2602 { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
2603 10.000000000000000, 0.0000000000000000 },
2604 { 1.0102104261941198, 0.50000000000000000, 2.0000000000000000,
2605 10.000000000000000, 0.10000000000000009 },
2606 { 1.0208669540935695, 0.50000000000000000, 2.0000000000000000,
2607 10.000000000000000, 0.19999999999999996 },
2608 { 1.0320118665407505, 0.50000000000000000, 2.0000000000000000,
2609 10.000000000000000, 0.30000000000000004 },
2610 { 1.0436944599504387, 0.50000000000000000, 2.0000000000000000,
2611 10.000000000000000, 0.39999999999999991 },
2612 { 1.0559728828278145, 0.50000000000000000, 2.0000000000000000,
2613 10.000000000000000, 0.50000000000000000 },
2614 { 1.0689166967761712, 0.50000000000000000, 2.0000000000000000,
2615 10.000000000000000, 0.60000000000000009 },
2616 { 1.0826105758119842, 0.50000000000000000, 2.0000000000000000,
2617 10.000000000000000, 0.69999999999999996 },
2618 { 1.0971599106346146, 0.50000000000000000, 2.0000000000000000,
2619 10.000000000000000, 0.80000000000000004 },
2620 { 1.1126998828023964, 0.50000000000000000, 2.0000000000000000,
2621 10.000000000000000, 0.89999999999999991 },
2623 const double toler055
= 2.5000000000000020e-13;
2625 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=2.0000000000000000.
2626 // max(|f - f_GSL|): 4.5474735088646412e-13
2627 // max(|f - f_GSL| / |f_GSL|): 1.5124797514980704e-15
2628 const testcase_hyperg
<double>
2631 { 0.52275983209457544, 0.50000000000000000, 5.0000000000000000,
2632 2.0000000000000000, -0.90000000000000002 },
2633 { 0.54700336898143009, 0.50000000000000000, 5.0000000000000000,
2634 2.0000000000000000, -0.80000000000000004 },
2635 { 0.57468955512602038, 0.50000000000000000, 5.0000000000000000,
2636 2.0000000000000000, -0.69999999999999996 },
2637 { 0.60665490543315048, 0.50000000000000000, 5.0000000000000000,
2638 2.0000000000000000, -0.59999999999999998 },
2639 { 0.64403057859056190, 0.50000000000000000, 5.0000000000000000,
2640 2.0000000000000000, -0.50000000000000000 },
2641 { 0.68838183648623730, 0.50000000000000000, 5.0000000000000000,
2642 2.0000000000000000, -0.40000000000000002 },
2643 { 0.74193265039311129, 0.50000000000000000, 5.0000000000000000,
2644 2.0000000000000000, -0.30000000000000004 },
2645 { 0.80794095908995300, 0.50000000000000000, 5.0000000000000000,
2646 2.0000000000000000, -0.19999999999999996 },
2647 { 0.89135275749639320, 0.50000000000000000, 5.0000000000000000,
2648 2.0000000000000000, -0.099999999999999978 },
2649 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2650 2.0000000000000000, 0.0000000000000000 },
2651 { 1.1469266219310688, 0.50000000000000000, 5.0000000000000000,
2652 2.0000000000000000, 0.10000000000000009 },
2653 { 1.3552340708357489, 0.50000000000000000, 5.0000000000000000,
2654 2.0000000000000000, 0.19999999999999996 },
2655 { 1.6690840478838305, 0.50000000000000000, 5.0000000000000000,
2656 2.0000000000000000, 0.30000000000000004 },
2657 { 2.1815415453174483, 0.50000000000000000, 5.0000000000000000,
2658 2.0000000000000000, 0.39999999999999991 },
2659 { 3.1156892546032235, 0.50000000000000000, 5.0000000000000000,
2660 2.0000000000000000, 0.50000000000000000 },
2661 { 5.1109077417760416, 0.50000000000000000, 5.0000000000000000,
2662 2.0000000000000000, 0.60000000000000009 },
2663 { 10.560352936466296, 0.50000000000000000, 5.0000000000000000,
2664 2.0000000000000000, 0.69999999999999996 },
2665 { 33.541019662496815, 0.50000000000000000, 5.0000000000000000,
2666 2.0000000000000000, 0.80000000000000004 },
2667 { 300.66343065819501, 0.50000000000000000, 5.0000000000000000,
2668 2.0000000000000000, 0.89999999999999991 },
2670 const double toler056
= 2.5000000000000020e-13;
2672 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=4.0000000000000000.
2673 // max(|f - f_GSL|): 8.8817841970012523e-15
2674 // max(|f - f_GSL| / |f_GSL|): 1.3217255411112326e-15
2675 const testcase_hyperg
<double>
2678 { 0.68252041951139286, 0.50000000000000000, 5.0000000000000000,
2679 4.0000000000000000, -0.90000000000000002 },
2680 { 0.70394732624993395, 0.50000000000000000, 5.0000000000000000,
2681 4.0000000000000000, -0.80000000000000004 },
2682 { 0.72748884971552052, 0.50000000000000000, 5.0000000000000000,
2683 4.0000000000000000, -0.69999999999999996 },
2684 { 0.75351147371199667, 0.50000000000000000, 5.0000000000000000,
2685 4.0000000000000000, -0.59999999999999998 },
2686 { 0.78247589005573737, 0.50000000000000000, 5.0000000000000000,
2687 4.0000000000000000, -0.50000000000000000 },
2688 { 0.81497017420249807, 0.50000000000000000, 5.0000000000000000,
2689 4.0000000000000000, -0.40000000000000002 },
2690 { 0.85175826875009586, 0.50000000000000000, 5.0000000000000000,
2691 4.0000000000000000, -0.30000000000000004 },
2692 { 0.89385278481745867, 0.50000000000000000, 5.0000000000000000,
2693 4.0000000000000000, -0.19999999999999996 },
2694 { 0.94262778709507411, 0.50000000000000000, 5.0000000000000000,
2695 4.0000000000000000, -0.099999999999999978 },
2696 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2697 4.0000000000000000, 0.0000000000000000 },
2698 { 1.0687327277420910, 0.50000000000000000, 5.0000000000000000,
2699 4.0000000000000000, 0.10000000000000009 },
2700 { 1.1529725508983291, 0.50000000000000000, 5.0000000000000000,
2701 4.0000000000000000, 0.19999999999999996 },
2702 { 1.2592587134058799, 0.50000000000000000, 5.0000000000000000,
2703 4.0000000000000000, 0.30000000000000004 },
2704 { 1.3985773194637892, 0.50000000000000000, 5.0000000000000000,
2705 4.0000000000000000, 0.39999999999999991 },
2706 { 1.5909902576697317, 0.50000000000000000, 5.0000000000000000,
2707 4.0000000000000000, 0.50000000000000000 },
2708 { 1.8776023607249752, 0.50000000000000000, 5.0000000000000000,
2709 4.0000000000000000, 0.60000000000000009 },
2710 { 2.3582499003694646, 0.50000000000000000, 5.0000000000000000,
2711 4.0000000000000000, 0.69999999999999996 },
2712 { 3.3541019662496838, 0.50000000000000000, 5.0000000000000000,
2713 4.0000000000000000, 0.80000000000000004 },
2714 { 6.7198400278577859, 0.50000000000000000, 5.0000000000000000,
2715 4.0000000000000000, 0.89999999999999991 },
2717 const double toler057
= 2.5000000000000020e-13;
2719 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=6.0000000000000000.
2720 // max(|f - f_GSL|): 2.6645352591003757e-15
2721 // max(|f - f_GSL| / |f_GSL|): 1.2228264607471081e-15
2722 const testcase_hyperg
<double>
2725 { 0.75755211927082600, 0.50000000000000000, 5.0000000000000000,
2726 6.0000000000000000, -0.90000000000000002 },
2727 { 0.77603550233010965, 0.50000000000000000, 5.0000000000000000,
2728 6.0000000000000000, -0.80000000000000004 },
2729 { 0.79596241913438504, 0.50000000000000000, 5.0000000000000000,
2730 6.0000000000000000, -0.69999999999999996 },
2731 { 0.81753360792105212, 0.50000000000000000, 5.0000000000000000,
2732 6.0000000000000000, -0.59999999999999998 },
2733 { 0.84099165409805532, 0.50000000000000000, 5.0000000000000000,
2734 6.0000000000000000, -0.50000000000000000 },
2735 { 0.86663303852180895, 0.50000000000000000, 5.0000000000000000,
2736 6.0000000000000000, -0.40000000000000002 },
2737 { 0.89482475828629970, 0.50000000000000000, 5.0000000000000000,
2738 6.0000000000000000, -0.30000000000000004 },
2739 { 0.92602774279590350, 0.50000000000000000, 5.0000000000000000,
2740 6.0000000000000000, -0.19999999999999996 },
2741 { 0.96083064727087386, 0.50000000000000000, 5.0000000000000000,
2742 6.0000000000000000, -0.099999999999999978 },
2743 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2744 6.0000000000000000, 0.0000000000000000 },
2745 { 1.0445570841313008, 0.50000000000000000, 5.0000000000000000,
2746 6.0000000000000000, 0.10000000000000009 },
2747 { 1.0959004638926031, 0.50000000000000000, 5.0000000000000000,
2748 6.0000000000000000, 0.19999999999999996 },
2749 { 1.1560106261370562, 0.50000000000000000, 5.0000000000000000,
2750 6.0000000000000000, 0.30000000000000004 },
2751 { 1.2278121770678145, 0.50000000000000000, 5.0000000000000000,
2752 6.0000000000000000, 0.39999999999999991 },
2753 { 1.3158640214709998, 0.50000000000000000, 5.0000000000000000,
2754 6.0000000000000000, 0.50000000000000000 },
2755 { 1.4278095344155000, 0.50000000000000000, 5.0000000000000000,
2756 6.0000000000000000, 0.60000000000000009 },
2757 { 1.5778700502946612, 0.50000000000000000, 5.0000000000000000,
2758 6.0000000000000000, 0.69999999999999996 },
2759 { 1.7972173289196469, 0.50000000000000000, 5.0000000000000000,
2760 6.0000000000000000, 0.80000000000000004 },
2761 { 2.1789970569269732, 0.50000000000000000, 5.0000000000000000,
2762 6.0000000000000000, 0.89999999999999991 },
2764 const double toler058
= 2.5000000000000020e-13;
2766 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=8.0000000000000000.
2767 // max(|f - f_GSL|): 6.6613381477509392e-16
2768 // max(|f - f_GSL| / |f_GSL|): 4.2082370290419495e-16
2769 const testcase_hyperg
<double>
2772 { 0.80270093579329460, 0.50000000000000000, 5.0000000000000000,
2773 8.0000000000000000, -0.90000000000000002 },
2774 { 0.81884974572462765, 0.50000000000000000, 5.0000000000000000,
2775 8.0000000000000000, -0.80000000000000004 },
2776 { 0.83605266330015260, 0.50000000000000000, 5.0000000000000000,
2777 8.0000000000000000, -0.69999999999999996 },
2778 { 0.85443340762796027, 0.50000000000000000, 5.0000000000000000,
2779 8.0000000000000000, -0.59999999999999998 },
2780 { 0.87413762182790711, 0.50000000000000000, 5.0000000000000000,
2781 8.0000000000000000, -0.50000000000000000 },
2782 { 0.89533826626907287, 0.50000000000000000, 5.0000000000000000,
2783 8.0000000000000000, -0.40000000000000002 },
2784 { 0.91824276674115290, 0.50000000000000000, 5.0000000000000000,
2785 8.0000000000000000, -0.30000000000000004 },
2786 { 0.94310265050720576, 0.50000000000000000, 5.0000000000000000,
2787 8.0000000000000000, -0.19999999999999996 },
2788 { 0.97022678857609712, 0.50000000000000000, 5.0000000000000000,
2789 8.0000000000000000, -0.099999999999999978 },
2790 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2791 8.0000000000000000, 0.0000000000000000 },
2792 { 1.0329098673199812, 0.50000000000000000, 5.0000000000000000,
2793 8.0000000000000000, 0.10000000000000009 },
2794 { 1.0695865684573389, 0.50000000000000000, 5.0000000000000000,
2795 8.0000000000000000, 0.19999999999999996 },
2796 { 1.1108642103944570, 0.50000000000000000, 5.0000000000000000,
2797 8.0000000000000000, 0.30000000000000004 },
2798 { 1.1578795055970506, 0.50000000000000000, 5.0000000000000000,
2799 8.0000000000000000, 0.39999999999999991 },
2800 { 1.2122394794169442, 0.50000000000000000, 5.0000000000000000,
2801 8.0000000000000000, 0.50000000000000000 },
2802 { 1.2763274721556934, 0.50000000000000000, 5.0000000000000000,
2803 8.0000000000000000, 0.60000000000000009 },
2804 { 1.3539179650251021, 0.50000000000000000, 5.0000000000000000,
2805 8.0000000000000000, 0.69999999999999996 },
2806 { 1.4515986118197148, 0.50000000000000000, 5.0000000000000000,
2807 8.0000000000000000, 0.80000000000000004 },
2808 { 1.5829284571614219, 0.50000000000000000, 5.0000000000000000,
2809 8.0000000000000000, 0.89999999999999991 },
2811 const double toler059
= 2.5000000000000020e-13;
2813 // Test data for a=0.50000000000000000, b=5.0000000000000000, c=10.000000000000000.
2814 // max(|f - f_GSL|): 2.2204460492503131e-16
2815 // max(|f - f_GSL| / |f_GSL|): 2.2751041935095266e-16
2816 const testcase_hyperg
<double>
2819 { 0.83322694172301981, 0.50000000000000000, 5.0000000000000000,
2820 10.000000000000000, -0.90000000000000002 },
2821 { 0.84753931604765675, 0.50000000000000000, 5.0000000000000000,
2822 10.000000000000000, -0.80000000000000004 },
2823 { 0.86265784532195022, 0.50000000000000000, 5.0000000000000000,
2824 10.000000000000000, -0.69999999999999996 },
2825 { 0.87866479300707090, 0.50000000000000000, 5.0000000000000000,
2826 10.000000000000000, -0.59999999999999998 },
2827 { 0.89565516540263501, 0.50000000000000000, 5.0000000000000000,
2828 10.000000000000000, -0.50000000000000000 },
2829 { 0.91373946207610512, 0.50000000000000000, 5.0000000000000000,
2830 10.000000000000000, -0.40000000000000002 },
2831 { 0.93304721345881891, 0.50000000000000000, 5.0000000000000000,
2832 10.000000000000000, -0.30000000000000004 },
2833 { 0.95373159512905148, 0.50000000000000000, 5.0000000000000000,
2834 10.000000000000000, -0.19999999999999996 },
2835 { 0.97597554238828121, 0.50000000000000000, 5.0000000000000000,
2836 10.000000000000000, -0.099999999999999978 },
2837 { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
2838 10.000000000000000, 0.0000000000000000 },
2839 { 1.0260752851887982, 0.50000000000000000, 5.0000000000000000,
2840 10.000000000000000, 0.10000000000000009 },
2841 { 1.0545371197996178, 0.50000000000000000, 5.0000000000000000,
2842 10.000000000000000, 0.19999999999999996 },
2843 { 1.0858099017045830, 0.50000000000000000, 5.0000000000000000,
2844 10.000000000000000, 0.30000000000000004 },
2845 { 1.1204416568688709, 0.50000000000000000, 5.0000000000000000,
2846 10.000000000000000, 0.39999999999999991 },
2847 { 1.1591587835964847, 0.50000000000000000, 5.0000000000000000,
2848 10.000000000000000, 0.50000000000000000 },
2849 { 1.2029564720303347, 0.50000000000000000, 5.0000000000000000,
2850 10.000000000000000, 0.60000000000000009 },
2851 { 1.2532588722007874, 0.50000000000000000, 5.0000000000000000,
2852 10.000000000000000, 0.69999999999999996 },
2853 { 1.3122319926925459, 0.50000000000000000, 5.0000000000000000,
2854 10.000000000000000, 0.80000000000000004 },
2855 { 1.3834948587364100, 0.50000000000000000, 5.0000000000000000,
2856 10.000000000000000, 0.89999999999999991 },
2858 const double toler060
= 2.5000000000000020e-13;
2860 // Test data for a=0.50000000000000000, b=10.000000000000000, c=2.0000000000000000.
2861 // max(|f - f_GSL|): 1.4901161193847656e-08
2862 // max(|f - f_GSL| / |f_GSL|): 1.8229127098648091e-15
2863 const testcase_hyperg
<double>
2866 { 0.37727530159464628, 0.50000000000000000, 10.000000000000000,
2867 2.0000000000000000, -0.90000000000000002 },
2868 { 0.39816010922169059, 0.50000000000000000, 10.000000000000000,
2869 2.0000000000000000, -0.80000000000000004 },
2870 { 0.42283703041362447, 0.50000000000000000, 10.000000000000000,
2871 2.0000000000000000, -0.69999999999999996 },
2872 { 0.45255640448730527, 0.50000000000000000, 10.000000000000000,
2873 2.0000000000000000, -0.59999999999999998 },
2874 { 0.48919507154431119, 0.50000000000000000, 10.000000000000000,
2875 2.0000000000000000, -0.50000000000000000 },
2876 { 0.53569358917731924, 0.50000000000000000, 10.000000000000000,
2877 2.0000000000000000, -0.40000000000000002 },
2878 { 0.59689778897029544, 0.50000000000000000, 10.000000000000000,
2879 2.0000000000000000, -0.30000000000000004 },
2880 { 0.68128587569875765, 0.50000000000000000, 10.000000000000000,
2881 2.0000000000000000, -0.19999999999999996 },
2882 { 0.80478739308790359, 0.50000000000000000, 10.000000000000000,
2883 2.0000000000000000, -0.099999999999999978 },
2884 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
2885 2.0000000000000000, 0.0000000000000000 },
2886 { 1.3408664196153621, 0.50000000000000000, 10.000000000000000,
2887 2.0000000000000000, 0.10000000000000009 },
2888 { 2.0175364359923860, 0.50000000000000000, 10.000000000000000,
2889 2.0000000000000000, 0.19999999999999996 },
2890 { 3.6011214553736646, 0.50000000000000000, 10.000000000000000,
2891 2.0000000000000000, 0.30000000000000004 },
2892 { 8.1799429939495312, 0.50000000000000000, 10.000000000000000,
2893 2.0000000000000000, 0.39999999999999991 },
2894 { 25.644834637536000, 0.50000000000000000, 10.000000000000000,
2895 2.0000000000000000, 0.50000000000000000 },
2896 { 123.13738891597615, 0.50000000000000000, 10.000000000000000,
2897 2.0000000000000000, 0.60000000000000009 },
2898 { 1088.7122410321333, 0.50000000000000000, 10.000000000000000,
2899 2.0000000000000000, 0.69999999999999996 },
2900 { 27358.291704709951, 0.50000000000000000, 10.000000000000000,
2901 2.0000000000000000, 0.80000000000000004 },
2902 { 8174369.0266731177, 0.50000000000000000, 10.000000000000000,
2903 2.0000000000000000, 0.89999999999999991 },
2905 const double toler061
= 2.5000000000000020e-13;
2907 // Test data for a=0.50000000000000000, b=10.000000000000000, c=4.0000000000000000.
2908 // max(|f - f_GSL|): 2.0008883439004421e-11
2909 // max(|f - f_GSL| / |f_GSL|): 1.5684473872214654e-15
2910 const testcase_hyperg
<double>
2913 { 0.53905528308450823, 0.50000000000000000, 10.000000000000000,
2914 4.0000000000000000, -0.90000000000000002 },
2915 { 0.56235533974376162, 0.50000000000000000, 10.000000000000000,
2916 4.0000000000000000, -0.80000000000000004 },
2917 { 0.58887657983263575, 0.50000000000000000, 10.000000000000000,
2918 4.0000000000000000, -0.69999999999999996 },
2919 { 0.61941227047262937, 0.50000000000000000, 10.000000000000000,
2920 4.0000000000000000, -0.59999999999999998 },
2921 { 0.65504896640793864, 0.50000000000000000, 10.000000000000000,
2922 4.0000000000000000, -0.50000000000000000 },
2923 { 0.69731666644529977, 0.50000000000000000, 10.000000000000000,
2924 4.0000000000000000, -0.40000000000000002 },
2925 { 0.74844073299399139, 0.50000000000000000, 10.000000000000000,
2926 4.0000000000000000, -0.30000000000000004 },
2927 { 0.81178446800105830, 0.50000000000000000, 10.000000000000000,
2928 4.0000000000000000, -0.19999999999999996 },
2929 { 0.89266981277598045, 0.50000000000000000, 10.000000000000000,
2930 4.0000000000000000, -0.099999999999999978 },
2931 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
2932 4.0000000000000000, 0.0000000000000000 },
2933 { 1.1497248473106778, 0.50000000000000000, 10.000000000000000,
2934 4.0000000000000000, 0.10000000000000009 },
2935 { 1.3729717112654571, 0.50000000000000000, 10.000000000000000,
2936 4.0000000000000000, 0.19999999999999996 },
2937 { 1.7374982340374392, 0.50000000000000000, 10.000000000000000,
2938 4.0000000000000000, 0.30000000000000004 },
2939 { 2.4134479340960580, 0.50000000000000000, 10.000000000000000,
2940 4.0000000000000000, 0.39999999999999991 },
2941 { 3.9191255240471192, 0.50000000000000000, 10.000000000000000,
2942 4.0000000000000000, 0.50000000000000000 },
2943 { 8.3316373077761270, 0.50000000000000000, 10.000000000000000,
2944 4.0000000000000000, 0.60000000000000009 },
2945 { 28.323020339843335, 0.50000000000000000, 10.000000000000000,
2946 4.0000000000000000, 0.69999999999999996 },
2947 { 225.84286572747891, 0.50000000000000000, 10.000000000000000,
2948 4.0000000000000000, 0.80000000000000004 },
2949 { 12757.127591286655, 0.50000000000000000, 10.000000000000000,
2950 4.0000000000000000, 0.89999999999999991 },
2952 const double toler062
= 2.5000000000000020e-13;
2954 // Test data for a=0.50000000000000000, b=10.000000000000000, c=6.0000000000000000.
2955 // max(|f - f_GSL|): 1.9895196601282805e-13
2956 // max(|f - f_GSL| / |f_GSL|): 1.4567107859209967e-15
2957 const testcase_hyperg
<double>
2960 { 0.62672622092226027, 0.50000000000000000, 10.000000000000000,
2961 6.0000000000000000, -0.90000000000000002 },
2962 { 0.64931010269769840, 0.50000000000000000, 10.000000000000000,
2963 6.0000000000000000, -0.80000000000000004 },
2964 { 0.67448067519076293, 0.50000000000000000, 10.000000000000000,
2965 6.0000000000000000, -0.69999999999999996 },
2966 { 0.70276306239803643, 0.50000000000000000, 10.000000000000000,
2967 6.0000000000000000, -0.59999999999999998 },
2968 { 0.73484179773087521, 0.50000000000000000, 10.000000000000000,
2969 6.0000000000000000, -0.50000000000000000 },
2970 { 0.77162761412743874, 0.50000000000000000, 10.000000000000000,
2971 6.0000000000000000, -0.40000000000000002 },
2972 { 0.81436116844816564, 0.50000000000000000, 10.000000000000000,
2973 6.0000000000000000, -0.30000000000000004 },
2974 { 0.86477994787944579, 0.50000000000000000, 10.000000000000000,
2975 6.0000000000000000, -0.19999999999999996 },
2976 { 0.92539820516603888, 0.50000000000000000, 10.000000000000000,
2977 6.0000000000000000, -0.099999999999999978 },
2978 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
2979 6.0000000000000000, 0.0000000000000000 },
2980 { 1.0945599448210315, 0.50000000000000000, 10.000000000000000,
2981 6.0000000000000000, 0.10000000000000009 },
2982 { 1.2190897395597264, 0.50000000000000000, 10.000000000000000,
2983 6.0000000000000000, 0.19999999999999996 },
2984 { 1.3916844336856475, 0.50000000000000000, 10.000000000000000,
2985 6.0000000000000000, 0.30000000000000004 },
2986 { 1.6484497630432013, 0.50000000000000000, 10.000000000000000,
2987 6.0000000000000000, 0.39999999999999991 },
2988 { 2.0717772717131155, 0.50000000000000000, 10.000000000000000,
2989 6.0000000000000000, 0.50000000000000000 },
2990 { 2.8893613630810924, 0.50000000000000000, 10.000000000000000,
2991 6.0000000000000000, 0.60000000000000009 },
2992 { 4.9459404075413529, 0.50000000000000000, 10.000000000000000,
2993 6.0000000000000000, 0.69999999999999996 },
2994 { 13.487394149998716, 0.50000000000000000, 10.000000000000000,
2995 6.0000000000000000, 0.80000000000000004 },
2996 { 136.57616044013972, 0.50000000000000000, 10.000000000000000,
2997 6.0000000000000000, 0.89999999999999991 },
2999 const double toler063
= 2.5000000000000020e-13;
3001 // Test data for a=0.50000000000000000, b=10.000000000000000, c=8.0000000000000000.
3002 // max(|f - f_GSL|): 1.2434497875801753e-14
3003 // max(|f - f_GSL| / |f_GSL|): 1.3245081211977836e-15
3004 const testcase_hyperg
<double>
3007 { 0.68421604440344319, 0.50000000000000000, 10.000000000000000,
3008 8.0000000000000000, -0.90000000000000002 },
3009 { 0.70548098055548925, 0.50000000000000000, 10.000000000000000,
3010 8.0000000000000000, -0.80000000000000004 },
3011 { 0.72884342311710337, 0.50000000000000000, 10.000000000000000,
3012 8.0000000000000000, -0.69999999999999996 },
3013 { 0.75466953437856232, 0.50000000000000000, 10.000000000000000,
3014 8.0000000000000000, -0.59999999999999998 },
3015 { 0.78342090924662589, 0.50000000000000000, 10.000000000000000,
3016 8.0000000000000000, -0.50000000000000000 },
3017 { 0.81568884278645082, 0.50000000000000000, 10.000000000000000,
3018 8.0000000000000000, -0.40000000000000002 },
3019 { 0.85224480241465239, 0.50000000000000000, 10.000000000000000,
3020 8.0000000000000000, -0.30000000000000004 },
3021 { 0.89411692571131685, 0.50000000000000000, 10.000000000000000,
3022 8.0000000000000000, -0.19999999999999996 },
3023 { 0.94270986892954811, 0.50000000000000000, 10.000000000000000,
3024 8.0000000000000000, -0.099999999999999978 },
3025 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3026 8.0000000000000000, 0.0000000000000000 },
3027 { 1.0688682849120232, 0.50000000000000000, 10.000000000000000,
3028 8.0000000000000000, 0.10000000000000009 },
3029 { 1.1537004376097553, 0.50000000000000000, 10.000000000000000,
3030 8.0000000000000000, 0.19999999999999996 },
3031 { 1.2615455028370031, 0.50000000000000000, 10.000000000000000,
3032 8.0000000000000000, 0.30000000000000004 },
3033 { 1.4045541456153436, 0.50000000000000000, 10.000000000000000,
3034 8.0000000000000000, 0.39999999999999991 },
3035 { 1.6057216489444517, 0.50000000000000000, 10.000000000000000,
3036 8.0000000000000000, 0.50000000000000000 },
3037 { 1.9146603020550739, 0.50000000000000000, 10.000000000000000,
3038 8.0000000000000000, 0.60000000000000009 },
3039 { 2.4617931307620298, 0.50000000000000000, 10.000000000000000,
3040 8.0000000000000000, 0.69999999999999996 },
3041 { 3.7267799624996498, 0.50000000000000000, 10.000000000000000,
3042 8.0000000000000000, 0.80000000000000004 },
3043 { 9.3880118036248401, 0.50000000000000000, 10.000000000000000,
3044 8.0000000000000000, 0.89999999999999991 },
3046 const double toler064
= 2.5000000000000020e-13;
3048 // Test data for a=0.50000000000000000, b=10.000000000000000, c=10.000000000000000.
3049 // max(|f - f_GSL|): 4.4408920985006262e-16
3050 // max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
3051 const testcase_hyperg
<double>
3054 { 0.72547625011001171, 0.50000000000000000, 10.000000000000000,
3055 10.000000000000000, -0.90000000000000002 },
3056 { 0.74535599249992990, 0.50000000000000000, 10.000000000000000,
3057 10.000000000000000, -0.80000000000000004 },
3058 { 0.76696498884737041, 0.50000000000000000, 10.000000000000000,
3059 10.000000000000000, -0.69999999999999996 },
3060 { 0.79056941504209477, 0.50000000000000000, 10.000000000000000,
3061 10.000000000000000, -0.59999999999999998 },
3062 { 0.81649658092772603, 0.50000000000000000, 10.000000000000000,
3063 10.000000000000000, -0.50000000000000000 },
3064 { 0.84515425472851657, 0.50000000000000000, 10.000000000000000,
3065 10.000000000000000, -0.40000000000000002 },
3066 { 0.87705801930702920, 0.50000000000000000, 10.000000000000000,
3067 10.000000000000000, -0.30000000000000004 },
3068 { 0.91287092917527690, 0.50000000000000000, 10.000000000000000,
3069 10.000000000000000, -0.19999999999999996 },
3070 { 0.95346258924559224, 0.50000000000000000, 10.000000000000000,
3071 10.000000000000000, -0.099999999999999978 },
3072 { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
3073 10.000000000000000, 0.0000000000000000 },
3074 { 1.0540925533894598, 0.50000000000000000, 10.000000000000000,
3075 10.000000000000000, 0.10000000000000009 },
3076 { 1.1180339887498949, 0.50000000000000000, 10.000000000000000,
3077 10.000000000000000, 0.19999999999999996 },
3078 { 1.1952286093343938, 0.50000000000000000, 10.000000000000000,
3079 10.000000000000000, 0.30000000000000004 },
3080 { 1.2909944487358056, 0.50000000000000000, 10.000000000000000,
3081 10.000000000000000, 0.39999999999999991 },
3082 { 1.4142135623730949, 0.50000000000000000, 10.000000000000000,
3083 10.000000000000000, 0.50000000000000000 },
3084 { 1.5811388300841900, 0.50000000000000000, 10.000000000000000,
3085 10.000000000000000, 0.60000000000000009 },
3086 { 1.8257418583505536, 0.50000000000000000, 10.000000000000000,
3087 10.000000000000000, 0.69999999999999996 },
3088 { 2.2360679774997898, 0.50000000000000000, 10.000000000000000,
3089 10.000000000000000, 0.80000000000000004 },
3090 { 3.1622776601683782, 0.50000000000000000, 10.000000000000000,
3091 10.000000000000000, 0.89999999999999991 },
3093 const double toler065
= 2.5000000000000020e-13;
3095 // Test data for a=0.50000000000000000, b=20.000000000000000, c=2.0000000000000000.
3096 // max(|f - f_GSL|): 48.000000000000000
3097 // max(|f - f_GSL| / |f_GSL|): 1.8556481344875154e-15
3098 const testcase_hyperg
<double>
3101 { 0.26690449940521549, 0.50000000000000000, 20.000000000000000,
3102 2.0000000000000000, -0.90000000000000002 },
3103 { 0.28252302866181833, 0.50000000000000000, 20.000000000000000,
3104 2.0000000000000000, -0.80000000000000004 },
3105 { 0.30123616141153836, 0.50000000000000000, 20.000000000000000,
3106 2.0000000000000000, -0.69999999999999996 },
3107 { 0.32421384687602633, 0.50000000000000000, 20.000000000000000,
3108 2.0000000000000000, -0.59999999999999998 },
3109 { 0.35334630811776774, 0.50000000000000000, 20.000000000000000,
3110 2.0000000000000000, -0.50000000000000000 },
3111 { 0.39191793127467028, 0.50000000000000000, 20.000000000000000,
3112 2.0000000000000000, -0.40000000000000002 },
3113 { 0.44620488618129195, 0.50000000000000000, 20.000000000000000,
3114 2.0000000000000000, -0.30000000000000004 },
3115 { 0.52980896919265719, 0.50000000000000000, 20.000000000000000,
3116 2.0000000000000000, -0.19999999999999996 },
3117 { 0.67754711477562324, 0.50000000000000000, 20.000000000000000,
3118 2.0000000000000000, -0.099999999999999978 },
3119 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3120 2.0000000000000000, 0.0000000000000000 },
3121 { 1.9567557771780317, 0.50000000000000000, 20.000000000000000,
3122 2.0000000000000000, 0.10000000000000009 },
3123 { 6.1816042148333086, 0.50000000000000000, 20.000000000000000,
3124 2.0000000000000000, 0.19999999999999996 },
3125 { 35.653088618561227, 0.50000000000000000, 20.000000000000000,
3126 2.0000000000000000, 0.30000000000000004 },
3127 { 377.51482843179906, 0.50000000000000000, 20.000000000000000,
3128 2.0000000000000000, 0.39999999999999991 },
3129 { 7645.8816551195359, 0.50000000000000000, 20.000000000000000,
3130 2.0000000000000000, 0.50000000000000000 },
3131 { 354791.74537980522, 0.50000000000000000, 20.000000000000000,
3132 2.0000000000000000, 0.60000000000000009 },
3133 { 57009889.966638684, 0.50000000000000000, 20.000000000000000,
3134 2.0000000000000000, 0.69999999999999996 },
3135 { 83771357024.863937, 0.50000000000000000, 20.000000000000000,
3136 2.0000000000000000, 0.80000000000000004 },
3137 { 25866972896376408., 0.50000000000000000, 20.000000000000000,
3138 2.0000000000000000, 0.89999999999999991 },
3140 const double toler066
= 2.5000000000000020e-13;
3142 // Test data for a=0.50000000000000000, b=20.000000000000000, c=4.0000000000000000.
3143 // max(|f - f_GSL|): 0.011718750000000000
3144 // max(|f - f_GSL| / |f_GSL|): 1.7519521419034139e-15
3145 const testcase_hyperg
<double>
3148 { 0.40342659436153389, 0.50000000000000000, 20.000000000000000,
3149 4.0000000000000000, -0.90000000000000002 },
3150 { 0.42420571192034318, 0.50000000000000000, 20.000000000000000,
3151 4.0000000000000000, -0.80000000000000004 },
3152 { 0.44852768286073041, 0.50000000000000000, 20.000000000000000,
3153 4.0000000000000000, -0.69999999999999996 },
3154 { 0.47751245808592863, 0.50000000000000000, 20.000000000000000,
3155 4.0000000000000000, -0.59999999999999998 },
3156 { 0.51283632632707765, 0.50000000000000000, 20.000000000000000,
3157 4.0000000000000000, -0.50000000000000000 },
3158 { 0.55713468814894329, 0.50000000000000000, 20.000000000000000,
3159 4.0000000000000000, -0.40000000000000002 },
3160 { 0.61481320817757334, 0.50000000000000000, 20.000000000000000,
3161 4.0000000000000000, -0.30000000000000004 },
3162 { 0.69383483410097213, 0.50000000000000000, 20.000000000000000,
3163 4.0000000000000000, -0.19999999999999996 },
3164 { 0.81012002526006044, 0.50000000000000000, 20.000000000000000,
3165 4.0000000000000000, -0.099999999999999978 },
3166 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3167 4.0000000000000000, 0.0000000000000000 },
3168 { 1.3622225506603911, 0.50000000000000000, 20.000000000000000,
3169 4.0000000000000000, 0.10000000000000009 },
3170 { 2.2349513086109001, 0.50000000000000000, 20.000000000000000,
3171 4.0000000000000000, 0.19999999999999996 },
3172 { 5.1864917536761723, 0.50000000000000000, 20.000000000000000,
3173 4.0000000000000000, 0.30000000000000004 },
3174 { 21.020560423779411, 0.50000000000000000, 20.000000000000000,
3175 4.0000000000000000, 0.39999999999999991 },
3176 { 175.19649997100612, 0.50000000000000000, 20.000000000000000,
3177 4.0000000000000000, 0.50000000000000000 },
3178 { 3467.1587803688708, 0.50000000000000000, 20.000000000000000,
3179 4.0000000000000000, 0.60000000000000009 },
3180 { 225003.88683445856, 0.50000000000000000, 20.000000000000000,
3181 4.0000000000000000, 0.69999999999999996 },
3182 { 110837674.65652709, 0.50000000000000000, 20.000000000000000,
3183 4.0000000000000000, 0.80000000000000004 },
3184 { 6688966964170.6807, 0.50000000000000000, 20.000000000000000,
3185 4.0000000000000000, 0.89999999999999991 },
3187 const double toler067
= 2.5000000000000020e-13;
3189 // Test data for a=0.50000000000000000, b=20.000000000000000, c=6.0000000000000000.
3190 // max(|f - f_GSL|): 1.4305114746093750e-05
3191 // max(|f - f_GSL| / |f_GSL|): 1.9261147266354006e-15
3192 const testcase_hyperg
<double>
3195 { 0.48716309885816822, 0.50000000000000000, 20.000000000000000,
3196 6.0000000000000000, -0.90000000000000002 },
3197 { 0.50965859152542337, 0.50000000000000000, 20.000000000000000,
3198 6.0000000000000000, -0.80000000000000004 },
3199 { 0.53554809210658938, 0.50000000000000000, 20.000000000000000,
3200 6.0000000000000000, -0.69999999999999996 },
3201 { 0.56576689207507136, 0.50000000000000000, 20.000000000000000,
3202 6.0000000000000000, -0.59999999999999998 },
3203 { 0.60164849637133655, 0.50000000000000000, 20.000000000000000,
3204 6.0000000000000000, -0.50000000000000000 },
3205 { 0.64516711595404364, 0.50000000000000000, 20.000000000000000,
3206 6.0000000000000000, -0.40000000000000002 },
3207 { 0.69938278735493520, 0.50000000000000000, 20.000000000000000,
3208 6.0000000000000000, -0.30000000000000004 },
3209 { 0.76931621518401860, 0.50000000000000000, 20.000000000000000,
3210 6.0000000000000000, -0.19999999999999996 },
3211 { 0.86381808725530662, 0.50000000000000000, 20.000000000000000,
3212 6.0000000000000000, -0.099999999999999978 },
3213 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3214 6.0000000000000000, 0.0000000000000000 },
3215 { 1.2152051956815531, 0.50000000000000000, 20.000000000000000,
3216 6.0000000000000000, 0.10000000000000009 },
3217 { 1.6052546785425543, 0.50000000000000000, 20.000000000000000,
3218 6.0000000000000000, 0.19999999999999996 },
3219 { 2.4765586046012635, 0.50000000000000000, 20.000000000000000,
3220 6.0000000000000000, 0.30000000000000004 },
3221 { 5.1564492216997486, 0.50000000000000000, 20.000000000000000,
3222 6.0000000000000000, 0.39999999999999991 },
3223 { 18.446158392136365, 0.50000000000000000, 20.000000000000000,
3224 6.0000000000000000, 0.50000000000000000 },
3225 { 150.44577670123971, 0.50000000000000000, 20.000000000000000,
3226 6.0000000000000000, 0.60000000000000009 },
3227 { 3862.6317400115768, 0.50000000000000000, 20.000000000000000,
3228 6.0000000000000000, 0.69999999999999996 },
3229 { 632428.34833625401, 0.50000000000000000, 20.000000000000000,
3230 6.0000000000000000, 0.80000000000000004 },
3231 { 7426927663.3808765, 0.50000000000000000, 20.000000000000000,
3232 6.0000000000000000, 0.89999999999999991 },
3234 const double toler068
= 2.5000000000000020e-13;
3236 // Test data for a=0.50000000000000000, b=20.000000000000000, c=8.0000000000000000.
3237 // max(|f - f_GSL|): 4.0978193283081055e-08
3238 // max(|f - f_GSL| / |f_GSL|): 1.7692881266931737e-15
3239 const testcase_hyperg
<double>
3242 { 0.54703266209548373, 0.50000000000000000, 20.000000000000000,
3243 8.0000000000000000, -0.90000000000000002 },
3244 { 0.56997321774144960, 0.50000000000000000, 20.000000000000000,
3245 8.0000000000000000, -0.80000000000000004 },
3246 { 0.59603026159654982, 0.50000000000000000, 20.000000000000000,
3247 8.0000000000000000, -0.69999999999999996 },
3248 { 0.62596978851120511, 0.50000000000000000, 20.000000000000000,
3249 8.0000000000000000, -0.59999999999999998 },
3250 { 0.66084565876898915, 0.50000000000000000, 20.000000000000000,
3251 8.0000000000000000, -0.50000000000000000 },
3252 { 0.70215256667232873, 0.50000000000000000, 20.000000000000000,
3253 8.0000000000000000, -0.40000000000000002 },
3254 { 0.75208916592008557, 0.50000000000000000, 20.000000000000000,
3255 8.0000000000000000, -0.30000000000000004 },
3256 { 0.81403631111658625, 0.50000000000000000, 20.000000000000000,
3257 8.0000000000000000, -0.19999999999999996 },
3258 { 0.89348608489854597, 0.50000000000000000, 20.000000000000000,
3259 8.0000000000000000, -0.099999999999999978 },
3260 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3261 8.0000000000000000, 0.0000000000000000 },
3262 { 1.1517793185139173, 0.50000000000000000, 20.000000000000000,
3263 8.0000000000000000, 0.10000000000000009 },
3264 { 1.3878110313656598, 0.50000000000000000, 20.000000000000000,
3265 8.0000000000000000, 0.19999999999999996 },
3266 { 1.8061071794572381, 0.50000000000000000, 20.000000000000000,
3267 8.0000000000000000, 0.30000000000000004 },
3268 { 2.7148594517859586, 0.50000000000000000, 20.000000000000000,
3269 8.0000000000000000, 0.39999999999999991 },
3270 { 5.4529435709049361, 0.50000000000000000, 20.000000000000000,
3271 8.0000000000000000, 0.50000000000000000 },
3272 { 19.487310275377109, 0.50000000000000000, 20.000000000000000,
3273 8.0000000000000000, 0.60000000000000009 },
3274 { 191.69079165937470, 0.50000000000000000, 20.000000000000000,
3275 8.0000000000000000, 0.69999999999999996 },
3276 { 10218.543981792311, 0.50000000000000000, 20.000000000000000,
3277 8.0000000000000000, 0.80000000000000004 },
3278 { 23160836.646583911, 0.50000000000000000, 20.000000000000000,
3279 8.0000000000000000, 0.89999999999999991 },
3281 const double toler069
= 2.5000000000000020e-13;
3283 // Test data for a=0.50000000000000000, b=20.000000000000000, c=10.000000000000000.
3284 // max(|f - f_GSL|): 2.9103830456733704e-10
3285 // max(|f - f_GSL| / |f_GSL|): 1.6694673196526831e-15
3286 const testcase_hyperg
<double>
3289 { 0.59292067298616025, 0.50000000000000000, 20.000000000000000,
3290 10.000000000000000, -0.90000000000000002 },
3291 { 0.61572496720679892, 0.50000000000000000, 20.000000000000000,
3292 10.000000000000000, -0.80000000000000004 },
3293 { 0.64135339122875590, 0.50000000000000000, 20.000000000000000,
3294 10.000000000000000, -0.69999999999999996 },
3295 { 0.67043457419280461, 0.50000000000000000, 20.000000000000000,
3296 10.000000000000000, -0.59999999999999998 },
3297 { 0.70380956268170969, 0.50000000000000000, 20.000000000000000,
3298 10.000000000000000, -0.50000000000000000 },
3299 { 0.74263251901495220, 0.50000000000000000, 20.000000000000000,
3300 10.000000000000000, -0.40000000000000002 },
3301 { 0.78853555445528256, 0.50000000000000000, 20.000000000000000,
3302 10.000000000000000, -0.30000000000000004 },
3303 { 0.84391122775673755, 0.50000000000000000, 20.000000000000000,
3304 10.000000000000000, -0.19999999999999996 },
3305 { 0.91242401018807373, 0.50000000000000000, 20.000000000000000,
3306 10.000000000000000, -0.099999999999999978 },
3307 { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
3308 10.000000000000000, 0.0000000000000000 },
3309 { 1.1169059681274873, 0.50000000000000000, 20.000000000000000,
3310 10.000000000000000, 0.10000000000000009 },
3311 { 1.2825928301302667, 0.50000000000000000, 20.000000000000000,
3312 10.000000000000000, 0.19999999999999996 },
3313 { 1.5385937789924939, 0.50000000000000000, 20.000000000000000,
3314 10.000000000000000, 0.30000000000000004 },
3315 { 1.9895771187893898, 0.50000000000000000, 20.000000000000000,
3316 10.000000000000000, 0.39999999999999991 },
3317 { 2.9707335806970168, 0.50000000000000000, 20.000000000000000,
3318 10.000000000000000, 0.50000000000000000 },
3319 { 6.0299506157180467, 0.50000000000000000, 20.000000000000000,
3320 10.000000000000000, 0.60000000000000009 },
3321 { 24.259090336955577, 0.50000000000000000, 20.000000000000000,
3322 10.000000000000000, 0.69999999999999996 },
3323 { 406.27267173257223, 0.50000000000000000, 20.000000000000000,
3324 10.000000000000000, 0.80000000000000004 },
3325 { 174330.03997220192, 0.50000000000000000, 20.000000000000000,
3326 10.000000000000000, 0.89999999999999991 },
3328 const double toler070
= 2.5000000000000020e-13;
3330 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
3331 // max(|f - f_GSL|): 0.0000000000000000
3332 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3333 const testcase_hyperg
<double>
3336 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3337 2.0000000000000000, -0.90000000000000002 },
3338 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3339 2.0000000000000000, -0.80000000000000004 },
3340 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3341 2.0000000000000000, -0.69999999999999996 },
3342 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3343 2.0000000000000000, -0.59999999999999998 },
3344 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3345 2.0000000000000000, -0.50000000000000000 },
3346 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3347 2.0000000000000000, -0.40000000000000002 },
3348 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3349 2.0000000000000000, -0.30000000000000004 },
3350 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3351 2.0000000000000000, -0.19999999999999996 },
3352 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3353 2.0000000000000000, -0.099999999999999978 },
3354 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3355 2.0000000000000000, 0.0000000000000000 },
3356 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3357 2.0000000000000000, 0.10000000000000009 },
3358 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3359 2.0000000000000000, 0.19999999999999996 },
3360 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3361 2.0000000000000000, 0.30000000000000004 },
3362 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3363 2.0000000000000000, 0.39999999999999991 },
3364 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3365 2.0000000000000000, 0.50000000000000000 },
3366 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3367 2.0000000000000000, 0.60000000000000009 },
3368 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3369 2.0000000000000000, 0.69999999999999996 },
3370 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3371 2.0000000000000000, 0.80000000000000004 },
3372 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3373 2.0000000000000000, 0.89999999999999991 },
3375 const double toler071
= 2.5000000000000020e-13;
3377 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
3378 // max(|f - f_GSL|): 0.0000000000000000
3379 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3380 const testcase_hyperg
<double>
3383 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3384 4.0000000000000000, -0.90000000000000002 },
3385 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3386 4.0000000000000000, -0.80000000000000004 },
3387 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3388 4.0000000000000000, -0.69999999999999996 },
3389 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3390 4.0000000000000000, -0.59999999999999998 },
3391 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3392 4.0000000000000000, -0.50000000000000000 },
3393 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3394 4.0000000000000000, -0.40000000000000002 },
3395 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3396 4.0000000000000000, -0.30000000000000004 },
3397 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3398 4.0000000000000000, -0.19999999999999996 },
3399 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3400 4.0000000000000000, -0.099999999999999978 },
3401 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3402 4.0000000000000000, 0.0000000000000000 },
3403 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3404 4.0000000000000000, 0.10000000000000009 },
3405 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3406 4.0000000000000000, 0.19999999999999996 },
3407 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3408 4.0000000000000000, 0.30000000000000004 },
3409 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3410 4.0000000000000000, 0.39999999999999991 },
3411 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3412 4.0000000000000000, 0.50000000000000000 },
3413 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3414 4.0000000000000000, 0.60000000000000009 },
3415 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3416 4.0000000000000000, 0.69999999999999996 },
3417 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3418 4.0000000000000000, 0.80000000000000004 },
3419 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3420 4.0000000000000000, 0.89999999999999991 },
3422 const double toler072
= 2.5000000000000020e-13;
3424 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
3425 // max(|f - f_GSL|): 0.0000000000000000
3426 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3427 const testcase_hyperg
<double>
3430 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3431 6.0000000000000000, -0.90000000000000002 },
3432 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3433 6.0000000000000000, -0.80000000000000004 },
3434 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3435 6.0000000000000000, -0.69999999999999996 },
3436 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3437 6.0000000000000000, -0.59999999999999998 },
3438 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3439 6.0000000000000000, -0.50000000000000000 },
3440 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3441 6.0000000000000000, -0.40000000000000002 },
3442 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3443 6.0000000000000000, -0.30000000000000004 },
3444 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3445 6.0000000000000000, -0.19999999999999996 },
3446 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3447 6.0000000000000000, -0.099999999999999978 },
3448 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3449 6.0000000000000000, 0.0000000000000000 },
3450 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3451 6.0000000000000000, 0.10000000000000009 },
3452 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3453 6.0000000000000000, 0.19999999999999996 },
3454 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3455 6.0000000000000000, 0.30000000000000004 },
3456 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3457 6.0000000000000000, 0.39999999999999991 },
3458 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3459 6.0000000000000000, 0.50000000000000000 },
3460 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3461 6.0000000000000000, 0.60000000000000009 },
3462 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3463 6.0000000000000000, 0.69999999999999996 },
3464 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3465 6.0000000000000000, 0.80000000000000004 },
3466 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3467 6.0000000000000000, 0.89999999999999991 },
3469 const double toler073
= 2.5000000000000020e-13;
3471 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
3472 // max(|f - f_GSL|): 0.0000000000000000
3473 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3474 const testcase_hyperg
<double>
3477 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3478 8.0000000000000000, -0.90000000000000002 },
3479 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3480 8.0000000000000000, -0.80000000000000004 },
3481 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3482 8.0000000000000000, -0.69999999999999996 },
3483 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3484 8.0000000000000000, -0.59999999999999998 },
3485 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3486 8.0000000000000000, -0.50000000000000000 },
3487 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3488 8.0000000000000000, -0.40000000000000002 },
3489 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3490 8.0000000000000000, -0.30000000000000004 },
3491 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3492 8.0000000000000000, -0.19999999999999996 },
3493 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3494 8.0000000000000000, -0.099999999999999978 },
3495 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3496 8.0000000000000000, 0.0000000000000000 },
3497 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3498 8.0000000000000000, 0.10000000000000009 },
3499 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3500 8.0000000000000000, 0.19999999999999996 },
3501 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3502 8.0000000000000000, 0.30000000000000004 },
3503 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3504 8.0000000000000000, 0.39999999999999991 },
3505 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3506 8.0000000000000000, 0.50000000000000000 },
3507 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3508 8.0000000000000000, 0.60000000000000009 },
3509 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3510 8.0000000000000000, 0.69999999999999996 },
3511 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3512 8.0000000000000000, 0.80000000000000004 },
3513 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3514 8.0000000000000000, 0.89999999999999991 },
3516 const double toler074
= 2.5000000000000020e-13;
3518 // Test data for a=1.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
3519 // max(|f - f_GSL|): 0.0000000000000000
3520 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
3521 const testcase_hyperg
<double>
3524 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3525 10.000000000000000, -0.90000000000000002 },
3526 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3527 10.000000000000000, -0.80000000000000004 },
3528 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3529 10.000000000000000, -0.69999999999999996 },
3530 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3531 10.000000000000000, -0.59999999999999998 },
3532 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3533 10.000000000000000, -0.50000000000000000 },
3534 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3535 10.000000000000000, -0.40000000000000002 },
3536 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3537 10.000000000000000, -0.30000000000000004 },
3538 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3539 10.000000000000000, -0.19999999999999996 },
3540 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3541 10.000000000000000, -0.099999999999999978 },
3542 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3543 10.000000000000000, 0.0000000000000000 },
3544 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3545 10.000000000000000, 0.10000000000000009 },
3546 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3547 10.000000000000000, 0.19999999999999996 },
3548 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3549 10.000000000000000, 0.30000000000000004 },
3550 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3551 10.000000000000000, 0.39999999999999991 },
3552 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3553 10.000000000000000, 0.50000000000000000 },
3554 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3555 10.000000000000000, 0.60000000000000009 },
3556 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3557 10.000000000000000, 0.69999999999999996 },
3558 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3559 10.000000000000000, 0.80000000000000004 },
3560 { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
3561 10.000000000000000, 0.89999999999999991 },
3563 const double toler075
= 2.5000000000000020e-13;
3565 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
3566 // max(|f - f_GSL|): 6.6613381477509392e-16
3567 // max(|f - f_GSL| / |f_GSL|): 4.3839191144484910e-16
3568 const testcase_hyperg
<double>
3571 { 0.84089972268671531, 1.0000000000000000, 0.50000000000000000,
3572 2.0000000000000000, -0.90000000000000002 },
3573 { 0.85410196624968460, 1.0000000000000000, 0.50000000000000000,
3574 2.0000000000000000, -0.80000000000000004 },
3575 { 0.86811566011579955, 1.0000000000000000, 0.50000000000000000,
3576 2.0000000000000000, -0.69999999999999996 },
3577 { 0.88303688022450522, 1.0000000000000000, 0.50000000000000000,
3578 2.0000000000000000, -0.59999999999999998 },
3579 { 0.89897948556635621, 1.0000000000000000, 0.50000000000000000,
3580 2.0000000000000000, -0.50000000000000000 },
3581 { 0.91607978309961580, 1.0000000000000000, 0.50000000000000000,
3582 2.0000000000000000, -0.40000000000000002 },
3583 { 0.93450283399425305, 1.0000000000000000, 0.50000000000000000,
3584 2.0000000000000000, -0.30000000000000004 },
3585 { 0.95445115010332193, 1.0000000000000000, 0.50000000000000000,
3586 2.0000000000000000, -0.19999999999999996 },
3587 { 0.97617696340303095, 1.0000000000000000, 0.50000000000000000,
3588 2.0000000000000000, -0.099999999999999978 },
3589 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3590 2.0000000000000000, 0.0000000000000000 },
3591 { 1.0263340389897240, 1.0000000000000000, 0.50000000000000000,
3592 2.0000000000000000, 0.10000000000000009 },
3593 { 1.0557280900008410, 1.0000000000000000, 0.50000000000000000,
3594 2.0000000000000000, 0.19999999999999996 },
3595 { 1.0889331564394962, 1.0000000000000000, 0.50000000000000000,
3596 2.0000000000000000, 0.30000000000000004 },
3597 { 1.1270166537925830, 1.0000000000000000, 0.50000000000000000,
3598 2.0000000000000000, 0.39999999999999991 },
3599 { 1.1715728752538095, 1.0000000000000000, 0.50000000000000000,
3600 2.0000000000000000, 0.50000000000000000 },
3601 { 1.2251482265544145, 1.0000000000000000, 0.50000000000000000,
3602 2.0000000000000000, 0.60000000000000009 },
3603 { 1.2922212642709541, 1.0000000000000000, 0.50000000000000000,
3604 2.0000000000000000, 0.69999999999999996 },
3605 { 1.3819660112501042, 1.0000000000000000, 0.50000000000000000,
3606 2.0000000000000000, 0.80000000000000004 },
3607 { 1.5194938532959119, 1.0000000000000000, 0.50000000000000000,
3608 2.0000000000000000, 0.89999999999999991 },
3610 const double toler076
= 2.5000000000000020e-13;
3612 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
3613 // max(|f - f_GSL|): 2.2204460492503131e-16
3614 // max(|f - f_GSL| / |f_GSL|): 2.1628301908162427e-16
3615 const testcase_hyperg
<double>
3618 { 0.90992197313391454, 1.0000000000000000, 0.50000000000000000,
3619 4.0000000000000000, -0.90000000000000002 },
3620 { 0.91822592662244484, 1.0000000000000000, 0.50000000000000000,
3621 4.0000000000000000, -0.80000000000000004 },
3622 { 0.92687104566419554, 1.0000000000000000, 0.50000000000000000,
3623 4.0000000000000000, -0.69999999999999996 },
3624 { 0.93588628166548848, 1.0000000000000000, 0.50000000000000000,
3625 4.0000000000000000, -0.59999999999999998 },
3626 { 0.94530459215552909, 1.0000000000000000, 0.50000000000000000,
3627 4.0000000000000000, -0.50000000000000000 },
3628 { 0.95516374875247456, 1.0000000000000000, 0.50000000000000000,
3629 4.0000000000000000, -0.40000000000000002 },
3630 { 0.96550736800511849, 1.0000000000000000, 0.50000000000000000,
3631 4.0000000000000000, -0.30000000000000004 },
3632 { 0.97638624595136270, 1.0000000000000000, 0.50000000000000000,
3633 4.0000000000000000, -0.19999999999999996 },
3634 { 0.98786011482678993, 1.0000000000000000, 0.50000000000000000,
3635 4.0000000000000000, -0.099999999999999978 },
3636 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3637 4.0000000000000000, 0.0000000000000000 },
3638 { 1.0128914530682316, 1.0000000000000000, 0.50000000000000000,
3639 4.0000000000000000, 0.10000000000000009 },
3640 { 1.0266391040215350, 1.0000000000000000, 0.50000000000000000,
3641 4.0000000000000000, 0.19999999999999996 },
3642 { 1.0413732738729464, 1.0000000000000000, 0.50000000000000000,
3643 4.0000000000000000, 0.30000000000000004 },
3644 { 1.0572599536532992, 1.0000000000000000, 0.50000000000000000,
3645 4.0000000000000000, 0.39999999999999991 },
3646 { 1.0745166004060953, 1.0000000000000000, 0.50000000000000000,
3647 4.0000000000000000, 0.50000000000000000 },
3648 { 1.0934387388831386, 1.0000000000000000, 0.50000000000000000,
3649 4.0000000000000000, 0.60000000000000009 },
3650 { 1.1144486980714641, 1.0000000000000000, 0.50000000000000000,
3651 4.0000000000000000, 0.69999999999999996 },
3652 { 1.1381966011250106, 1.0000000000000000, 0.50000000000000000,
3653 4.0000000000000000, 0.80000000000000004 },
3654 { 1.1658171625342397, 1.0000000000000000, 0.50000000000000000,
3655 4.0000000000000000, 0.89999999999999991 },
3657 const double toler077
= 2.5000000000000020e-13;
3659 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
3660 // max(|f - f_GSL|): 4.4408920985006262e-16
3661 // max(|f - f_GSL| / |f_GSL|): 4.5130734546221216e-16
3662 const testcase_hyperg
<double>
3665 { 0.93641908369732896, 1.0000000000000000, 0.50000000000000000,
3666 6.0000000000000000, -0.90000000000000002 },
3667 { 0.94256349654111271, 1.0000000000000000, 0.50000000000000000,
3668 6.0000000000000000, -0.80000000000000004 },
3669 { 0.94890138508461319, 1.0000000000000000, 0.50000000000000000,
3670 6.0000000000000000, -0.69999999999999996 },
3671 { 0.95544578858430029, 1.0000000000000000, 0.50000000000000000,
3672 6.0000000000000000, -0.59999999999999998 },
3673 { 0.96221121193620762, 1.0000000000000000, 0.50000000000000000,
3674 6.0000000000000000, -0.50000000000000000 },
3675 { 0.96921386948293542, 1.0000000000000000, 0.50000000000000000,
3676 6.0000000000000000, -0.40000000000000002 },
3677 { 0.97647198488394704, 1.0000000000000000, 0.50000000000000000,
3678 6.0000000000000000, -0.30000000000000004 },
3679 { 0.98400616412578656, 1.0000000000000000, 0.50000000000000000,
3680 6.0000000000000000, -0.19999999999999996 },
3681 { 0.99183986544963032, 1.0000000000000000, 0.50000000000000000,
3682 6.0000000000000000, -0.099999999999999978 },
3683 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3684 6.0000000000000000, 0.0000000000000000 },
3685 { 1.0085177124149158, 1.0000000000000000, 0.50000000000000000,
3686 6.0000000000000000, 0.10000000000000009 },
3687 { 1.0174294150407122, 1.0000000000000000, 0.50000000000000000,
3688 6.0000000000000000, 0.19999999999999996 },
3689 { 1.0267781897388850, 1.0000000000000000, 0.50000000000000000,
3690 6.0000000000000000, 0.30000000000000004 },
3691 { 1.0366157405967285, 1.0000000000000000, 0.50000000000000000,
3692 6.0000000000000000, 0.39999999999999991 },
3693 { 1.0470052068648839, 1.0000000000000000, 0.50000000000000000,
3694 6.0000000000000000, 0.50000000000000000 },
3695 { 1.0580253905513313, 1.0000000000000000, 0.50000000000000000,
3696 6.0000000000000000, 0.60000000000000009 },
3697 { 1.0697774741209765, 1.0000000000000000, 0.50000000000000000,
3698 6.0000000000000000, 0.69999999999999996 },
3699 { 1.0823965556448414, 1.0000000000000000, 0.50000000000000000,
3700 6.0000000000000000, 0.80000000000000004 },
3701 { 1.0960739512057103, 1.0000000000000000, 0.50000000000000000,
3702 6.0000000000000000, 0.89999999999999991 },
3704 const double toler078
= 2.5000000000000020e-13;
3706 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
3707 // max(|f - f_GSL|): 4.4408920985006262e-16
3708 // max(|f - f_GSL| / |f_GSL|): 4.4952983921284566e-16
3709 const testcase_hyperg
<double>
3712 { 0.95069883346936235, 1.0000000000000000, 0.50000000000000000,
3713 8.0000000000000000, -0.90000000000000002 },
3714 { 0.95559618047704131, 1.0000000000000000, 0.50000000000000000,
3715 8.0000000000000000, -0.80000000000000004 },
3716 { 0.96061938755931664, 1.0000000000000000, 0.50000000000000000,
3717 8.0000000000000000, -0.69999999999999996 },
3718 { 0.96577553912851333, 1.0000000000000000, 0.50000000000000000,
3719 8.0000000000000000, -0.59999999999999998 },
3720 { 0.97107239473807716, 1.0000000000000000, 0.50000000000000000,
3721 8.0000000000000000, -0.50000000000000000 },
3722 { 0.97651848528588481, 1.0000000000000000, 0.50000000000000000,
3723 8.0000000000000000, -0.40000000000000002 },
3724 { 0.98212322830227150, 1.0000000000000000, 0.50000000000000000,
3725 8.0000000000000000, -0.30000000000000004 },
3726 { 0.98789706736195781, 1.0000000000000000, 0.50000000000000000,
3727 8.0000000000000000, -0.19999999999999996 },
3728 { 0.99385164237825074, 1.0000000000000000, 0.50000000000000000,
3729 8.0000000000000000, -0.099999999999999978 },
3730 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3731 8.0000000000000000, 0.0000000000000000 },
3732 { 1.0063568569383123, 1.0000000000000000, 0.50000000000000000,
3733 8.0000000000000000, 0.10000000000000009 },
3734 { 1.0129389344715818, 1.0000000000000000, 0.50000000000000000,
3735 8.0000000000000000, 0.19999999999999996 },
3736 { 1.0197653907773940, 1.0000000000000000, 0.50000000000000000,
3737 8.0000000000000000, 0.30000000000000004 },
3738 { 1.0268583912277143, 1.0000000000000000, 0.50000000000000000,
3739 8.0000000000000000, 0.39999999999999991 },
3740 { 1.0342438793937092, 1.0000000000000000, 0.50000000000000000,
3741 8.0000000000000000, 0.50000000000000000 },
3742 { 1.0419526514766855, 1.0000000000000000, 0.50000000000000000,
3743 8.0000000000000000, 0.60000000000000009 },
3744 { 1.0500219124976327, 1.0000000000000000, 0.50000000000000000,
3745 8.0000000000000000, 0.69999999999999996 },
3746 { 1.0584976491907043, 1.0000000000000000, 0.50000000000000000,
3747 8.0000000000000000, 0.80000000000000004 },
3748 { 1.0674385240268101, 1.0000000000000000, 0.50000000000000000,
3749 8.0000000000000000, 0.89999999999999991 },
3751 const double toler079
= 2.5000000000000020e-13;
3753 // Test data for a=1.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
3754 // max(|f - f_GSL|): 2.2204460492503131e-16
3755 // max(|f - f_GSL| / |f_GSL|): 2.2314542629443562e-16
3756 const testcase_hyperg
<double>
3759 { 0.95968319138913905, 1.0000000000000000, 0.50000000000000000,
3760 10.000000000000000, -0.90000000000000002 },
3761 { 0.96376169072755802, 1.0000000000000000, 0.50000000000000000,
3762 10.000000000000000, -0.80000000000000004 },
3763 { 0.96792900082729372, 1.0000000000000000, 0.50000000000000000,
3764 10.000000000000000, -0.69999999999999996 },
3765 { 0.97218942798115737, 1.0000000000000000, 0.50000000000000000,
3766 10.000000000000000, -0.59999999999999998 },
3767 { 0.97654763592586835, 1.0000000000000000, 0.50000000000000000,
3768 10.000000000000000, -0.50000000000000000 },
3769 { 0.98100869054353879, 1.0000000000000000, 0.50000000000000000,
3770 10.000000000000000, -0.40000000000000002 },
3771 { 0.98557811238699278, 1.0000000000000000, 0.50000000000000000,
3772 10.000000000000000, -0.30000000000000004 },
3773 { 0.99026193885795544, 1.0000000000000000, 0.50000000000000000,
3774 10.000000000000000, -0.19999999999999996 },
3775 { 0.99506679842072221, 1.0000000000000000, 0.50000000000000000,
3776 10.000000000000000, -0.099999999999999978 },
3777 { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
3778 10.000000000000000, 0.0000000000000000 },
3779 { 1.0050696417919618, 1.0000000000000000, 0.50000000000000000,
3780 10.000000000000000, 0.10000000000000009 },
3781 { 1.0102847452747090, 1.0000000000000000, 0.50000000000000000,
3782 10.000000000000000, 0.19999999999999996 },
3783 { 1.0156554225057022, 1.0000000000000000, 0.50000000000000000,
3784 10.000000000000000, 0.30000000000000004 },
3785 { 1.0211930882963096, 1.0000000000000000, 0.50000000000000000,
3786 10.000000000000000, 0.39999999999999991 },
3787 { 1.0269107343740711, 1.0000000000000000, 0.50000000000000000,
3788 10.000000000000000, 0.50000000000000000 },
3789 { 1.0328232917216298, 1.0000000000000000, 0.50000000000000000,
3790 10.000000000000000, 0.60000000000000009 },
3791 { 1.0389481230247195, 1.0000000000000000, 0.50000000000000000,
3792 10.000000000000000, 0.69999999999999996 },
3793 { 1.0453057164134614, 1.0000000000000000, 0.50000000000000000,
3794 10.000000000000000, 0.80000000000000004 },
3795 { 1.0519207114461246, 1.0000000000000000, 0.50000000000000000,
3796 10.000000000000000, 0.89999999999999991 },
3798 const double toler080
= 2.5000000000000020e-13;
3800 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
3801 // max(|f - f_GSL|): 3.5527136788005009e-15
3802 // max(|f - f_GSL| / |f_GSL|): 1.3886315518367356e-15
3803 const testcase_hyperg
<double>
3806 { 0.71317098463599415, 1.0000000000000000, 1.0000000000000000,
3807 2.0000000000000000, -0.90000000000000002 },
3808 { 0.73473333112764883, 1.0000000000000000, 1.0000000000000000,
3809 2.0000000000000000, -0.80000000000000004 },
3810 { 0.75804035866024344, 1.0000000000000000, 1.0000000000000000,
3811 2.0000000000000000, -0.69999999999999996 },
3812 { 0.78333938207622589, 1.0000000000000000, 1.0000000000000000,
3813 2.0000000000000000, -0.59999999999999998 },
3814 { 0.81093021621632866, 1.0000000000000000, 1.0000000000000000,
3815 2.0000000000000000, -0.50000000000000000 },
3816 { 0.84118059155303193, 1.0000000000000000, 1.0000000000000000,
3817 2.0000000000000000, -0.40000000000000002 },
3818 { 0.87454754822497016, 1.0000000000000000, 1.0000000000000000,
3819 2.0000000000000000, -0.30000000000000004 },
3820 { 0.91160778396977304, 1.0000000000000000, 1.0000000000000000,
3821 2.0000000000000000, -0.19999999999999996 },
3822 { 0.95310179804324857, 1.0000000000000000, 1.0000000000000000,
3823 2.0000000000000000, -0.099999999999999978 },
3824 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
3825 2.0000000000000000, 0.0000000000000000 },
3826 { 1.0536051565782629, 1.0000000000000000, 1.0000000000000000,
3827 2.0000000000000000, 0.10000000000000009 },
3828 { 1.1157177565710485, 1.0000000000000000, 1.0000000000000000,
3829 2.0000000000000000, 0.19999999999999996 },
3830 { 1.1889164797957747, 1.0000000000000000, 1.0000000000000000,
3831 2.0000000000000000, 0.30000000000000004 },
3832 { 1.2770640594149765, 1.0000000000000000, 1.0000000000000000,
3833 2.0000000000000000, 0.39999999999999991 },
3834 { 1.3862943611198899, 1.0000000000000000, 1.0000000000000000,
3835 2.0000000000000000, 0.50000000000000000 },
3836 { 1.5271512197902593, 1.0000000000000000, 1.0000000000000000,
3837 2.0000000000000000, 0.60000000000000009 },
3838 { 1.7199611490370503, 1.0000000000000000, 1.0000000000000000,
3839 2.0000000000000000, 0.69999999999999996 },
3840 { 2.0117973905426232, 1.0000000000000000, 1.0000000000000000,
3841 2.0000000000000000, 0.80000000000000004 },
3842 { 2.5584278811044912, 1.0000000000000000, 1.0000000000000000,
3843 2.0000000000000000, 0.89999999999999991 },
3845 const double toler081
= 2.5000000000000020e-13;
3847 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
3848 // max(|f - f_GSL|): 4.4408920985006262e-16
3849 // max(|f - f_GSL| / |f_GSL|): 4.5503149336769291e-16
3850 const testcase_hyperg
<double>
3853 { 0.83165649828125487, 1.0000000000000000, 1.0000000000000000,
3854 4.0000000000000000, -0.90000000000000002 },
3855 { 0.84626246650116621, 1.0000000000000000, 1.0000000000000000,
3856 4.0000000000000000, -0.80000000000000004 },
3857 { 0.86165287670267476, 1.0000000000000000, 1.0000000000000000,
3858 4.0000000000000000, -0.69999999999999996 },
3859 { 0.87790681762615264, 1.0000000000000000, 1.0000000000000000,
3860 4.0000000000000000, -0.59999999999999998 },
3861 { 0.89511583784087634, 1.0000000000000000, 1.0000000000000000,
3862 4.0000000000000000, -0.50000000000000000 },
3863 { 0.91338673957393834, 1.0000000000000000, 1.0000000000000000,
3864 4.0000000000000000, -0.40000000000000002 },
3865 { 0.93284521667332010, 1.0000000000000000, 1.0000000000000000,
3866 4.0000000000000000, -0.30000000000000004 },
3867 { 0.95364066873549813, 1.0000000000000000, 1.0000000000000000,
3868 4.0000000000000000, -0.19999999999999996 },
3869 { 0.97595268969924187, 1.0000000000000000, 1.0000000000000000,
3870 4.0000000000000000, -0.099999999999999978 },
3871 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
3872 4.0000000000000000, 0.0000000000000000 },
3873 { 1.0260530485179122, 1.0000000000000000, 1.0000000000000000,
3874 4.0000000000000000, 0.10000000000000009 },
3875 { 1.0544523154103413, 1.0000000000000000, 1.0000000000000000,
3876 4.0000000000000000, 0.19999999999999996 },
3877 { 1.0856358366643180, 1.0000000000000000, 1.0000000000000000,
3878 4.0000000000000000, 0.30000000000000004 },
3879 { 1.1201824010510930, 1.0000000000000000, 1.0000000000000000,
3880 4.0000000000000000, 0.39999999999999991 },
3881 { 1.1588830833596719, 1.0000000000000000, 1.0000000000000000,
3882 4.0000000000000000, 0.50000000000000000 },
3883 { 1.2028682930536780, 1.0000000000000000, 1.0000000000000000,
3884 4.0000000000000000, 0.60000000000000009 },
3885 { 1.2538561433469468, 1.0000000000000000, 1.0000000000000000,
3886 4.0000000000000000, 0.69999999999999996 },
3887 { 1.3147120107267418, 1.0000000000000000, 1.0000000000000000,
3888 4.0000000000000000, 0.80000000000000004 },
3889 { 1.3910528844853491, 1.0000000000000000, 1.0000000000000000,
3890 4.0000000000000000, 0.89999999999999991 },
3892 const double toler082
= 2.5000000000000020e-13;
3894 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
3895 // max(|f - f_GSL|): 4.4408920985006262e-16
3896 // max(|f - f_GSL| / |f_GSL|): 4.5856134910670077e-16
3897 const testcase_hyperg
<double>
3900 { 0.87917686994924560, 1.0000000000000000, 1.0000000000000000,
3901 6.0000000000000000, -0.90000000000000002 },
3902 { 0.89033956110358403, 1.0000000000000000, 1.0000000000000000,
3903 6.0000000000000000, -0.80000000000000004 },
3904 { 0.90196195126098355, 1.0000000000000000, 1.0000000000000000,
3905 6.0000000000000000, -0.69999999999999996 },
3906 { 0.91408080149514681, 1.0000000000000000, 1.0000000000000000,
3907 6.0000000000000000, -0.59999999999999998 },
3908 { 0.92673756761314952, 1.0000000000000000, 1.0000000000000000,
3909 6.0000000000000000, -0.50000000000000000 },
3910 { 0.93997926630123430, 1.0000000000000000, 1.0000000000000000,
3911 6.0000000000000000, -0.40000000000000002 },
3912 { 0.95385955885019325, 1.0000000000000000, 1.0000000000000000,
3913 6.0000000000000000, -0.30000000000000004 },
3914 { 0.96844012412988900, 1.0000000000000000, 1.0000000000000000,
3915 6.0000000000000000, -0.19999999999999996 },
3916 { 0.98379242268046208, 1.0000000000000000, 1.0000000000000000,
3917 6.0000000000000000, -0.099999999999999978 },
3918 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
3919 6.0000000000000000, 0.0000000000000000 },
3920 { 1.0171615499181177, 1.0000000000000000, 1.0000000000000000,
3921 6.0000000000000000, 0.10000000000000009 },
3922 { 1.0353950776091037, 1.0000000000000000, 1.0000000000000000,
3923 6.0000000000000000, 0.19999999999999996 },
3924 { 1.0548437030651112, 1.0000000000000000, 1.0000000000000000,
3925 6.0000000000000000, 0.30000000000000004 },
3926 { 1.0756840039415978, 1.0000000000000000, 1.0000000000000000,
3927 6.0000000000000000, 0.39999999999999991 },
3928 { 1.0981384722661196, 1.0000000000000000, 1.0000000000000000,
3929 6.0000000000000000, 0.50000000000000000 },
3930 { 1.1224950318916129, 1.0000000000000000, 1.0000000000000000,
3931 6.0000000000000000, 0.60000000000000009 },
3932 { 1.1491396357184527, 1.0000000000000000, 1.0000000000000000,
3933 6.0000000000000000, 0.69999999999999996 },
3934 { 1.1786158344507012, 1.0000000000000000, 1.0000000000000000,
3935 6.0000000000000000, 0.80000000000000004 },
3936 { 1.2117500593515478, 1.0000000000000000, 1.0000000000000000,
3937 6.0000000000000000, 0.89999999999999991 },
3939 const double toler083
= 2.5000000000000020e-13;
3941 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
3942 // max(|f - f_GSL|): 3.3306690738754696e-16
3943 // max(|f - f_GSL| / |f_GSL|): 3.4123997230344747e-16
3944 const testcase_hyperg
<double>
3947 { 0.90538259348578420, 1.0000000000000000, 1.0000000000000000,
3948 8.0000000000000000, -0.90000000000000002 },
3949 { 0.91444830598832061, 1.0000000000000000, 1.0000000000000000,
3950 8.0000000000000000, -0.80000000000000004 },
3951 { 0.92381915945973991, 1.0000000000000000, 1.0000000000000000,
3952 8.0000000000000000, -0.69999999999999996 },
3953 { 0.93351553488501793, 1.0000000000000000, 1.0000000000000000,
3954 8.0000000000000000, -0.59999999999999998 },
3955 { 0.94356001859234861, 1.0000000000000000, 1.0000000000000000,
3956 8.0000000000000000, -0.50000000000000000 },
3957 { 0.95397775039949584, 1.0000000000000000, 1.0000000000000000,
3958 8.0000000000000000, -0.40000000000000002 },
3959 { 0.96479684710618019, 1.0000000000000000, 1.0000000000000000,
3960 8.0000000000000000, -0.30000000000000004 },
3961 { 0.97604892281308531, 1.0000000000000000, 1.0000000000000000,
3962 8.0000000000000000, -0.19999999999999996 },
3963 { 0.98776973540356938, 1.0000000000000000, 1.0000000000000000,
3964 8.0000000000000000, -0.099999999999999978 },
3965 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
3966 8.0000000000000000, 0.0000000000000000 },
3967 { 1.0127864273812119, 1.0000000000000000, 1.0000000000000000,
3968 8.0000000000000000, 0.10000000000000009 },
3969 { 1.0261830717772533, 1.0000000000000000, 1.0000000000000000,
3970 8.0000000000000000, 0.19999999999999996 },
3971 { 1.0402531144740719, 1.0000000000000000, 1.0000000000000000,
3972 8.0000000000000000, 0.30000000000000004 },
3973 { 1.0550712790827002, 1.0000000000000000, 1.0000000000000000,
3974 8.0000000000000000, 0.39999999999999991 },
3975 { 1.0707271945059007, 1.0000000000000000, 1.0000000000000000,
3976 8.0000000000000000, 0.50000000000000000 },
3977 { 1.0873302420658923, 1.0000000000000000, 1.0000000000000000,
3978 8.0000000000000000, 0.60000000000000009 },
3979 { 1.1050168587085545, 1.0000000000000000, 1.0000000000000000,
3980 8.0000000000000000, 0.69999999999999996 },
3981 { 1.1239622188477687, 1.0000000000000000, 1.0000000000000000,
3982 8.0000000000000000, 0.80000000000000004 },
3983 { 1.1444006183097781, 1.0000000000000000, 1.0000000000000000,
3984 8.0000000000000000, 0.89999999999999991 },
3986 const double toler084
= 2.5000000000000020e-13;
3988 // Test data for a=1.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
3989 // max(|f - f_GSL|): 3.3306690738754696e-16
3990 // max(|f - f_GSL| / |f_GSL|): 3.3962402892941561e-16
3991 const testcase_hyperg
<double>
3994 { 0.92211295632330392, 1.0000000000000000, 1.0000000000000000,
3995 10.000000000000000, -0.90000000000000002 },
3996 { 0.92975727737040625, 1.0000000000000000, 1.0000000000000000,
3997 10.000000000000000, -0.80000000000000004 },
3998 { 0.93761992348333489, 1.0000000000000000, 1.0000000000000000,
3999 10.000000000000000, -0.69999999999999996 },
4000 { 0.94571346180587790, 1.0000000000000000, 1.0000000000000000,
4001 10.000000000000000, -0.59999999999999998 },
4002 { 0.95405164371146900, 1.0000000000000000, 1.0000000000000000,
4003 10.000000000000000, -0.50000000000000000 },
4004 { 0.96264956879205976, 1.0000000000000000, 1.0000000000000000,
4005 10.000000000000000, -0.40000000000000002 },
4006 { 0.97152388013493107, 1.0000000000000000, 1.0000000000000000,
4007 10.000000000000000, -0.30000000000000004 },
4008 { 0.98069299877709348, 1.0000000000000000, 1.0000000000000000,
4009 10.000000000000000, -0.19999999999999996 },
4010 { 0.99017740778385854, 1.0000000000000000, 1.0000000000000000,
4011 10.000000000000000, -0.099999999999999978 },
4012 { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
4013 10.000000000000000, 0.0000000000000000 },
4014 { 1.0101865087004833, 1.0000000000000000, 1.0000000000000000,
4015 10.000000000000000, 0.10000000000000009 },
4016 { 1.0207660479892111, 1.0000000000000000, 1.0000000000000000,
4017 10.000000000000000, 0.19999999999999996 },
4018 { 1.0317718013185031, 1.0000000000000000, 1.0000000000000000,
4019 10.000000000000000, 0.30000000000000004 },
4020 { 1.0432419144892398, 1.0000000000000000, 1.0000000000000000,
4021 10.000000000000000, 0.39999999999999991 },
4022 { 1.0552206786504446, 1.0000000000000000, 1.0000000000000000,
4023 10.000000000000000, 0.50000000000000000 },
4024 { 1.0677601383233675, 1.0000000000000000, 1.0000000000000000,
4025 10.000000000000000, 0.60000000000000009 },
4026 { 1.0809223485579968, 1.0000000000000000, 1.0000000000000000,
4027 10.000000000000000, 0.69999999999999996 },
4028 { 1.0947826783002668, 1.0000000000000000, 1.0000000000000000,
4029 10.000000000000000, 0.80000000000000004 },
4030 { 1.1094349304493603, 1.0000000000000000, 1.0000000000000000,
4031 10.000000000000000, 0.89999999999999991 },
4033 const double toler085
= 2.5000000000000020e-13;
4035 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
4036 // max(|f - f_GSL|): 1.7763568394002505e-15
4037 // max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
4038 const testcase_hyperg
<double>
4041 { 0.52631578947368429, 1.0000000000000000, 2.0000000000000000,
4042 2.0000000000000000, -0.90000000000000002 },
4043 { 0.55555555555555558, 1.0000000000000000, 2.0000000000000000,
4044 2.0000000000000000, -0.80000000000000004 },
4045 { 0.58823529411764708, 1.0000000000000000, 2.0000000000000000,
4046 2.0000000000000000, -0.69999999999999996 },
4047 { 0.62500000000000000, 1.0000000000000000, 2.0000000000000000,
4048 2.0000000000000000, -0.59999999999999998 },
4049 { 0.66666666666666663, 1.0000000000000000, 2.0000000000000000,
4050 2.0000000000000000, -0.50000000000000000 },
4051 { 0.71428571428571430, 1.0000000000000000, 2.0000000000000000,
4052 2.0000000000000000, -0.40000000000000002 },
4053 { 0.76923076923076927, 1.0000000000000000, 2.0000000000000000,
4054 2.0000000000000000, -0.30000000000000004 },
4055 { 0.83333333333333337, 1.0000000000000000, 2.0000000000000000,
4056 2.0000000000000000, -0.19999999999999996 },
4057 { 0.90909090909090906, 1.0000000000000000, 2.0000000000000000,
4058 2.0000000000000000, -0.099999999999999978 },
4059 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4060 2.0000000000000000, 0.0000000000000000 },
4061 { 1.1111111111111112, 1.0000000000000000, 2.0000000000000000,
4062 2.0000000000000000, 0.10000000000000009 },
4063 { 1.2500000000000000, 1.0000000000000000, 2.0000000000000000,
4064 2.0000000000000000, 0.19999999999999996 },
4065 { 1.4285714285714286, 1.0000000000000000, 2.0000000000000000,
4066 2.0000000000000000, 0.30000000000000004 },
4067 { 1.6666666666666663, 1.0000000000000000, 2.0000000000000000,
4068 2.0000000000000000, 0.39999999999999991 },
4069 { 2.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4070 2.0000000000000000, 0.50000000000000000 },
4071 { 2.5000000000000004, 1.0000000000000000, 2.0000000000000000,
4072 2.0000000000000000, 0.60000000000000009 },
4073 { 3.3333333333333330, 1.0000000000000000, 2.0000000000000000,
4074 2.0000000000000000, 0.69999999999999996 },
4075 { 5.0000000000000009, 1.0000000000000000, 2.0000000000000000,
4076 2.0000000000000000, 0.80000000000000004 },
4077 { 9.9999999999999929, 1.0000000000000000, 2.0000000000000000,
4078 2.0000000000000000, 0.89999999999999991 },
4080 const double toler086
= 2.5000000000000020e-13;
4082 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
4083 // max(|f - f_GSL|): 2.6645352591003757e-15
4084 // max(|f - f_GSL| / |f_GSL|): 1.2228571846595251e-15
4085 const testcase_hyperg
<double>
4088 { 0.70351947549341554, 1.0000000000000000, 2.0000000000000000,
4089 4.0000000000000000, -0.90000000000000002 },
4090 { 0.72637503722092756, 1.0000000000000000, 2.0000000000000000,
4091 4.0000000000000000, -0.80000000000000004 },
4092 { 0.75099661564391240, 1.0000000000000000, 2.0000000000000000,
4093 4.0000000000000000, -0.69999999999999996 },
4094 { 0.77761647796730871, 1.0000000000000000, 2.0000000000000000,
4095 4.0000000000000000, -0.59999999999999998 },
4096 { 0.80651221621216473, 1.0000000000000000, 2.0000000000000000,
4097 4.0000000000000000, -0.50000000000000000 },
4098 { 0.83801894346580241, 1.0000000000000000, 2.0000000000000000,
4099 4.0000000000000000, -0.40000000000000002 },
4100 { 0.87254582050258456, 1.0000000000000000, 2.0000000000000000,
4101 4.0000000000000000, -0.30000000000000004 },
4102 { 0.91059888544083678, 1.0000000000000000, 2.0000000000000000,
4103 4.0000000000000000, -0.19999999999999996 },
4104 { 0.95281329145592386, 1.0000000000000000, 2.0000000000000000,
4105 4.0000000000000000, -0.099999999999999978 },
4106 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4107 4.0000000000000000, 0.0000000000000000 },
4108 { 1.0532154477379738, 1.0000000000000000, 2.0000000000000000,
4109 4.0000000000000000, 0.10000000000000009 },
4110 { 1.1138692114741471, 1.0000000000000000, 2.0000000000000000,
4111 4.0000000000000000, 0.19999999999999996 },
4112 { 1.1838976095305187, 1.0000000000000000, 2.0000000000000000,
4113 4.0000000000000000, 0.30000000000000004 },
4114 { 1.2660586631630237, 1.0000000000000000, 2.0000000000000000,
4115 4.0000000000000000, 0.39999999999999991 },
4116 { 1.3644676665613118, 1.0000000000000000, 2.0000000000000000,
4117 4.0000000000000000, 0.50000000000000000 },
4118 { 1.4856585347316102, 1.0000000000000000, 2.0000000000000000,
4119 4.0000000000000000, 0.60000000000000009 },
4120 { 1.6409590443536872, 1.0000000000000000, 2.0000000000000000,
4121 4.0000000000000000, 0.69999999999999996 },
4122 { 1.8528798927325769, 1.0000000000000000, 2.0000000000000000,
4123 4.0000000000000000, 0.80000000000000004 },
4124 { 2.1789423102929644, 1.0000000000000000, 2.0000000000000000,
4125 4.0000000000000000, 0.89999999999999991 },
4127 const double toler087
= 2.5000000000000020e-13;
4129 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
4130 // max(|f - f_GSL|): 6.6613381477509392e-16
4131 // max(|f - f_GSL| / |f_GSL|): 4.3538225385592644e-16
4132 const testcase_hyperg
<double>
4135 { 0.78068027379106275, 1.0000000000000000, 2.0000000000000000,
4136 6.0000000000000000, -0.90000000000000002 },
4137 { 0.79924541976981278, 1.0000000000000000, 2.0000000000000000,
4138 6.0000000000000000, -0.80000000000000004 },
4139 { 0.81891305585650975, 1.0000000000000000, 2.0000000000000000,
4140 6.0000000000000000, -0.69999999999999996 },
4141 { 0.83979799626213247, 1.0000000000000000, 2.0000000000000000,
4142 6.0000000000000000, -0.59999999999999998 },
4143 { 0.86203315303160111, 1.0000000000000000, 2.0000000000000000,
4144 6.0000000000000000, -0.50000000000000000 },
4145 { 0.88577352485361693, 1.0000000000000000, 2.0000000000000000,
4146 6.0000000000000000, -0.40000000000000002 },
4147 { 0.91120135738402230, 1.0000000000000000, 2.0000000000000000,
4148 6.0000000000000000, -0.30000000000000004 },
4149 { 0.93853291956703588, 1.0000000000000000, 2.0000000000000000,
4150 6.0000000000000000, -0.19999999999999996 },
4151 { 0.96802755388922956, 1.0000000000000000, 2.0000000000000000,
4152 6.0000000000000000, -0.099999999999999978 },
4153 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4154 6.0000000000000000, 0.0000000000000000 },
4155 { 1.0348375559194773, 1.0000000000000000, 2.0000000000000000,
4156 6.0000000000000000, 0.10000000000000009 },
4157 { 1.0730246119544820, 1.0000000000000000, 2.0000000000000000,
4158 6.0000000000000000, 0.19999999999999996 },
4159 { 1.1151788396279341, 1.0000000000000000, 2.0000000000000000,
4160 6.0000000000000000, 0.30000000000000004 },
4161 { 1.1621066403893472, 1.0000000000000000, 2.0000000000000000,
4162 6.0000000000000000, 0.39999999999999991 },
4163 { 1.2148922218710421, 1.0000000000000000, 2.0000000000000000,
4164 6.0000000000000000, 0.50000000000000000 },
4165 { 1.2750496810838674, 1.0000000000000000, 2.0000000000000000,
4166 6.0000000000000000, 0.60000000000000009 },
4167 { 1.3448048570872917, 1.0000000000000000, 2.0000000000000000,
4168 6.0000000000000000, 0.69999999999999996 },
4169 { 1.4276833109859521, 1.0000000000000000, 2.0000000000000000,
4170 6.0000000000000000, 0.80000000000000004 },
4171 { 1.5299976259379788, 1.0000000000000000, 2.0000000000000000,
4172 6.0000000000000000, 0.89999999999999991 },
4174 const double toler088
= 2.5000000000000020e-13;
4176 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
4177 // max(|f - f_GSL|): 2.2204460492503131e-16
4178 // max(|f - f_GSL| / |f_GSL|): 2.3297369954770822e-16
4179 const testcase_hyperg
<double>
4182 { 0.82510759951857615, 1.0000000000000000, 2.0000000000000000,
4183 8.0000000000000000, -0.90000000000000002 },
4184 { 0.84072786892782070, 1.0000000000000000, 2.0000000000000000,
4185 8.0000000000000000, -0.80000000000000004 },
4186 { 0.85710884896562356, 1.0000000000000000, 2.0000000000000000,
4187 8.0000000000000000, -0.69999999999999996 },
4188 { 0.87431674418118244, 1.0000000000000000, 2.0000000000000000,
4189 8.0000000000000000, -0.59999999999999998 },
4190 { 0.89242659229726995, 1.0000000000000000, 2.0000000000000000,
4191 8.0000000000000000, -0.50000000000000000 },
4192 { 0.91152392685930350, 1.0000000000000000, 2.0000000000000000,
4193 8.0000000000000000, -0.40000000000000002 },
4194 { 0.93170685950993570, 1.0000000000000000, 2.0000000000000000,
4195 8.0000000000000000, -0.30000000000000004 },
4196 { 0.95308871926790661, 1.0000000000000000, 2.0000000000000000,
4197 8.0000000000000000, -0.19999999999999996 },
4198 { 0.97580144325325802, 1.0000000000000000, 2.0000000000000000,
4199 8.0000000000000000, -0.099999999999999978 },
4200 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4201 8.0000000000000000, 0.0000000000000000 },
4202 { 1.0258682619030324, 1.0000000000000000, 2.0000000000000000,
4203 8.0000000000000000, 0.10000000000000009 },
4204 { 1.0536269616706000, 1.0000000000000000, 2.0000000000000000,
4205 8.0000000000000000, 0.19999999999999996 },
4206 { 1.0835447330793833, 1.0000000000000000, 2.0000000000000000,
4207 8.0000000000000000, 0.30000000000000004 },
4208 { 1.1159538758396654, 1.0000000000000000, 2.0000000000000000,
4209 8.0000000000000000, 0.39999999999999991 },
4210 { 1.1512736659291880, 1.0000000000000000, 2.0000000000000000,
4211 8.0000000000000000, 0.50000000000000000 },
4212 { 1.1900463690116090, 1.0000000000000000, 2.0000000000000000,
4213 8.0000000000000000, 0.60000000000000009 },
4214 { 1.2329961591622411, 1.0000000000000000, 2.0000000000000000,
4215 8.0000000000000000, 0.69999999999999996 },
4216 { 1.2811334345669059, 1.0000000000000000, 2.0000000000000000,
4217 8.0000000000000000, 0.80000000000000004 },
4218 { 1.3359629014132051, 1.0000000000000000, 2.0000000000000000,
4219 8.0000000000000000, 0.89999999999999991 },
4221 const double toler089
= 2.5000000000000020e-13;
4223 // Test data for a=1.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
4224 // max(|f - f_GSL|): 4.4408920985006262e-16
4225 // max(|f - f_GSL| / |f_GSL|): 4.6160879869309861e-16
4226 const testcase_hyperg
<double>
4229 { 0.85426123653345876, 1.0000000000000000, 2.0000000000000000,
4230 10.000000000000000, -0.90000000000000002 },
4231 { 0.86774543390930414, 1.0000000000000000, 2.0000000000000000,
4232 10.000000000000000, -0.80000000000000004 },
4233 { 0.88178859537254239, 1.0000000000000000, 2.0000000000000000,
4234 10.000000000000000, -0.69999999999999996 },
4235 { 0.89643269097060951, 1.0000000000000000, 2.0000000000000000,
4236 10.000000000000000, -0.59999999999999998 },
4237 { 0.91172456687216819, 1.0000000000000000, 2.0000000000000000,
4238 10.000000000000000, -0.50000000000000000 },
4239 { 0.92771674975966123, 1.0000000000000000, 2.0000000000000000,
4240 10.000000000000000, -0.40000000000000002 },
4241 { 0.94446842993888647, 1.0000000000000000, 2.0000000000000000,
4242 10.000000000000000, -0.30000000000000004 },
4243 { 0.96204667481937678, 1.0000000000000000, 2.0000000000000000,
4244 10.000000000000000, -0.19999999999999996 },
4245 { 0.98052794339012128, 1.0000000000000000, 2.0000000000000000,
4246 10.000000000000000, -0.099999999999999978 },
4247 { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
4248 10.000000000000000, 0.0000000000000000 },
4249 { 1.0205643671068179, 1.0000000000000000, 2.0000000000000000,
4250 10.000000000000000, 0.10000000000000009 },
4251 { 1.0423395201078882, 1.0000000000000000, 2.0000000000000000,
4252 10.000000000000000, 0.19999999999999996 },
4253 { 1.0654651277885334, 1.0000000000000000, 2.0000000000000000,
4254 10.000000000000000, 0.30000000000000004 },
4255 { 1.0901078068101382, 1.0000000000000000, 2.0000000000000000,
4256 10.000000000000000, 0.39999999999999991 },
4257 { 1.1164691415928940, 1.0000000000000000, 2.0000000000000000,
4258 10.000000000000000, 0.50000000000000000 },
4259 { 1.1447972335326551, 1.0000000000000000, 2.0000000000000000,
4260 10.000000000000000, 0.60000000000000009 },
4261 { 1.1754040384534161, 1.0000000000000000, 2.0000000000000000,
4262 10.000000000000000, 0.69999999999999996 },
4263 { 1.2086928679893112, 1.0000000000000000, 2.0000000000000000,
4264 10.000000000000000, 0.80000000000000004 },
4265 { 1.2452055640510711, 1.0000000000000000, 2.0000000000000000,
4266 10.000000000000000, 0.89999999999999991 },
4268 const double toler090
= 2.5000000000000020e-13;
4270 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
4271 // max(|f - f_GSL|): 4.0927261579781771e-12
4272 // max(|f - f_GSL| / |f_GSL|): 1.4735287697491276e-15
4273 const testcase_hyperg
<double>
4276 { 0.25646288779245086, 1.0000000000000000, 5.0000000000000000,
4277 2.0000000000000000, -0.90000000000000002 },
4278 { 0.28273129096174376, 1.0000000000000000, 5.0000000000000000,
4279 2.0000000000000000, -0.80000000000000004 },
4280 { 0.31438201170962982, 1.0000000000000000, 5.0000000000000000,
4281 2.0000000000000000, -0.69999999999999996 },
4282 { 0.35308837890625017, 1.0000000000000000, 5.0000000000000000,
4283 2.0000000000000000, -0.59999999999999998 },
4284 { 0.40123456790123452, 1.0000000000000000, 5.0000000000000000,
4285 2.0000000000000000, -0.50000000000000000 },
4286 { 0.46230737192836308, 1.0000000000000000, 5.0000000000000000,
4287 2.0000000000000000, -0.40000000000000002 },
4288 { 0.54156016946185348, 1.0000000000000000, 5.0000000000000000,
4289 2.0000000000000000, -0.30000000000000004 },
4290 { 0.64718364197530875, 1.0000000000000000, 5.0000000000000000,
4291 2.0000000000000000, -0.19999999999999996 },
4292 { 0.79246636158732342, 1.0000000000000000, 5.0000000000000000,
4293 2.0000000000000000, -0.099999999999999978 },
4294 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4295 2.0000000000000000, 0.0000000000000000 },
4296 { 1.3103947568968148, 1.0000000000000000, 5.0000000000000000,
4297 2.0000000000000000, 0.10000000000000009 },
4298 { 1.8017578125000004, 1.0000000000000000, 5.0000000000000000,
4299 2.0000000000000000, 0.19999999999999996 },
4300 { 2.6374427321949185, 1.0000000000000000, 5.0000000000000000,
4301 2.0000000000000000, 0.30000000000000004 },
4302 { 4.1975308641975282, 1.0000000000000000, 5.0000000000000000,
4303 2.0000000000000000, 0.39999999999999991 },
4304 { 7.4999999999999964, 1.0000000000000000, 5.0000000000000000,
4305 2.0000000000000000, 0.50000000000000000 },
4306 { 15.859375000000012, 1.0000000000000000, 5.0000000000000000,
4307 2.0000000000000000, 0.60000000000000009 },
4308 { 43.734567901234513, 1.0000000000000000, 5.0000000000000000,
4309 2.0000000000000000, 0.69999999999999996 },
4310 { 194.99999999999994, 1.0000000000000000, 5.0000000000000000,
4311 2.0000000000000000, 0.80000000000000004 },
4312 { 2777.4999999999832, 1.0000000000000000, 5.0000000000000000,
4313 2.0000000000000000, 0.89999999999999991 },
4315 const double toler091
= 2.5000000000000020e-13;
4317 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
4318 // max(|f - f_GSL|): 4.2632564145606011e-14
4319 // max(|f - f_GSL| / |f_GSL|): 1.3117712044801915e-15
4320 const testcase_hyperg
<double>
4323 { 0.46398891966759009, 1.0000000000000000, 5.0000000000000000,
4324 4.0000000000000000, -0.90000000000000002 },
4325 { 0.49382716049382724, 1.0000000000000000, 5.0000000000000000,
4326 4.0000000000000000, -0.80000000000000004 },
4327 { 0.52768166089965407, 1.0000000000000000, 5.0000000000000000,
4328 4.0000000000000000, -0.69999999999999996 },
4329 { 0.56640625000000000, 1.0000000000000000, 5.0000000000000000,
4330 4.0000000000000000, -0.59999999999999998 },
4331 { 0.61111111111111094, 1.0000000000000000, 5.0000000000000000,
4332 4.0000000000000000, -0.50000000000000000 },
4333 { 0.66326530612244905, 1.0000000000000000, 5.0000000000000000,
4334 4.0000000000000000, -0.40000000000000002 },
4335 { 0.72485207100591698, 1.0000000000000000, 5.0000000000000000,
4336 4.0000000000000000, -0.30000000000000004 },
4337 { 0.79861111111111094, 1.0000000000000000, 5.0000000000000000,
4338 4.0000000000000000, -0.19999999999999996 },
4339 { 0.88842975206611552, 1.0000000000000000, 5.0000000000000000,
4340 4.0000000000000000, -0.099999999999999978 },
4341 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4342 4.0000000000000000, 0.0000000000000000 },
4343 { 1.1419753086419753, 1.0000000000000000, 5.0000000000000000,
4344 4.0000000000000000, 0.10000000000000009 },
4345 { 1.3281249999999998, 1.0000000000000000, 5.0000000000000000,
4346 4.0000000000000000, 0.19999999999999996 },
4347 { 1.5816326530612239, 1.0000000000000000, 5.0000000000000000,
4348 4.0000000000000000, 0.30000000000000004 },
4349 { 1.9444444444444444, 1.0000000000000000, 5.0000000000000000,
4350 4.0000000000000000, 0.39999999999999991 },
4351 { 2.5000000000000000, 1.0000000000000000, 5.0000000000000000,
4352 4.0000000000000000, 0.50000000000000000 },
4353 { 3.4374999999999996, 1.0000000000000000, 5.0000000000000000,
4354 4.0000000000000000, 0.60000000000000009 },
4355 { 5.2777777777777715, 1.0000000000000000, 5.0000000000000000,
4356 4.0000000000000000, 0.69999999999999996 },
4357 { 9.9999999999999947, 1.0000000000000000, 5.0000000000000000,
4358 4.0000000000000000, 0.80000000000000004 },
4359 { 32.499999999999837, 1.0000000000000000, 5.0000000000000000,
4360 4.0000000000000000, 0.89999999999999991 },
4362 const double toler092
= 2.5000000000000020e-13;
4364 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
4365 // max(|f - f_GSL|): 6.2172489379008766e-15
4366 // max(|f - f_GSL| / |f_GSL|): 1.2433022037532461e-15
4367 const testcase_hyperg
<double>
4370 { 0.57476744883397490, 1.0000000000000000, 5.0000000000000000,
4371 6.0000000000000000, -0.90000000000000002 },
4372 { 0.60302731682513966, 1.0000000000000000, 5.0000000000000000,
4373 6.0000000000000000, -0.80000000000000004 },
4374 { 0.63425708719096374, 1.0000000000000000, 5.0000000000000000,
4375 6.0000000000000000, -0.69999999999999996 },
4376 { 0.66895764182970430, 1.0000000000000000, 5.0000000000000000,
4377 6.0000000000000000, -0.59999999999999998 },
4378 { 0.70775063063963473, 1.0000000000000000, 5.0000000000000000,
4379 6.0000000000000000, -0.50000000000000000 },
4380 { 0.75141762103495924, 1.0000000000000000, 5.0000000000000000,
4381 6.0000000000000000, -0.40000000000000002 },
4382 { 0.80095569442603298, 1.0000000000000000, 5.0000000000000000,
4383 6.0000000000000000, -0.30000000000000004 },
4384 { 0.85765823887436754, 1.0000000000000000, 5.0000000000000000,
4385 6.0000000000000000, -0.19999999999999996 },
4386 { 0.92323549576335540, 1.0000000000000000, 5.0000000000000000,
4387 6.0000000000000000, -0.099999999999999978 },
4388 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4389 6.0000000000000000, 0.0000000000000000 },
4390 { 1.0911622464839472, 1.0000000000000000, 5.0000000000000000,
4391 6.0000000000000000, 0.10000000000000009 },
4392 { 1.2013226178607666, 1.0000000000000000, 5.0000000000000000,
4393 6.0000000000000000, 0.19999999999999996 },
4394 { 1.3373332072682687, 1.0000000000000000, 5.0000000000000000,
4395 6.0000000000000000, 0.30000000000000004 },
4396 { 1.5099074378209716, 1.0000000000000000, 5.0000000000000000,
4397 6.0000000000000000, 0.39999999999999991 },
4398 { 1.7368822229245819, 1.0000000000000000, 5.0000000000000000,
4399 6.0000000000000000, 0.50000000000000000 },
4400 { 2.0505871832661429, 1.0000000000000000, 5.0000000000000000,
4401 6.0000000000000000, 0.60000000000000009 },
4402 { 2.5172389775867967, 1.0000000000000000, 5.0000000000000000,
4403 6.0000000000000000, 0.69999999999999996 },
4404 { 3.3015631983556144, 1.0000000000000000, 5.0000000000000000,
4405 6.0000000000000000, 0.80000000000000004 },
4406 { 5.0005935155044519, 1.0000000000000000, 5.0000000000000000,
4407 6.0000000000000000, 0.89999999999999991 },
4409 const double toler093
= 2.5000000000000020e-13;
4411 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
4412 // max(|f - f_GSL|): 3.1086244689504383e-15
4413 // max(|f - f_GSL| / |f_GSL|): 1.1989697058841889e-15
4414 const testcase_hyperg
<double>
4417 { 0.64582752605387983, 1.0000000000000000, 5.0000000000000000,
4418 8.0000000000000000, -0.90000000000000002 },
4419 { 0.67184161997264191, 1.0000000000000000, 5.0000000000000000,
4420 8.0000000000000000, -0.80000000000000004 },
4421 { 0.70012779922368040, 1.0000000000000000, 5.0000000000000000,
4422 8.0000000000000000, -0.69999999999999996 },
4423 { 0.73100784656910278, 1.0000000000000000, 5.0000000000000000,
4424 8.0000000000000000, -0.59999999999999998 },
4425 { 0.76486919089091066, 1.0000000000000000, 5.0000000000000000,
4426 8.0000000000000000, -0.50000000000000000 },
4427 { 0.80218301124334557, 1.0000000000000000, 5.0000000000000000,
4428 8.0000000000000000, -0.40000000000000002 },
4429 { 0.84352883533234413, 1.0000000000000000, 5.0000000000000000,
4430 8.0000000000000000, -0.30000000000000004 },
4431 { 0.88962858902212572, 1.0000000000000000, 5.0000000000000000,
4432 8.0000000000000000, -0.19999999999999996 },
4433 { 0.94139473468584123, 1.0000000000000000, 5.0000000000000000,
4434 8.0000000000000000, -0.099999999999999978 },
4435 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4436 8.0000000000000000, 0.0000000000000000 },
4437 { 1.0669812691939897, 1.0000000000000000, 5.0000000000000000,
4438 8.0000000000000000, 0.10000000000000009 },
4439 { 1.1443996012177726, 1.0000000000000000, 5.0000000000000000,
4440 8.0000000000000000, 0.19999999999999996 },
4441 { 1.2350966976721314, 1.0000000000000000, 5.0000000000000000,
4442 8.0000000000000000, 0.30000000000000004 },
4443 { 1.3431264370409088, 1.0000000000000000, 5.0000000000000000,
4444 8.0000000000000000, 0.39999999999999991 },
4445 { 1.4745266814162399, 1.0000000000000000, 5.0000000000000000,
4446 8.0000000000000000, 0.50000000000000000 },
4447 { 1.6388137104840066, 1.0000000000000000, 5.0000000000000000,
4448 8.0000000000000000, 0.60000000000000009 },
4449 { 1.8522074849776518, 1.0000000000000000, 5.0000000000000000,
4450 8.0000000000000000, 0.69999999999999996 },
4451 { 2.1458016978417458, 1.0000000000000000, 5.0000000000000000,
4452 8.0000000000000000, 0.80000000000000004 },
4453 { 2.5927464669826339, 1.0000000000000000, 5.0000000000000000,
4454 8.0000000000000000, 0.89999999999999991 },
4456 const double toler094
= 2.5000000000000020e-13;
4458 // Test data for a=1.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
4459 // max(|f - f_GSL|): 1.1102230246251565e-15
4460 // max(|f - f_GSL| / |f_GSL|): 5.6896158687269898e-16
4461 const testcase_hyperg
<double>
4464 { 0.69583236336670584, 1.0000000000000000, 5.0000000000000000,
4465 10.000000000000000, -0.90000000000000002 },
4466 { 0.71968920666899716, 1.0000000000000000, 5.0000000000000000,
4467 10.000000000000000, -0.80000000000000004 },
4468 { 0.74533885416044232, 1.0000000000000000, 5.0000000000000000,
4469 10.000000000000000, -0.69999999999999996 },
4470 { 0.77300145361503070, 1.0000000000000000, 5.0000000000000000,
4471 10.000000000000000, -0.59999999999999998 },
4472 { 0.80293630810919447, 1.0000000000000000, 5.0000000000000000,
4473 10.000000000000000, -0.50000000000000000 },
4474 { 0.83545132638592001, 1.0000000000000000, 5.0000000000000000,
4475 10.000000000000000, -0.40000000000000002 },
4476 { 0.87091544744412497, 1.0000000000000000, 5.0000000000000000,
4477 10.000000000000000, -0.30000000000000004 },
4478 { 0.90977522877919847, 1.0000000000000000, 5.0000000000000000,
4479 10.000000000000000, -0.19999999999999996 },
4480 { 0.95257738192069130, 1.0000000000000000, 5.0000000000000000,
4481 10.000000000000000, -0.099999999999999978 },
4482 { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
4483 10.000000000000000, 0.0000000000000000 },
4484 { 1.0528968282789379, 1.0000000000000000, 5.0000000000000000,
4485 10.000000000000000, 0.10000000000000009 },
4486 { 1.1123617169062123, 1.0000000000000000, 5.0000000000000000,
4487 10.000000000000000, 0.19999999999999996 },
4488 { 1.1798254572896132, 1.0000000000000000, 5.0000000000000000,
4489 10.000000000000000, 0.30000000000000004 },
4490 { 1.2572069000522696, 1.0000000000000000, 5.0000000000000000,
4491 10.000000000000000, 0.39999999999999991 },
4492 { 1.3471600884974377, 1.0000000000000000, 5.0000000000000000,
4493 10.000000000000000, 0.50000000000000000 },
4494 { 1.4535032279573519, 1.0000000000000000, 5.0000000000000000,
4495 10.000000000000000, 0.60000000000000009 },
4496 { 1.5820245752814948, 1.0000000000000000, 5.0000000000000000,
4497 10.000000000000000, 0.69999999999999996 },
4498 { 1.7421756366906538, 1.0000000000000000, 5.0000000000000000,
4499 10.000000000000000, 0.80000000000000004 },
4500 { 1.9513145531098233, 1.0000000000000000, 5.0000000000000000,
4501 10.000000000000000, 0.89999999999999991 },
4503 const double toler095
= 2.5000000000000020e-13;
4505 // Test data for a=1.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
4506 // max(|f - f_GSL|): 2.0861625671386719e-07
4507 // max(|f - f_GSL| / |f_GSL|): 1.6897916810721311e-15
4508 const testcase_hyperg
<double>
4511 { 0.12307420104127866, 1.0000000000000000, 10.000000000000000,
4512 2.0000000000000000, -0.90000000000000002 },
4513 { 0.13818870041457434, 1.0000000000000000, 10.000000000000000,
4514 2.0000000000000000, -0.80000000000000004 },
4515 { 0.15739165631811705, 1.0000000000000000, 10.000000000000000,
4516 2.0000000000000000, -0.69999999999999996 },
4517 { 0.18249038606882081, 1.0000000000000000, 10.000000000000000,
4518 2.0000000000000000, -0.59999999999999998 },
4519 { 0.21644171225027795, 1.0000000000000000, 10.000000000000000,
4520 2.0000000000000000, -0.50000000000000000 },
4521 { 0.26433326159804132, 1.0000000000000000, 10.000000000000000,
4522 2.0000000000000000, -0.40000000000000002 },
4523 { 0.33544459430654539, 1.0000000000000000, 10.000000000000000,
4524 2.0000000000000000, -0.30000000000000004 },
4525 { 0.44788516696232511, 1.0000000000000000, 10.000000000000000,
4526 2.0000000000000000, -0.19999999999999996 },
4527 { 0.63989153514168373, 1.0000000000000000, 10.000000000000000,
4528 2.0000000000000000, -0.099999999999999978 },
4529 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4530 2.0000000000000000, 0.0000000000000000 },
4531 { 1.7568608796813312, 1.0000000000000000, 10.000000000000000,
4532 2.0000000000000000, 0.10000000000000009 },
4533 { 3.5836558871799027, 1.0000000000000000, 10.000000000000000,
4534 2.0000000000000000, 0.19999999999999996 },
4535 { 8.8077526749963226, 1.0000000000000000, 10.000000000000000,
4536 2.0000000000000000, 0.30000000000000004 },
4537 { 27.285841702089190, 1.0000000000000000, 10.000000000000000,
4538 2.0000000000000000, 0.39999999999999991 },
4539 { 113.55555555555557, 1.0000000000000000, 10.000000000000000,
4540 2.0000000000000000, 0.50000000000000000 },
4541 { 706.24023437500091, 1.0000000000000000, 10.000000000000000,
4542 2.0000000000000000, 0.60000000000000009 },
4543 { 8064.1687976651992, 1.0000000000000000, 10.000000000000000,
4544 2.0000000000000000, 0.69999999999999996 },
4545 { 271267.22222222196, 1.0000000000000000, 10.000000000000000,
4546 2.0000000000000000, 0.80000000000000004 },
4547 { 123456789.99999890, 1.0000000000000000, 10.000000000000000,
4548 2.0000000000000000, 0.89999999999999991 },
4550 const double toler096
= 2.5000000000000020e-13;
4552 // Test data for a=1.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
4553 // max(|f - f_GSL|): 2.6193447411060333e-10
4554 // max(|f - f_GSL| / |f_GSL|): 1.6039867544159931e-15
4555 const testcase_hyperg
<double>
4558 { 0.28363728383055781, 1.0000000000000000, 10.000000000000000,
4559 4.0000000000000000, -0.90000000000000002 },
4560 { 0.30933003169808387, 1.0000000000000000, 10.000000000000000,
4561 4.0000000000000000, -0.80000000000000004 },
4562 { 0.33998437757128797, 1.0000000000000000, 10.000000000000000,
4563 4.0000000000000000, -0.69999999999999996 },
4564 { 0.37713553224291113, 1.0000000000000000, 10.000000000000000,
4565 4.0000000000000000, -0.59999999999999998 },
4566 { 0.42299736538419669, 1.0000000000000000, 10.000000000000000,
4567 4.0000000000000000, -0.50000000000000000 },
4568 { 0.48086597727600067, 1.0000000000000000, 10.000000000000000,
4569 4.0000000000000000, -0.40000000000000002 },
4570 { 0.55583495759293045, 1.0000000000000000, 10.000000000000000,
4571 4.0000000000000000, -0.30000000000000004 },
4572 { 0.65612850114039678, 1.0000000000000000, 10.000000000000000,
4573 4.0000000000000000, -0.19999999999999996 },
4574 { 0.79573668772968142, 1.0000000000000000, 10.000000000000000,
4575 4.0000000000000000, -0.099999999999999978 },
4576 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4577 4.0000000000000000, 0.0000000000000000 },
4578 { 1.3184712058058303, 1.0000000000000000, 10.000000000000000,
4579 4.0000000000000000, 0.10000000000000009 },
4580 { 1.8576958065941214, 1.0000000000000000, 10.000000000000000,
4581 4.0000000000000000, 0.19999999999999996 },
4582 { 2.8759509651764228, 1.0000000000000000, 10.000000000000000,
4583 4.0000000000000000, 0.30000000000000004 },
4584 { 5.1046225531822182, 1.0000000000000000, 10.000000000000000,
4585 4.0000000000000000, 0.39999999999999991 },
4586 { 11.095238095238095, 1.0000000000000000, 10.000000000000000,
4587 4.0000000000000000, 0.50000000000000000 },
4588 { 32.797154017857174, 1.0000000000000000, 10.000000000000000,
4589 4.0000000000000000, 0.60000000000000009 },
4590 { 158.01935680536477, 1.0000000000000000, 10.000000000000000,
4591 4.0000000000000000, 0.69999999999999996 },
4592 { 1815.9523809523814, 1.0000000000000000, 10.000000000000000,
4593 4.0000000000000000, 0.80000000000000004 },
4594 { 163302.14285714156, 1.0000000000000000, 10.000000000000000,
4595 4.0000000000000000, 0.89999999999999991 },
4597 const double toler097
= 2.5000000000000020e-13;
4599 // Test data for a=1.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
4600 // max(|f - f_GSL|): 2.0463630789890885e-12
4601 // max(|f - f_GSL| / |f_GSL|): 1.5238873992472010e-15
4602 const testcase_hyperg
<double>
4605 { 0.39006633302741811, 1.0000000000000000, 10.000000000000000,
4606 6.0000000000000000, -0.90000000000000002 },
4607 { 0.41898885698103278, 1.0000000000000000, 10.000000000000000,
4608 6.0000000000000000, -0.80000000000000004 },
4609 { 0.45245557983812590, 1.0000000000000000, 10.000000000000000,
4610 6.0000000000000000, -0.69999999999999996 },
4611 { 0.49160548618861627, 1.0000000000000000, 10.000000000000000,
4612 6.0000000000000000, -0.59999999999999998 },
4613 { 0.53798419230517991, 1.0000000000000000, 10.000000000000000,
4614 6.0000000000000000, -0.50000000000000000 },
4615 { 0.59373881442067322, 1.0000000000000000, 10.000000000000000,
4616 6.0000000000000000, -0.40000000000000002 },
4617 { 0.66193391357076126, 1.0000000000000000, 10.000000000000000,
4618 6.0000000000000000, -0.30000000000000004 },
4619 { 0.74708402736952118, 1.0000000000000000, 10.000000000000000,
4620 6.0000000000000000, -0.19999999999999996 },
4621 { 0.85609281019430605, 1.0000000000000000, 10.000000000000000,
4622 6.0000000000000000, -0.099999999999999978 },
4623 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4624 6.0000000000000000, 0.0000000000000000 },
4625 { 1.1974451135148187, 1.0000000000000000, 10.000000000000000,
4626 6.0000000000000000, 0.10000000000000009 },
4627 { 1.4820886036706347, 1.0000000000000000, 10.000000000000000,
4628 6.0000000000000000, 0.19999999999999996 },
4629 { 1.9201183180477521, 1.0000000000000000, 10.000000000000000,
4630 6.0000000000000000, 0.30000000000000004 },
4631 { 2.6569338297733336, 1.0000000000000000, 10.000000000000000,
4632 6.0000000000000000, 0.39999999999999991 },
4633 { 4.0634920634920650, 1.0000000000000000, 10.000000000000000,
4634 6.0000000000000000, 0.50000000000000000 },
4635 { 7.3102678571428568, 1.0000000000000000, 10.000000000000000,
4636 6.0000000000000000, 0.60000000000000009 },
4637 { 17.512574302697733, 1.0000000000000000, 10.000000000000000,
4638 6.0000000000000000, 0.69999999999999996 },
4639 { 74.206349206349131, 1.0000000000000000, 10.000000000000000,
4640 6.0000000000000000, 0.80000000000000004 },
4641 { 1342.8571428571363, 1.0000000000000000, 10.000000000000000,
4642 6.0000000000000000, 0.89999999999999991 },
4644 const double toler098
= 2.5000000000000020e-13;
4646 // Test data for a=1.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
4647 // max(|f - f_GSL|): 7.8159700933611020e-14
4648 // max(|f - f_GSL| / |f_GSL|): 1.4210854715202060e-15
4649 const testcase_hyperg
<double>
4652 { 0.46726928123633210, 1.0000000000000000, 10.000000000000000,
4653 8.0000000000000000, -0.90000000000000002 },
4654 { 0.49687547629934464, 1.0000000000000000, 10.000000000000000,
4655 8.0000000000000000, -0.80000000000000004 },
4656 { 0.53045208856322223, 1.0000000000000000, 10.000000000000000,
4657 8.0000000000000000, -0.69999999999999996 },
4658 { 0.56884765624999989, 1.0000000000000000, 10.000000000000000,
4659 8.0000000000000000, -0.59999999999999998 },
4660 { 0.61316872427983504, 1.0000000000000000, 10.000000000000000,
4661 8.0000000000000000, -0.50000000000000000 },
4662 { 0.66488500161969566, 1.0000000000000000, 10.000000000000000,
4663 8.0000000000000000, -0.40000000000000002 },
4664 { 0.72598998634501577, 1.0000000000000000, 10.000000000000000,
4665 8.0000000000000000, -0.30000000000000004 },
4666 { 0.79925411522633760, 1.0000000000000000, 10.000000000000000,
4667 8.0000000000000000, -0.19999999999999996 },
4668 { 0.88863845062192182, 1.0000000000000000, 10.000000000000000,
4669 8.0000000000000000, -0.099999999999999978 },
4670 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4671 8.0000000000000000, 0.0000000000000000 },
4672 { 1.1423563481176653, 1.0000000000000000, 10.000000000000000,
4673 8.0000000000000000, 0.10000000000000009 },
4674 { 1.3302951388888888, 1.0000000000000000, 10.000000000000000,
4675 8.0000000000000000, 0.19999999999999996 },
4676 { 1.5889212827988335, 1.0000000000000000, 10.000000000000000,
4677 8.0000000000000000, 0.30000000000000004 },
4678 { 1.9650205761316870, 1.0000000000000000, 10.000000000000000,
4679 8.0000000000000000, 0.39999999999999991 },
4680 { 2.5555555555555549, 1.0000000000000000, 10.000000000000000,
4681 8.0000000000000000, 0.50000000000000000 },
4682 { 3.5937500000000013, 1.0000000000000000, 10.000000000000000,
4683 8.0000000000000000, 0.60000000000000009 },
4684 { 5.7818930041152203, 1.0000000000000000, 10.000000000000000,
4685 8.0000000000000000, 0.69999999999999996 },
4686 { 12.222222222222220, 1.0000000000000000, 10.000000000000000,
4687 8.0000000000000000, 0.80000000000000004 },
4688 { 54.999999999999780, 1.0000000000000000, 10.000000000000000,
4689 8.0000000000000000, 0.89999999999999991 },
4691 const double toler099
= 2.5000000000000020e-13;
4693 // Test data for a=1.0000000000000000, b=10.000000000000000, c=10.000000000000000.
4694 // max(|f - f_GSL|): 1.7763568394002505e-15
4695 // max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
4696 const testcase_hyperg
<double>
4699 { 0.52631578947368429, 1.0000000000000000, 10.000000000000000,
4700 10.000000000000000, -0.90000000000000002 },
4701 { 0.55555555555555558, 1.0000000000000000, 10.000000000000000,
4702 10.000000000000000, -0.80000000000000004 },
4703 { 0.58823529411764708, 1.0000000000000000, 10.000000000000000,
4704 10.000000000000000, -0.69999999999999996 },
4705 { 0.62500000000000000, 1.0000000000000000, 10.000000000000000,
4706 10.000000000000000, -0.59999999999999998 },
4707 { 0.66666666666666663, 1.0000000000000000, 10.000000000000000,
4708 10.000000000000000, -0.50000000000000000 },
4709 { 0.71428571428571430, 1.0000000000000000, 10.000000000000000,
4710 10.000000000000000, -0.40000000000000002 },
4711 { 0.76923076923076927, 1.0000000000000000, 10.000000000000000,
4712 10.000000000000000, -0.30000000000000004 },
4713 { 0.83333333333333337, 1.0000000000000000, 10.000000000000000,
4714 10.000000000000000, -0.19999999999999996 },
4715 { 0.90909090909090906, 1.0000000000000000, 10.000000000000000,
4716 10.000000000000000, -0.099999999999999978 },
4717 { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
4718 10.000000000000000, 0.0000000000000000 },
4719 { 1.1111111111111112, 1.0000000000000000, 10.000000000000000,
4720 10.000000000000000, 0.10000000000000009 },
4721 { 1.2500000000000000, 1.0000000000000000, 10.000000000000000,
4722 10.000000000000000, 0.19999999999999996 },
4723 { 1.4285714285714286, 1.0000000000000000, 10.000000000000000,
4724 10.000000000000000, 0.30000000000000004 },
4725 { 1.6666666666666663, 1.0000000000000000, 10.000000000000000,
4726 10.000000000000000, 0.39999999999999991 },
4727 { 2.0000000000000000, 1.0000000000000000, 10.000000000000000,
4728 10.000000000000000, 0.50000000000000000 },
4729 { 2.5000000000000004, 1.0000000000000000, 10.000000000000000,
4730 10.000000000000000, 0.60000000000000009 },
4731 { 3.3333333333333330, 1.0000000000000000, 10.000000000000000,
4732 10.000000000000000, 0.69999999999999996 },
4733 { 5.0000000000000009, 1.0000000000000000, 10.000000000000000,
4734 10.000000000000000, 0.80000000000000004 },
4735 { 9.9999999999999929, 1.0000000000000000, 10.000000000000000,
4736 10.000000000000000, 0.89999999999999991 },
4738 const double toler100
= 2.5000000000000020e-13;
4740 // Test data for a=1.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
4741 // max(|f - f_GSL|): 1024.0000000000000
4742 // max(|f - f_GSL| / |f_GSL|): 1.7510400000000382e-15
4743 const testcase_hyperg
<double>
4746 { 0.058479236576646311, 1.0000000000000000, 20.000000000000000,
4747 2.0000000000000000, -0.90000000000000002 },
4748 { 0.065788544763137821, 1.0000000000000000, 20.000000000000000,
4749 2.0000000000000000, -0.80000000000000004 },
4750 { 0.075184824937824482, 1.0000000000000000, 20.000000000000000,
4751 2.0000000000000000, -0.69999999999999996 },
4752 { 0.087707688693157121, 1.0000000000000000, 20.000000000000000,
4753 2.0000000000000000, -0.59999999999999998 },
4754 { 0.10521567442213345, 1.0000000000000000, 20.000000000000000,
4755 2.0000000000000000, -0.50000000000000000 },
4756 { 0.13135877960541550, 1.0000000000000000, 20.000000000000000,
4757 2.0000000000000000, -0.40000000000000002 },
4758 { 0.17423854066297098, 1.0000000000000000, 20.000000000000000,
4759 2.0000000000000000, -0.30000000000000004 },
4760 { 0.25492082527223520, 1.0000000000000000, 20.000000000000000,
4761 2.0000000000000000, -0.19999999999999996 },
4762 { 0.44025895219654843, 1.0000000000000000, 20.000000000000000,
4763 2.0000000000000000, -0.099999999999999978 },
4764 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
4765 2.0000000000000000, 0.0000000000000000 },
4766 { 3.3698615820910360, 1.0000000000000000, 20.000000000000000,
4767 2.0000000000000000, 0.10000000000000009 },
4768 { 17.997089220808483, 1.0000000000000000, 20.000000000000000,
4769 2.0000000000000000, 0.19999999999999996 },
4770 { 153.73298291118951, 1.0000000000000000, 20.000000000000000,
4771 2.0000000000000000, 0.30000000000000004 },
4772 { 2159.1667587825627, 1.0000000000000000, 20.000000000000000,
4773 2.0000000000000000, 0.39999999999999991 },
4774 { 55188.105263157879, 1.0000000000000000, 20.000000000000000,
4775 2.0000000000000000, 0.50000000000000000 },
4776 { 3191209.3921857267, 1.0000000000000000, 20.000000000000000,
4777 2.0000000000000000, 0.60000000000000009 },
4778 { 646910975.29152656, 1.0000000000000000, 20.000000000000000,
4779 2.0000000000000000, 0.69999999999999996 },
4780 { 1254834626850.2659, 1.0000000000000000, 20.000000000000000,
4781 2.0000000000000000, 0.80000000000000004 },
4782 { 5.8479532163741414e+17, 1.0000000000000000, 20.000000000000000,
4783 2.0000000000000000, 0.89999999999999991 },
4785 const double toler101
= 2.5000000000000020e-13;
4787 // Test data for a=1.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
4788 // max(|f - f_GSL|): 0.21875000000000000
4789 // max(|f - f_GSL| / |f_GSL|): 1.5452521875000274e-15
4790 const testcase_hyperg
<double>
4793 { 0.15519511120894958, 1.0000000000000000, 20.000000000000000,
4794 4.0000000000000000, -0.90000000000000002 },
4795 { 0.17197165701692893, 1.0000000000000000, 20.000000000000000,
4796 4.0000000000000000, -0.80000000000000004 },
4797 { 0.19276847315207329, 1.0000000000000000, 20.000000000000000,
4798 4.0000000000000000, -0.69999999999999996 },
4799 { 0.21920107206179093, 1.0000000000000000, 20.000000000000000,
4800 4.0000000000000000, -0.59999999999999998 },
4801 { 0.25386158960390576, 1.0000000000000000, 20.000000000000000,
4802 4.0000000000000000, -0.50000000000000000 },
4803 { 0.30115970686600674, 1.0000000000000000, 20.000000000000000,
4804 4.0000000000000000, -0.40000000000000002 },
4805 { 0.36916408142057106, 1.0000000000000000, 20.000000000000000,
4806 4.0000000000000000, -0.30000000000000004 },
4807 { 0.47406175901569547, 1.0000000000000000, 20.000000000000000,
4808 4.0000000000000000, -0.19999999999999996 },
4809 { 0.65237908266239919, 1.0000000000000000, 20.000000000000000,
4810 4.0000000000000000, -0.099999999999999978 },
4811 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
4812 4.0000000000000000, 0.0000000000000000 },
4813 { 1.8227213362622299, 1.0000000000000000, 20.000000000000000,
4814 4.0000000000000000, 0.10000000000000009 },
4815 { 4.3716358339791332, 1.0000000000000000, 20.000000000000000,
4816 4.0000000000000000, 0.19999999999999996 },
4817 { 15.670841312959222, 1.0000000000000000, 20.000000000000000,
4818 4.0000000000000000, 0.30000000000000004 },
4819 { 94.742651122760179, 1.0000000000000000, 20.000000000000000,
4820 4.0000000000000000, 0.39999999999999991 },
4821 { 1081.7275541795671, 1.0000000000000000, 20.000000000000000,
4822 4.0000000000000000, 0.50000000000000000 },
4823 { 27809.787731465960, 1.0000000000000000, 20.000000000000000,
4824 4.0000000000000000, 0.60000000000000009 },
4825 { 2329811.1715181042, 1.0000000000000000, 20.000000000000000,
4826 4.0000000000000000, 0.69999999999999996 },
4827 { 1537787532.6780224, 1.0000000000000000, 20.000000000000000,
4828 4.0000000000000000, 0.80000000000000004 },
4829 { 141562653506999.88, 1.0000000000000000, 20.000000000000000,
4830 4.0000000000000000, 0.89999999999999991 },
4832 const double toler102
= 2.5000000000000020e-13;
4834 // Test data for a=1.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
4835 // max(|f - f_GSL|): 0.00024414062500000000
4836 // max(|f - f_GSL| / |f_GSL|): 1.6763226855512825e-15
4837 const testcase_hyperg
<double>
4840 { 0.23253645591196551, 1.0000000000000000, 20.000000000000000,
4841 6.0000000000000000, -0.90000000000000002 },
4842 { 0.25484220947068342, 1.0000000000000000, 20.000000000000000,
4843 6.0000000000000000, -0.80000000000000004 },
4844 { 0.28181987881113812, 1.0000000000000000, 20.000000000000000,
4845 6.0000000000000000, -0.69999999999999996 },
4846 { 0.31508211677735770, 1.0000000000000000, 20.000000000000000,
4847 6.0000000000000000, -0.59999999999999998 },
4848 { 0.35706285886959610, 1.0000000000000000, 20.000000000000000,
4849 6.0000000000000000, -0.50000000000000000 },
4850 { 0.41160053409238206, 1.0000000000000000, 20.000000000000000,
4851 6.0000000000000000, -0.40000000000000002 },
4852 { 0.48508083111181960, 1.0000000000000000, 20.000000000000000,
4853 6.0000000000000000, -0.30000000000000004 },
4854 { 0.58885194371375260, 1.0000000000000000, 20.000000000000000,
4855 6.0000000000000000, -0.19999999999999996 },
4856 { 0.74482241684585782, 1.0000000000000000, 20.000000000000000,
4857 6.0000000000000000, -0.099999999999999978 },
4858 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
4859 6.0000000000000000, 0.0000000000000000 },
4860 { 1.4700356864367146, 1.0000000000000000, 20.000000000000000,
4861 6.0000000000000000, 0.10000000000000009 },
4862 { 2.4955144453055143, 1.0000000000000000, 20.000000000000000,
4863 6.0000000000000000, 0.19999999999999996 },
4864 { 5.3506594845833471, 1.0000000000000000, 20.000000000000000,
4865 6.0000000000000000, 0.30000000000000004 },
4866 { 16.618413752184221, 1.0000000000000000, 20.000000000000000,
4867 6.0000000000000000, 0.39999999999999991 },
4868 { 89.310629514963878, 1.0000000000000000, 20.000000000000000,
4869 6.0000000000000000, 0.50000000000000000 },
4870 { 1029.3439900542960, 1.0000000000000000, 20.000000000000000,
4871 6.0000000000000000, 0.60000000000000009 },
4872 { 35659.847863372350, 1.0000000000000000, 20.000000000000000,
4873 6.0000000000000000, 0.69999999999999996 },
4874 { 8009309.6233230168, 1.0000000000000000, 20.000000000000000,
4875 6.0000000000000000, 0.80000000000000004 },
4876 { 145640590027.39731, 1.0000000000000000, 20.000000000000000,
4877 6.0000000000000000, 0.89999999999999991 },
4879 const double toler103
= 2.5000000000000020e-13;
4881 // Test data for a=1.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
4882 // max(|f - f_GSL|): 7.1525573730468750e-07
4883 // max(|f - f_GSL| / |f_GSL|): 1.7237966704608456e-15
4884 const testcase_hyperg
<double>
4887 { 0.29614148314592509, 1.0000000000000000, 20.000000000000000,
4888 8.0000000000000000, -0.90000000000000002 },
4889 { 0.32176277356430805, 1.0000000000000000, 20.000000000000000,
4890 8.0000000000000000, -0.80000000000000004 },
4891 { 0.35217870475550511, 1.0000000000000000, 20.000000000000000,
4892 8.0000000000000000, -0.69999999999999996 },
4893 { 0.38885270445515113, 1.0000000000000000, 20.000000000000000,
4894 8.0000000000000000, -0.59999999999999998 },
4895 { 0.43389978380608418, 1.0000000000000000, 20.000000000000000,
4896 8.0000000000000000, -0.50000000000000000 },
4897 { 0.49048612522269458, 1.0000000000000000, 20.000000000000000,
4898 8.0000000000000000, -0.40000000000000002 },
4899 { 0.56355539635634599, 1.0000000000000000, 20.000000000000000,
4900 8.0000000000000000, -0.30000000000000004 },
4901 { 0.66123153239117671, 1.0000000000000000, 20.000000000000000,
4902 8.0000000000000000, -0.19999999999999996 },
4903 { 0.79773363961895416, 1.0000000000000000, 20.000000000000000,
4904 8.0000000000000000, -0.099999999999999978 },
4905 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
4906 8.0000000000000000, 0.0000000000000000 },
4907 { 1.3245132157016595, 1.0000000000000000, 20.000000000000000,
4908 8.0000000000000000, 0.10000000000000009 },
4909 { 1.9065148749742076, 1.0000000000000000, 20.000000000000000,
4910 8.0000000000000000, 0.19999999999999996 },
4911 { 3.1328798652457452, 1.0000000000000000, 20.000000000000000,
4912 8.0000000000000000, 0.30000000000000004 },
4913 { 6.4172532944033476, 1.0000000000000000, 20.000000000000000,
4914 8.0000000000000000, 0.39999999999999991 },
4915 { 19.071683734222436, 1.0000000000000000, 20.000000000000000,
4916 8.0000000000000000, 0.50000000000000000 },
4917 { 104.41989641582512, 1.0000000000000000, 20.000000000000000,
4918 8.0000000000000000, 0.60000000000000009 },
4919 { 1510.5743992324240, 1.0000000000000000, 20.000000000000000,
4920 8.0000000000000000, 0.69999999999999996 },
4921 { 115518.14360562043, 1.0000000000000000, 20.000000000000000,
4922 8.0000000000000000, 0.80000000000000004 },
4923 { 414930455.29173034, 1.0000000000000000, 20.000000000000000,
4924 8.0000000000000000, 0.89999999999999991 },
4926 const double toler104
= 2.5000000000000020e-13;
4928 // Test data for a=1.0000000000000000, b=20.000000000000000, c=10.000000000000000.
4929 // max(|f - f_GSL|): 4.6566128730773926e-09
4930 // max(|f - f_GSL| / |f_GSL|): 1.6665618165272271e-15
4931 const testcase_hyperg
<double>
4934 { 0.34954259539177701, 1.0000000000000000, 20.000000000000000,
4935 10.000000000000000, -0.90000000000000002 },
4936 { 0.37714038609235134, 1.0000000000000000, 20.000000000000000,
4937 10.000000000000000, -0.80000000000000004 },
4938 { 0.40942091659748781, 1.0000000000000000, 20.000000000000000,
4939 10.000000000000000, -0.69999999999999996 },
4940 { 0.44767109606846422, 1.0000000000000000, 20.000000000000000,
4941 10.000000000000000, -0.59999999999999998 },
4942 { 0.49368984777532227, 1.0000000000000000, 20.000000000000000,
4943 10.000000000000000, -0.50000000000000000 },
4944 { 0.55006638216982295, 1.0000000000000000, 20.000000000000000,
4945 10.000000000000000, -0.40000000000000002 },
4946 { 0.62065830207408890, 1.0000000000000000, 20.000000000000000,
4947 10.000000000000000, -0.30000000000000004 },
4948 { 0.71145554513583764, 1.0000000000000000, 20.000000000000000,
4949 10.000000000000000, -0.19999999999999996 },
4950 { 0.83223839666914623, 1.0000000000000000, 20.000000000000000,
4951 10.000000000000000, -0.099999999999999978 },
4952 { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
4953 10.000000000000000, 0.0000000000000000 },
4954 { 1.2466748028187731, 1.0000000000000000, 20.000000000000000,
4955 10.000000000000000, 0.10000000000000009 },
4956 { 1.6386752725021749, 1.0000000000000000, 20.000000000000000,
4957 10.000000000000000, 0.19999999999999996 },
4958 { 2.3340068725479681, 1.0000000000000000, 20.000000000000000,
4959 10.000000000000000, 0.30000000000000004 },
4960 { 3.7848108613132054, 1.0000000000000000, 20.000000000000000,
4961 10.000000000000000, 0.39999999999999991 },
4962 { 7.6754638550304133, 1.0000000000000000, 20.000000000000000,
4963 10.000000000000000, 0.50000000000000000 },
4964 { 23.344217312927277, 1.0000000000000000, 20.000000000000000,
4965 10.000000000000000, 0.60000000000000009 },
4966 { 149.83491198246921, 1.0000000000000000, 20.000000000000000,
4967 10.000000000000000, 0.69999999999999996 },
4968 { 3936.9253501916060, 1.0000000000000000, 20.000000000000000,
4969 10.000000000000000, 0.80000000000000004 },
4970 { 2794143.5036480185, 1.0000000000000000, 20.000000000000000,
4971 10.000000000000000, 0.89999999999999991 },
4973 const double toler105
= 2.5000000000000020e-13;
4975 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
4976 // max(|f - f_GSL|): 0.0000000000000000
4977 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
4978 const testcase_hyperg
<double>
4981 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4982 2.0000000000000000, -0.90000000000000002 },
4983 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4984 2.0000000000000000, -0.80000000000000004 },
4985 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4986 2.0000000000000000, -0.69999999999999996 },
4987 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4988 2.0000000000000000, -0.59999999999999998 },
4989 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4990 2.0000000000000000, -0.50000000000000000 },
4991 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4992 2.0000000000000000, -0.40000000000000002 },
4993 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4994 2.0000000000000000, -0.30000000000000004 },
4995 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4996 2.0000000000000000, -0.19999999999999996 },
4997 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
4998 2.0000000000000000, -0.099999999999999978 },
4999 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5000 2.0000000000000000, 0.0000000000000000 },
5001 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5002 2.0000000000000000, 0.10000000000000009 },
5003 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5004 2.0000000000000000, 0.19999999999999996 },
5005 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5006 2.0000000000000000, 0.30000000000000004 },
5007 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5008 2.0000000000000000, 0.39999999999999991 },
5009 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5010 2.0000000000000000, 0.50000000000000000 },
5011 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5012 2.0000000000000000, 0.60000000000000009 },
5013 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5014 2.0000000000000000, 0.69999999999999996 },
5015 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5016 2.0000000000000000, 0.80000000000000004 },
5017 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5018 2.0000000000000000, 0.89999999999999991 },
5020 const double toler106
= 2.5000000000000020e-13;
5022 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
5023 // max(|f - f_GSL|): 0.0000000000000000
5024 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5025 const testcase_hyperg
<double>
5028 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5029 4.0000000000000000, -0.90000000000000002 },
5030 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5031 4.0000000000000000, -0.80000000000000004 },
5032 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5033 4.0000000000000000, -0.69999999999999996 },
5034 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5035 4.0000000000000000, -0.59999999999999998 },
5036 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5037 4.0000000000000000, -0.50000000000000000 },
5038 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5039 4.0000000000000000, -0.40000000000000002 },
5040 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5041 4.0000000000000000, -0.30000000000000004 },
5042 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5043 4.0000000000000000, -0.19999999999999996 },
5044 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5045 4.0000000000000000, -0.099999999999999978 },
5046 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5047 4.0000000000000000, 0.0000000000000000 },
5048 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5049 4.0000000000000000, 0.10000000000000009 },
5050 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5051 4.0000000000000000, 0.19999999999999996 },
5052 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5053 4.0000000000000000, 0.30000000000000004 },
5054 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5055 4.0000000000000000, 0.39999999999999991 },
5056 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5057 4.0000000000000000, 0.50000000000000000 },
5058 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5059 4.0000000000000000, 0.60000000000000009 },
5060 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5061 4.0000000000000000, 0.69999999999999996 },
5062 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5063 4.0000000000000000, 0.80000000000000004 },
5064 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5065 4.0000000000000000, 0.89999999999999991 },
5067 const double toler107
= 2.5000000000000020e-13;
5069 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
5070 // max(|f - f_GSL|): 0.0000000000000000
5071 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5072 const testcase_hyperg
<double>
5075 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5076 6.0000000000000000, -0.90000000000000002 },
5077 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5078 6.0000000000000000, -0.80000000000000004 },
5079 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5080 6.0000000000000000, -0.69999999999999996 },
5081 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5082 6.0000000000000000, -0.59999999999999998 },
5083 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5084 6.0000000000000000, -0.50000000000000000 },
5085 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5086 6.0000000000000000, -0.40000000000000002 },
5087 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5088 6.0000000000000000, -0.30000000000000004 },
5089 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5090 6.0000000000000000, -0.19999999999999996 },
5091 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5092 6.0000000000000000, -0.099999999999999978 },
5093 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5094 6.0000000000000000, 0.0000000000000000 },
5095 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5096 6.0000000000000000, 0.10000000000000009 },
5097 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5098 6.0000000000000000, 0.19999999999999996 },
5099 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5100 6.0000000000000000, 0.30000000000000004 },
5101 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5102 6.0000000000000000, 0.39999999999999991 },
5103 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5104 6.0000000000000000, 0.50000000000000000 },
5105 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5106 6.0000000000000000, 0.60000000000000009 },
5107 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5108 6.0000000000000000, 0.69999999999999996 },
5109 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5110 6.0000000000000000, 0.80000000000000004 },
5111 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5112 6.0000000000000000, 0.89999999999999991 },
5114 const double toler108
= 2.5000000000000020e-13;
5116 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
5117 // max(|f - f_GSL|): 0.0000000000000000
5118 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5119 const testcase_hyperg
<double>
5122 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5123 8.0000000000000000, -0.90000000000000002 },
5124 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5125 8.0000000000000000, -0.80000000000000004 },
5126 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5127 8.0000000000000000, -0.69999999999999996 },
5128 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5129 8.0000000000000000, -0.59999999999999998 },
5130 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5131 8.0000000000000000, -0.50000000000000000 },
5132 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5133 8.0000000000000000, -0.40000000000000002 },
5134 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5135 8.0000000000000000, -0.30000000000000004 },
5136 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5137 8.0000000000000000, -0.19999999999999996 },
5138 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5139 8.0000000000000000, -0.099999999999999978 },
5140 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5141 8.0000000000000000, 0.0000000000000000 },
5142 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5143 8.0000000000000000, 0.10000000000000009 },
5144 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5145 8.0000000000000000, 0.19999999999999996 },
5146 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5147 8.0000000000000000, 0.30000000000000004 },
5148 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5149 8.0000000000000000, 0.39999999999999991 },
5150 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5151 8.0000000000000000, 0.50000000000000000 },
5152 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5153 8.0000000000000000, 0.60000000000000009 },
5154 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5155 8.0000000000000000, 0.69999999999999996 },
5156 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5157 8.0000000000000000, 0.80000000000000004 },
5158 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5159 8.0000000000000000, 0.89999999999999991 },
5161 const double toler109
= 2.5000000000000020e-13;
5163 // Test data for a=2.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
5164 // max(|f - f_GSL|): 0.0000000000000000
5165 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
5166 const testcase_hyperg
<double>
5169 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5170 10.000000000000000, -0.90000000000000002 },
5171 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5172 10.000000000000000, -0.80000000000000004 },
5173 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5174 10.000000000000000, -0.69999999999999996 },
5175 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5176 10.000000000000000, -0.59999999999999998 },
5177 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5178 10.000000000000000, -0.50000000000000000 },
5179 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5180 10.000000000000000, -0.40000000000000002 },
5181 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5182 10.000000000000000, -0.30000000000000004 },
5183 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5184 10.000000000000000, -0.19999999999999996 },
5185 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5186 10.000000000000000, -0.099999999999999978 },
5187 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5188 10.000000000000000, 0.0000000000000000 },
5189 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5190 10.000000000000000, 0.10000000000000009 },
5191 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5192 10.000000000000000, 0.19999999999999996 },
5193 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5194 10.000000000000000, 0.30000000000000004 },
5195 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5196 10.000000000000000, 0.39999999999999991 },
5197 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5198 10.000000000000000, 0.50000000000000000 },
5199 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5200 10.000000000000000, 0.60000000000000009 },
5201 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5202 10.000000000000000, 0.69999999999999996 },
5203 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5204 10.000000000000000, 0.80000000000000004 },
5205 { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
5206 10.000000000000000, 0.89999999999999991 },
5208 const double toler110
= 2.5000000000000020e-13;
5210 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
5211 // max(|f - f_GSL|): 4.4408920985006262e-16
5212 // max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
5213 const testcase_hyperg
<double>
5216 { 0.72547625011001171, 2.0000000000000000, 0.50000000000000000,
5217 2.0000000000000000, -0.90000000000000002 },
5218 { 0.74535599249992990, 2.0000000000000000, 0.50000000000000000,
5219 2.0000000000000000, -0.80000000000000004 },
5220 { 0.76696498884737041, 2.0000000000000000, 0.50000000000000000,
5221 2.0000000000000000, -0.69999999999999996 },
5222 { 0.79056941504209477, 2.0000000000000000, 0.50000000000000000,
5223 2.0000000000000000, -0.59999999999999998 },
5224 { 0.81649658092772603, 2.0000000000000000, 0.50000000000000000,
5225 2.0000000000000000, -0.50000000000000000 },
5226 { 0.84515425472851657, 2.0000000000000000, 0.50000000000000000,
5227 2.0000000000000000, -0.40000000000000002 },
5228 { 0.87705801930702920, 2.0000000000000000, 0.50000000000000000,
5229 2.0000000000000000, -0.30000000000000004 },
5230 { 0.91287092917527690, 2.0000000000000000, 0.50000000000000000,
5231 2.0000000000000000, -0.19999999999999996 },
5232 { 0.95346258924559224, 2.0000000000000000, 0.50000000000000000,
5233 2.0000000000000000, -0.099999999999999978 },
5234 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5235 2.0000000000000000, 0.0000000000000000 },
5236 { 1.0540925533894598, 2.0000000000000000, 0.50000000000000000,
5237 2.0000000000000000, 0.10000000000000009 },
5238 { 1.1180339887498949, 2.0000000000000000, 0.50000000000000000,
5239 2.0000000000000000, 0.19999999999999996 },
5240 { 1.1952286093343938, 2.0000000000000000, 0.50000000000000000,
5241 2.0000000000000000, 0.30000000000000004 },
5242 { 1.2909944487358056, 2.0000000000000000, 0.50000000000000000,
5243 2.0000000000000000, 0.39999999999999991 },
5244 { 1.4142135623730949, 2.0000000000000000, 0.50000000000000000,
5245 2.0000000000000000, 0.50000000000000000 },
5246 { 1.5811388300841900, 2.0000000000000000, 0.50000000000000000,
5247 2.0000000000000000, 0.60000000000000009 },
5248 { 1.8257418583505536, 2.0000000000000000, 0.50000000000000000,
5249 2.0000000000000000, 0.69999999999999996 },
5250 { 2.2360679774997898, 2.0000000000000000, 0.50000000000000000,
5251 2.0000000000000000, 0.80000000000000004 },
5252 { 3.1622776601683782, 2.0000000000000000, 0.50000000000000000,
5253 2.0000000000000000, 0.89999999999999991 },
5255 const double toler111
= 2.5000000000000020e-13;
5257 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
5258 // max(|f - f_GSL|): 4.4408920985006262e-16
5259 // max(|f - f_GSL| / |f_GSL|): 3.0893602609058104e-16
5260 const testcase_hyperg
<double>
5263 { 0.83664260086443765, 2.0000000000000000, 0.50000000000000000,
5264 4.0000000000000000, -0.90000000000000002 },
5265 { 0.85046584300227079, 2.0000000000000000, 0.50000000000000000,
5266 4.0000000000000000, -0.80000000000000004 },
5267 { 0.86509574979651649, 2.0000000000000000, 0.50000000000000000,
5268 4.0000000000000000, -0.69999999999999996 },
5269 { 0.88062082573041911, 2.0000000000000000, 0.50000000000000000,
5270 4.0000000000000000, -0.59999999999999998 },
5271 { 0.89714464248521597, 2.0000000000000000, 0.50000000000000000,
5272 4.0000000000000000, -0.50000000000000000 },
5273 { 0.91478946588967591, 2.0000000000000000, 0.50000000000000000,
5274 4.0000000000000000, -0.40000000000000002 },
5275 { 0.93370105322348573, 2.0000000000000000, 0.50000000000000000,
5276 4.0000000000000000, -0.30000000000000004 },
5277 { 0.95405511057700887, 2.0000000000000000, 0.50000000000000000,
5278 4.0000000000000000, -0.19999999999999996 },
5279 { 0.97606616007978142, 2.0000000000000000, 0.50000000000000000,
5280 4.0000000000000000, -0.099999999999999978 },
5281 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5282 4.0000000000000000, 0.0000000000000000 },
5283 { 1.0261916902334731, 2.0000000000000000, 0.50000000000000000,
5284 4.0000000000000000, 0.10000000000000009 },
5285 { 1.0550723519434702, 2.0000000000000000, 0.50000000000000000,
5286 4.0000000000000000, 0.19999999999999996 },
5287 { 1.0872106588188091, 2.0000000000000000, 0.50000000000000000,
5288 4.0000000000000000, 0.30000000000000004 },
5289 { 1.1233801699379020, 2.0000000000000000, 0.50000000000000000,
5290 4.0000000000000000, 0.39999999999999991 },
5291 { 1.1646752981725688, 2.0000000000000000, 0.50000000000000000,
5292 4.0000000000000000, 0.50000000000000000 },
5293 { 1.2127272514219511, 2.0000000000000000, 0.50000000000000000,
5294 4.0000000000000000, 0.60000000000000009 },
5295 { 1.2701518651068637, 2.0000000000000000, 0.50000000000000000,
5296 4.0000000000000000, 0.69999999999999996 },
5297 { 1.3416407864998725, 2.0000000000000000, 0.50000000000000000,
5298 4.0000000000000000, 0.80000000000000004 },
5299 { 1.4374795179111102, 2.0000000000000000, 0.50000000000000000,
5300 4.0000000000000000, 0.89999999999999991 },
5302 const double toler112
= 2.5000000000000020e-13;
5304 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
5305 // max(|f - f_GSL|): 3.3306690738754696e-16
5306 // max(|f - f_GSL| / |f_GSL|): 3.3853500746952663e-16
5307 const testcase_hyperg
<double>
5310 { 0.88195381730235822, 2.0000000000000000, 0.50000000000000000,
5311 6.0000000000000000, -0.90000000000000002 },
5312 { 0.89265078469555081, 2.0000000000000000, 0.50000000000000000,
5313 6.0000000000000000, -0.80000000000000004 },
5314 { 0.90382937908303673, 2.0000000000000000, 0.50000000000000000,
5315 6.0000000000000000, -0.69999999999999996 },
5316 { 0.91553161389880600, 2.0000000000000000, 0.50000000000000000,
5317 6.0000000000000000, -0.59999999999999998 },
5318 { 0.92780530349281509, 2.0000000000000000, 0.50000000000000000,
5319 6.0000000000000000, -0.50000000000000000 },
5320 { 0.94070521140346008, 2.0000000000000000, 0.50000000000000000,
5321 6.0000000000000000, -0.40000000000000002 },
5322 { 0.95429450630523383, 2.0000000000000000, 0.50000000000000000,
5323 6.0000000000000000, -0.30000000000000004 },
5324 { 0.96864663325785849, 2.0000000000000000, 0.50000000000000000,
5325 6.0000000000000000, -0.19999999999999996 },
5326 { 0.98384775588541795, 2.0000000000000000, 0.50000000000000000,
5327 6.0000000000000000, -0.099999999999999978 },
5328 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5329 6.0000000000000000, 0.0000000000000000 },
5330 { 1.0172258496884334, 2.0000000000000000, 0.50000000000000000,
5331 6.0000000000000000, 0.10000000000000009 },
5332 { 1.0356742479163459, 2.0000000000000000, 0.50000000000000000,
5333 6.0000000000000000, 0.19999999999999996 },
5334 { 1.0555293036908924, 2.0000000000000000, 0.50000000000000000,
5335 6.0000000000000000, 0.30000000000000004 },
5336 { 1.0770231491562379, 2.0000000000000000, 0.50000000000000000,
5337 6.0000000000000000, 0.39999999999999991 },
5338 { 1.1004557416484888, 2.0000000000000000, 0.50000000000000000,
5339 6.0000000000000000, 0.50000000000000000 },
5340 { 1.1262270515731978, 2.0000000000000000, 0.50000000000000000,
5341 6.0000000000000000, 0.60000000000000009 },
5342 { 1.1548932919125086, 2.0000000000000000, 0.50000000000000000,
5343 6.0000000000000000, 0.69999999999999996 },
5344 { 1.1872757758134724, 2.0000000000000000, 0.50000000000000000,
5345 6.0000000000000000, 0.80000000000000004 },
5346 { 1.2247091713458949, 2.0000000000000000, 0.50000000000000000,
5347 6.0000000000000000, 0.89999999999999991 },
5349 const double toler113
= 2.5000000000000020e-13;
5351 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
5352 // max(|f - f_GSL|): 2.2204460492503131e-16
5353 // max(|f - f_GSL| / |f_GSL|): 2.2746445692007949e-16
5354 const testcase_hyperg
<double>
5357 { 0.90716919697107279, 2.0000000000000000, 0.50000000000000000,
5358 8.0000000000000000, -0.90000000000000002 },
5359 { 0.91592299407142508, 2.0000000000000000, 0.50000000000000000,
5360 8.0000000000000000, -0.80000000000000004 },
5361 { 0.92500027075874192, 2.0000000000000000, 0.50000000000000000,
5362 8.0000000000000000, -0.69999999999999996 },
5363 { 0.93442464185467122, 2.0000000000000000, 0.50000000000000000,
5364 8.0000000000000000, -0.59999999999999998 },
5365 { 0.94422248683737076, 2.0000000000000000, 0.50000000000000000,
5366 8.0000000000000000, -0.50000000000000000 },
5367 { 0.95442341810133324, 2.0000000000000000, 0.50000000000000000,
5368 8.0000000000000000, -0.40000000000000002 },
5369 { 0.96506085725516355, 2.0000000000000000, 0.50000000000000000,
5370 8.0000000000000000, -0.30000000000000004 },
5371 { 0.97617275213704069, 2.0000000000000000, 0.50000000000000000,
5372 8.0000000000000000, -0.19999999999999996 },
5373 { 0.98780247986309799, 2.0000000000000000, 0.50000000000000000,
5374 8.0000000000000000, -0.099999999999999978 },
5375 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5376 8.0000000000000000, 0.0000000000000000 },
5377 { 1.0128233505813447, 2.0000000000000000, 0.50000000000000000,
5378 8.0000000000000000, 0.10000000000000009 },
5379 { 1.0263406246541855, 2.0000000000000000, 0.50000000000000000,
5380 8.0000000000000000, 0.19999999999999996 },
5381 { 1.0406326381700366, 2.0000000000000000, 0.50000000000000000,
5382 8.0000000000000000, 0.30000000000000004 },
5383 { 1.0557966239802845, 2.0000000000000000, 0.50000000000000000,
5384 8.0000000000000000, 0.39999999999999991 },
5385 { 1.0719515075786321, 2.0000000000000000, 0.50000000000000000,
5386 8.0000000000000000, 0.50000000000000000 },
5387 { 1.0892457392422055, 2.0000000000000000, 0.50000000000000000,
5388 8.0000000000000000, 0.60000000000000009 },
5389 { 1.1078695188000958, 2.0000000000000000, 0.50000000000000000,
5390 8.0000000000000000, 0.69999999999999996 },
5391 { 1.1280752258974340, 2.0000000000000000, 0.50000000000000000,
5392 8.0000000000000000, 0.80000000000000004 },
5393 { 1.1502152002706476, 2.0000000000000000, 0.50000000000000000,
5394 8.0000000000000000, 0.89999999999999991 },
5396 const double toler114
= 2.5000000000000020e-13;
5398 // Test data for a=2.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
5399 // max(|f - f_GSL|): 4.4408920985006262e-16
5400 // max(|f - f_GSL| / |f_GSL|): 4.4848478782807992e-16
5401 const testcase_hyperg
<double>
5404 { 0.92336416053263082, 2.0000000000000000, 0.50000000000000000,
5405 10.000000000000000, -0.90000000000000002 },
5406 { 0.93078397248364542, 2.0000000000000000, 0.50000000000000000,
5407 10.000000000000000, -0.80000000000000004 },
5408 { 0.93843714333600259, 2.0000000000000000, 0.50000000000000000,
5409 10.000000000000000, -0.69999999999999996 },
5410 { 0.94633837784068098, 2.0000000000000000, 0.50000000000000000,
5411 10.000000000000000, -0.59999999999999998 },
5412 { 0.95450388104967876, 2.0000000000000000, 0.50000000000000000,
5413 10.000000000000000, -0.50000000000000000 },
5414 { 0.96295158125742752, 2.0000000000000000, 0.50000000000000000,
5415 10.000000000000000, -0.40000000000000002 },
5416 { 0.97170139827854318, 2.0000000000000000, 0.50000000000000000,
5417 10.000000000000000, -0.30000000000000004 },
5418 { 0.98077556918512687, 2.0000000000000000, 0.50000000000000000,
5419 10.000000000000000, -0.19999999999999996 },
5420 { 0.99019904777750845, 2.0000000000000000, 0.50000000000000000,
5421 10.000000000000000, -0.099999999999999978 },
5422 { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
5423 10.000000000000000, 0.0000000000000000 },
5424 { 1.0102104261941198, 2.0000000000000000, 0.50000000000000000,
5425 10.000000000000000, 0.10000000000000009 },
5426 { 1.0208669540935695, 2.0000000000000000, 0.50000000000000000,
5427 10.000000000000000, 0.19999999999999996 },
5428 { 1.0320118665407505, 2.0000000000000000, 0.50000000000000000,
5429 10.000000000000000, 0.30000000000000004 },
5430 { 1.0436944599504387, 2.0000000000000000, 0.50000000000000000,
5431 10.000000000000000, 0.39999999999999991 },
5432 { 1.0559728828278145, 2.0000000000000000, 0.50000000000000000,
5433 10.000000000000000, 0.50000000000000000 },
5434 { 1.0689166967761712, 2.0000000000000000, 0.50000000000000000,
5435 10.000000000000000, 0.60000000000000009 },
5436 { 1.0826105758119842, 2.0000000000000000, 0.50000000000000000,
5437 10.000000000000000, 0.69999999999999996 },
5438 { 1.0971599106346146, 2.0000000000000000, 0.50000000000000000,
5439 10.000000000000000, 0.80000000000000004 },
5440 { 1.1126998828023964, 2.0000000000000000, 0.50000000000000000,
5441 10.000000000000000, 0.89999999999999991 },
5443 const double toler115
= 2.5000000000000020e-13;
5445 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
5446 // max(|f - f_GSL|): 1.7763568394002505e-15
5447 // max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
5448 const testcase_hyperg
<double>
5451 { 0.52631578947368429, 2.0000000000000000, 1.0000000000000000,
5452 2.0000000000000000, -0.90000000000000002 },
5453 { 0.55555555555555558, 2.0000000000000000, 1.0000000000000000,
5454 2.0000000000000000, -0.80000000000000004 },
5455 { 0.58823529411764708, 2.0000000000000000, 1.0000000000000000,
5456 2.0000000000000000, -0.69999999999999996 },
5457 { 0.62500000000000000, 2.0000000000000000, 1.0000000000000000,
5458 2.0000000000000000, -0.59999999999999998 },
5459 { 0.66666666666666663, 2.0000000000000000, 1.0000000000000000,
5460 2.0000000000000000, -0.50000000000000000 },
5461 { 0.71428571428571430, 2.0000000000000000, 1.0000000000000000,
5462 2.0000000000000000, -0.40000000000000002 },
5463 { 0.76923076923076927, 2.0000000000000000, 1.0000000000000000,
5464 2.0000000000000000, -0.30000000000000004 },
5465 { 0.83333333333333337, 2.0000000000000000, 1.0000000000000000,
5466 2.0000000000000000, -0.19999999999999996 },
5467 { 0.90909090909090906, 2.0000000000000000, 1.0000000000000000,
5468 2.0000000000000000, -0.099999999999999978 },
5469 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5470 2.0000000000000000, 0.0000000000000000 },
5471 { 1.1111111111111112, 2.0000000000000000, 1.0000000000000000,
5472 2.0000000000000000, 0.10000000000000009 },
5473 { 1.2500000000000000, 2.0000000000000000, 1.0000000000000000,
5474 2.0000000000000000, 0.19999999999999996 },
5475 { 1.4285714285714286, 2.0000000000000000, 1.0000000000000000,
5476 2.0000000000000000, 0.30000000000000004 },
5477 { 1.6666666666666663, 2.0000000000000000, 1.0000000000000000,
5478 2.0000000000000000, 0.39999999999999991 },
5479 { 2.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5480 2.0000000000000000, 0.50000000000000000 },
5481 { 2.5000000000000004, 2.0000000000000000, 1.0000000000000000,
5482 2.0000000000000000, 0.60000000000000009 },
5483 { 3.3333333333333330, 2.0000000000000000, 1.0000000000000000,
5484 2.0000000000000000, 0.69999999999999996 },
5485 { 5.0000000000000009, 2.0000000000000000, 1.0000000000000000,
5486 2.0000000000000000, 0.80000000000000004 },
5487 { 9.9999999999999929, 2.0000000000000000, 1.0000000000000000,
5488 2.0000000000000000, 0.89999999999999991 },
5490 const double toler116
= 2.5000000000000020e-13;
5492 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
5493 // max(|f - f_GSL|): 2.6645352591003757e-15
5494 // max(|f - f_GSL| / |f_GSL|): 1.2228571846595251e-15
5495 const testcase_hyperg
<double>
5498 { 0.70351947549341554, 2.0000000000000000, 1.0000000000000000,
5499 4.0000000000000000, -0.90000000000000002 },
5500 { 0.72637503722092756, 2.0000000000000000, 1.0000000000000000,
5501 4.0000000000000000, -0.80000000000000004 },
5502 { 0.75099661564391240, 2.0000000000000000, 1.0000000000000000,
5503 4.0000000000000000, -0.69999999999999996 },
5504 { 0.77761647796730871, 2.0000000000000000, 1.0000000000000000,
5505 4.0000000000000000, -0.59999999999999998 },
5506 { 0.80651221621216473, 2.0000000000000000, 1.0000000000000000,
5507 4.0000000000000000, -0.50000000000000000 },
5508 { 0.83801894346580241, 2.0000000000000000, 1.0000000000000000,
5509 4.0000000000000000, -0.40000000000000002 },
5510 { 0.87254582050258456, 2.0000000000000000, 1.0000000000000000,
5511 4.0000000000000000, -0.30000000000000004 },
5512 { 0.91059888544083678, 2.0000000000000000, 1.0000000000000000,
5513 4.0000000000000000, -0.19999999999999996 },
5514 { 0.95281329145592386, 2.0000000000000000, 1.0000000000000000,
5515 4.0000000000000000, -0.099999999999999978 },
5516 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5517 4.0000000000000000, 0.0000000000000000 },
5518 { 1.0532154477379738, 2.0000000000000000, 1.0000000000000000,
5519 4.0000000000000000, 0.10000000000000009 },
5520 { 1.1138692114741471, 2.0000000000000000, 1.0000000000000000,
5521 4.0000000000000000, 0.19999999999999996 },
5522 { 1.1838976095305187, 2.0000000000000000, 1.0000000000000000,
5523 4.0000000000000000, 0.30000000000000004 },
5524 { 1.2660586631630237, 2.0000000000000000, 1.0000000000000000,
5525 4.0000000000000000, 0.39999999999999991 },
5526 { 1.3644676665613118, 2.0000000000000000, 1.0000000000000000,
5527 4.0000000000000000, 0.50000000000000000 },
5528 { 1.4856585347316102, 2.0000000000000000, 1.0000000000000000,
5529 4.0000000000000000, 0.60000000000000009 },
5530 { 1.6409590443536872, 2.0000000000000000, 1.0000000000000000,
5531 4.0000000000000000, 0.69999999999999996 },
5532 { 1.8528798927325769, 2.0000000000000000, 1.0000000000000000,
5533 4.0000000000000000, 0.80000000000000004 },
5534 { 2.1789423102929644, 2.0000000000000000, 1.0000000000000000,
5535 4.0000000000000000, 0.89999999999999991 },
5537 const double toler117
= 2.5000000000000020e-13;
5539 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
5540 // max(|f - f_GSL|): 6.6613381477509392e-16
5541 // max(|f - f_GSL| / |f_GSL|): 4.3538225385592644e-16
5542 const testcase_hyperg
<double>
5545 { 0.78068027379106275, 2.0000000000000000, 1.0000000000000000,
5546 6.0000000000000000, -0.90000000000000002 },
5547 { 0.79924541976981278, 2.0000000000000000, 1.0000000000000000,
5548 6.0000000000000000, -0.80000000000000004 },
5549 { 0.81891305585650975, 2.0000000000000000, 1.0000000000000000,
5550 6.0000000000000000, -0.69999999999999996 },
5551 { 0.83979799626213247, 2.0000000000000000, 1.0000000000000000,
5552 6.0000000000000000, -0.59999999999999998 },
5553 { 0.86203315303160111, 2.0000000000000000, 1.0000000000000000,
5554 6.0000000000000000, -0.50000000000000000 },
5555 { 0.88577352485361693, 2.0000000000000000, 1.0000000000000000,
5556 6.0000000000000000, -0.40000000000000002 },
5557 { 0.91120135738402230, 2.0000000000000000, 1.0000000000000000,
5558 6.0000000000000000, -0.30000000000000004 },
5559 { 0.93853291956703588, 2.0000000000000000, 1.0000000000000000,
5560 6.0000000000000000, -0.19999999999999996 },
5561 { 0.96802755388922956, 2.0000000000000000, 1.0000000000000000,
5562 6.0000000000000000, -0.099999999999999978 },
5563 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5564 6.0000000000000000, 0.0000000000000000 },
5565 { 1.0348375559194773, 2.0000000000000000, 1.0000000000000000,
5566 6.0000000000000000, 0.10000000000000009 },
5567 { 1.0730246119544820, 2.0000000000000000, 1.0000000000000000,
5568 6.0000000000000000, 0.19999999999999996 },
5569 { 1.1151788396279341, 2.0000000000000000, 1.0000000000000000,
5570 6.0000000000000000, 0.30000000000000004 },
5571 { 1.1621066403893472, 2.0000000000000000, 1.0000000000000000,
5572 6.0000000000000000, 0.39999999999999991 },
5573 { 1.2148922218710421, 2.0000000000000000, 1.0000000000000000,
5574 6.0000000000000000, 0.50000000000000000 },
5575 { 1.2750496810838674, 2.0000000000000000, 1.0000000000000000,
5576 6.0000000000000000, 0.60000000000000009 },
5577 { 1.3448048570872917, 2.0000000000000000, 1.0000000000000000,
5578 6.0000000000000000, 0.69999999999999996 },
5579 { 1.4276833109859521, 2.0000000000000000, 1.0000000000000000,
5580 6.0000000000000000, 0.80000000000000004 },
5581 { 1.5299976259379788, 2.0000000000000000, 1.0000000000000000,
5582 6.0000000000000000, 0.89999999999999991 },
5584 const double toler118
= 2.5000000000000020e-13;
5586 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
5587 // max(|f - f_GSL|): 2.2204460492503131e-16
5588 // max(|f - f_GSL| / |f_GSL|): 2.3297369954770822e-16
5589 const testcase_hyperg
<double>
5592 { 0.82510759951857615, 2.0000000000000000, 1.0000000000000000,
5593 8.0000000000000000, -0.90000000000000002 },
5594 { 0.84072786892782070, 2.0000000000000000, 1.0000000000000000,
5595 8.0000000000000000, -0.80000000000000004 },
5596 { 0.85710884896562356, 2.0000000000000000, 1.0000000000000000,
5597 8.0000000000000000, -0.69999999999999996 },
5598 { 0.87431674418118244, 2.0000000000000000, 1.0000000000000000,
5599 8.0000000000000000, -0.59999999999999998 },
5600 { 0.89242659229726995, 2.0000000000000000, 1.0000000000000000,
5601 8.0000000000000000, -0.50000000000000000 },
5602 { 0.91152392685930350, 2.0000000000000000, 1.0000000000000000,
5603 8.0000000000000000, -0.40000000000000002 },
5604 { 0.93170685950993570, 2.0000000000000000, 1.0000000000000000,
5605 8.0000000000000000, -0.30000000000000004 },
5606 { 0.95308871926790661, 2.0000000000000000, 1.0000000000000000,
5607 8.0000000000000000, -0.19999999999999996 },
5608 { 0.97580144325325802, 2.0000000000000000, 1.0000000000000000,
5609 8.0000000000000000, -0.099999999999999978 },
5610 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5611 8.0000000000000000, 0.0000000000000000 },
5612 { 1.0258682619030324, 2.0000000000000000, 1.0000000000000000,
5613 8.0000000000000000, 0.10000000000000009 },
5614 { 1.0536269616706000, 2.0000000000000000, 1.0000000000000000,
5615 8.0000000000000000, 0.19999999999999996 },
5616 { 1.0835447330793833, 2.0000000000000000, 1.0000000000000000,
5617 8.0000000000000000, 0.30000000000000004 },
5618 { 1.1159538758396654, 2.0000000000000000, 1.0000000000000000,
5619 8.0000000000000000, 0.39999999999999991 },
5620 { 1.1512736659291880, 2.0000000000000000, 1.0000000000000000,
5621 8.0000000000000000, 0.50000000000000000 },
5622 { 1.1900463690116090, 2.0000000000000000, 1.0000000000000000,
5623 8.0000000000000000, 0.60000000000000009 },
5624 { 1.2329961591622411, 2.0000000000000000, 1.0000000000000000,
5625 8.0000000000000000, 0.69999999999999996 },
5626 { 1.2811334345669059, 2.0000000000000000, 1.0000000000000000,
5627 8.0000000000000000, 0.80000000000000004 },
5628 { 1.3359629014132051, 2.0000000000000000, 1.0000000000000000,
5629 8.0000000000000000, 0.89999999999999991 },
5631 const double toler119
= 2.5000000000000020e-13;
5633 // Test data for a=2.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
5634 // max(|f - f_GSL|): 4.4408920985006262e-16
5635 // max(|f - f_GSL| / |f_GSL|): 4.6160879869309861e-16
5636 const testcase_hyperg
<double>
5639 { 0.85426123653345876, 2.0000000000000000, 1.0000000000000000,
5640 10.000000000000000, -0.90000000000000002 },
5641 { 0.86774543390930414, 2.0000000000000000, 1.0000000000000000,
5642 10.000000000000000, -0.80000000000000004 },
5643 { 0.88178859537254239, 2.0000000000000000, 1.0000000000000000,
5644 10.000000000000000, -0.69999999999999996 },
5645 { 0.89643269097060951, 2.0000000000000000, 1.0000000000000000,
5646 10.000000000000000, -0.59999999999999998 },
5647 { 0.91172456687216819, 2.0000000000000000, 1.0000000000000000,
5648 10.000000000000000, -0.50000000000000000 },
5649 { 0.92771674975966123, 2.0000000000000000, 1.0000000000000000,
5650 10.000000000000000, -0.40000000000000002 },
5651 { 0.94446842993888647, 2.0000000000000000, 1.0000000000000000,
5652 10.000000000000000, -0.30000000000000004 },
5653 { 0.96204667481937678, 2.0000000000000000, 1.0000000000000000,
5654 10.000000000000000, -0.19999999999999996 },
5655 { 0.98052794339012128, 2.0000000000000000, 1.0000000000000000,
5656 10.000000000000000, -0.099999999999999978 },
5657 { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
5658 10.000000000000000, 0.0000000000000000 },
5659 { 1.0205643671068179, 2.0000000000000000, 1.0000000000000000,
5660 10.000000000000000, 0.10000000000000009 },
5661 { 1.0423395201078882, 2.0000000000000000, 1.0000000000000000,
5662 10.000000000000000, 0.19999999999999996 },
5663 { 1.0654651277885334, 2.0000000000000000, 1.0000000000000000,
5664 10.000000000000000, 0.30000000000000004 },
5665 { 1.0901078068101382, 2.0000000000000000, 1.0000000000000000,
5666 10.000000000000000, 0.39999999999999991 },
5667 { 1.1164691415928940, 2.0000000000000000, 1.0000000000000000,
5668 10.000000000000000, 0.50000000000000000 },
5669 { 1.1447972335326551, 2.0000000000000000, 1.0000000000000000,
5670 10.000000000000000, 0.60000000000000009 },
5671 { 1.1754040384534161, 2.0000000000000000, 1.0000000000000000,
5672 10.000000000000000, 0.69999999999999996 },
5673 { 1.2086928679893112, 2.0000000000000000, 1.0000000000000000,
5674 10.000000000000000, 0.80000000000000004 },
5675 { 1.2452055640510711, 2.0000000000000000, 1.0000000000000000,
5676 10.000000000000000, 0.89999999999999991 },
5678 const double toler120
= 2.5000000000000020e-13;
5680 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
5681 // max(|f - f_GSL|): 4.2632564145606011e-14
5682 // max(|f - f_GSL| / |f_GSL|): 4.2632564145606064e-16
5683 const testcase_hyperg
<double>
5686 { 0.27700831024930750, 2.0000000000000000, 2.0000000000000000,
5687 2.0000000000000000, -0.90000000000000002 },
5688 { 0.30864197530864196, 2.0000000000000000, 2.0000000000000000,
5689 2.0000000000000000, -0.80000000000000004 },
5690 { 0.34602076124567477, 2.0000000000000000, 2.0000000000000000,
5691 2.0000000000000000, -0.69999999999999996 },
5692 { 0.39062499999999994, 2.0000000000000000, 2.0000000000000000,
5693 2.0000000000000000, -0.59999999999999998 },
5694 { 0.44444444444444442, 2.0000000000000000, 2.0000000000000000,
5695 2.0000000000000000, -0.50000000000000000 },
5696 { 0.51020408163265307, 2.0000000000000000, 2.0000000000000000,
5697 2.0000000000000000, -0.40000000000000002 },
5698 { 0.59171597633136097, 2.0000000000000000, 2.0000000000000000,
5699 2.0000000000000000, -0.30000000000000004 },
5700 { 0.69444444444444453, 2.0000000000000000, 2.0000000000000000,
5701 2.0000000000000000, -0.19999999999999996 },
5702 { 0.82644628099173545, 2.0000000000000000, 2.0000000000000000,
5703 2.0000000000000000, -0.099999999999999978 },
5704 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
5705 2.0000000000000000, 0.0000000000000000 },
5706 { 1.2345679012345681, 2.0000000000000000, 2.0000000000000000,
5707 2.0000000000000000, 0.10000000000000009 },
5708 { 1.5624999999999998, 2.0000000000000000, 2.0000000000000000,
5709 2.0000000000000000, 0.19999999999999996 },
5710 { 2.0408163265306127, 2.0000000000000000, 2.0000000000000000,
5711 2.0000000000000000, 0.30000000000000004 },
5712 { 2.7777777777777768, 2.0000000000000000, 2.0000000000000000,
5713 2.0000000000000000, 0.39999999999999991 },
5714 { 4.0000000000000000, 2.0000000000000000, 2.0000000000000000,
5715 2.0000000000000000, 0.50000000000000000 },
5716 { 6.2500000000000036, 2.0000000000000000, 2.0000000000000000,
5717 2.0000000000000000, 0.60000000000000009 },
5718 { 11.111111111111109, 2.0000000000000000, 2.0000000000000000,
5719 2.0000000000000000, 0.69999999999999996 },
5720 { 25.000000000000007, 2.0000000000000000, 2.0000000000000000,
5721 2.0000000000000000, 0.80000000000000004 },
5722 { 99.999999999999872, 2.0000000000000000, 2.0000000000000000,
5723 2.0000000000000000, 0.89999999999999991 },
5725 const double toler121
= 2.5000000000000020e-13;
5727 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
5728 // max(|f - f_GSL|): 7.9936057773011271e-15
5729 // max(|f - f_GSL| / |f_GSL|): 1.3252801810681365e-15
5730 const testcase_hyperg
<double>
5733 { 0.50515448477320835, 2.0000000000000000, 2.0000000000000000,
5734 4.0000000000000000, -0.90000000000000002 },
5735 { 0.53674994210078020, 2.0000000000000000, 2.0000000000000000,
5736 4.0000000000000000, -0.80000000000000004 },
5737 { 0.57194655162437413, 2.0000000000000000, 2.0000000000000000,
5738 4.0000000000000000, -0.69999999999999996 },
5739 { 0.61137322330312327, 2.0000000000000000, 2.0000000000000000,
5740 4.0000000000000000, -0.59999999999999998 },
5741 { 0.65581297297972585, 2.0000000000000000, 2.0000000000000000,
5742 4.0000000000000000, -0.50000000000000000 },
5743 { 0.70625323977290944, 2.0000000000000000, 2.0000000000000000,
5744 4.0000000000000000, -0.40000000000000002 },
5745 { 0.76395739449542666, 2.0000000000000000, 2.0000000000000000,
5746 4.0000000000000000, -0.30000000000000004 },
5747 { 0.83056871002513311, 2.0000000000000000, 2.0000000000000000,
5748 4.0000000000000000, -0.19999999999999996 },
5749 { 0.90826553449323655, 2.0000000000000000, 2.0000000000000000,
5750 4.0000000000000000, -0.099999999999999978 },
5751 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
5752 4.0000000000000000, 0.0000000000000000 },
5753 { 1.1098784992198341, 2.0000000000000000, 2.0000000000000000,
5754 4.0000000000000000, 0.10000000000000009 },
5755 { 1.2437942741831700, 2.0000000000000000, 2.0000000000000000,
5756 4.0000000000000000, 0.19999999999999996 },
5757 { 1.4105343768544543, 2.0000000000000000, 2.0000000000000000,
5758 4.0000000000000000, 0.30000000000000004 },
5759 { 1.6238435648986016, 2.0000000000000000, 2.0000000000000000,
5760 4.0000000000000000, 0.39999999999999991 },
5761 { 1.9065970003160624, 2.0000000000000000, 2.0000000000000000,
5762 4.0000000000000000, 0.50000000000000000 },
5763 { 2.3001951284393627, 2.0000000000000000, 2.0000000000000000,
5764 4.0000000000000000, 0.60000000000000009 },
5765 { 2.8891774744673464, 2.0000000000000000, 2.0000000000000000,
5766 4.0000000000000000, 0.69999999999999996 },
5767 { 3.8827206436045336, 2.0000000000000000, 2.0000000000000000,
5768 4.0000000000000000, 0.80000000000000004 },
5769 { 6.0316345867773542, 2.0000000000000000, 2.0000000000000000,
5770 4.0000000000000000, 0.89999999999999991 },
5772 const double toler122
= 2.5000000000000020e-13;
5774 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
5775 // max(|f - f_GSL|): 3.1086244689504383e-15
5776 // max(|f - f_GSL| / |f_GSL|): 1.2095468681839719e-15
5777 const testcase_hyperg
<double>
5780 { 0.61824560969673270, 2.0000000000000000, 2.0000000000000000,
5781 6.0000000000000000, -0.90000000000000002 },
5782 { 0.64645665839161026, 2.0000000000000000, 2.0000000000000000,
5783 6.0000000000000000, -0.80000000000000004 },
5784 { 0.67712272792612116, 2.0000000000000000, 2.0000000000000000,
5785 6.0000000000000000, -0.69999999999999996 },
5786 { 0.71058076074636822, 2.0000000000000000, 2.0000000000000000,
5787 6.0000000000000000, -0.59999999999999998 },
5788 { 0.74723387423852838, 2.0000000000000000, 2.0000000000000000,
5789 6.0000000000000000, -0.50000000000000000 },
5790 { 0.78756892188863170, 2.0000000000000000, 2.0000000000000000,
5791 6.0000000000000000, -0.40000000000000002 },
5792 { 0.83218012557592713, 2.0000000000000000, 2.0000000000000000,
5793 6.0000000000000000, -0.30000000000000004 },
5794 { 0.88180144818204143, 2.0000000000000000, 2.0000000000000000,
5795 6.0000000000000000, -0.19999999999999996 },
5796 { 0.93735184459468934, 2.0000000000000000, 2.0000000000000000,
5797 6.0000000000000000, -0.099999999999999978 },
5798 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
5799 6.0000000000000000, 0.0000000000000000 },
5800 { 1.0712594799044883, 2.0000000000000000, 2.0000000000000000,
5801 6.0000000000000000, 0.10000000000000009 },
5802 { 1.1531330932162096, 2.0000000000000000, 2.0000000000000000,
5803 6.0000000000000000, 0.19999999999999996 },
5804 { 1.2483404191094898, 2.0000000000000000, 2.0000000000000000,
5805 6.0000000000000000, 0.30000000000000004 },
5806 { 1.3606934909972501, 2.0000000000000000, 2.0000000000000000,
5807 6.0000000000000000, 0.39999999999999991 },
5808 { 1.4957544469027071, 2.0000000000000000, 2.0000000000000000,
5809 6.0000000000000000, 0.50000000000000000 },
5810 { 1.6620777107871287, 2.0000000000000000, 2.0000000000000000,
5811 6.0000000000000000, 0.60000000000000009 },
5812 { 1.8738132387064506, 2.0000000000000000, 2.0000000000000000,
5813 6.0000000000000000, 0.69999999999999996 },
5814 { 2.1570670242247409, 2.0000000000000000, 2.0000000000000000,
5815 6.0000000000000000, 0.80000000000000004 },
5816 { 2.5700735959225494, 2.0000000000000000, 2.0000000000000000,
5817 6.0000000000000000, 0.89999999999999991 },
5819 const double toler123
= 2.5000000000000020e-13;
5821 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
5822 // max(|f - f_GSL|): 1.1102230246251565e-15
5823 // max(|f - f_GSL| / |f_GSL|): 6.1065577401595934e-16
5824 const testcase_hyperg
<double>
5827 { 0.68776713859043437, 2.0000000000000000, 2.0000000000000000,
5828 8.0000000000000000, -0.90000000000000002 },
5829 { 0.71280582849489893, 2.0000000000000000, 2.0000000000000000,
5830 8.0000000000000000, -0.80000000000000004 },
5831 { 0.73962983054724896, 2.0000000000000000, 2.0000000000000000,
5832 8.0000000000000000, -0.69999999999999996 },
5833 { 0.76844343025262063, 2.0000000000000000, 2.0000000000000000,
5834 8.0000000000000000, -0.59999999999999998 },
5835 { 0.79948476671182900, 2.0000000000000000, 2.0000000000000000,
5836 8.0000000000000000, -0.50000000000000000 },
5837 { 0.83303347721461263, 2.0000000000000000, 2.0000000000000000,
5838 8.0000000000000000, -0.40000000000000002 },
5839 { 0.86942060391338771, 2.0000000000000000, 2.0000000000000000,
5840 8.0000000000000000, -0.30000000000000004 },
5841 { 0.90904161711581655, 2.0000000000000000, 2.0000000000000000,
5842 8.0000000000000000, -0.19999999999999996 },
5843 { 0.95237381468647742, 2.0000000000000000, 2.0000000000000000,
5844 8.0000000000000000, -0.099999999999999978 },
5845 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
5846 8.0000000000000000, 0.0000000000000000 },
5847 { 1.0526413941912305, 2.0000000000000000, 2.0000000000000000,
5848 8.0000000000000000, 0.10000000000000009 },
5849 { 1.1112045278881502, 2.0000000000000000, 2.0000000000000000,
5850 8.0000000000000000, 0.19999999999999996 },
5851 { 1.1768500306393046, 2.0000000000000000, 2.0000000000000000,
5852 8.0000000000000000, 0.30000000000000004 },
5853 { 1.2510971588297888, 2.0000000000000000, 2.0000000000000000,
5854 8.0000000000000000, 0.39999999999999991 },
5855 { 1.3359896747789315, 2.0000000000000000, 2.0000000000000000,
5856 8.0000000000000000, 0.50000000000000000 },
5857 { 1.4343740183432725, 2.0000000000000000, 2.0000000000000000,
5858 8.0000000000000000, 0.60000000000000009 },
5859 { 1.5504011881337365, 2.0000000000000000, 2.0000000000000000,
5860 8.0000000000000000, 0.69999999999999996 },
5861 { 1.6905307012604318, 2.0000000000000000, 2.0000000000000000,
5862 8.0000000000000000, 0.80000000000000004 },
5863 { 1.8658920279264424, 2.0000000000000000, 2.0000000000000000,
5864 8.0000000000000000, 0.89999999999999991 },
5866 const double toler124
= 2.5000000000000020e-13;
5868 // Test data for a=2.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
5869 // max(|f - f_GSL|): 4.4408920985006262e-16
5870 // max(|f - f_GSL| / |f_GSL|): 2.7923027351444343e-16
5871 const testcase_hyperg
<double>
5874 { 0.73530262886958797, 2.0000000000000000, 2.0000000000000000,
5875 10.000000000000000, -0.90000000000000002 },
5876 { 0.75768898977673649, 2.0000000000000000, 2.0000000000000000,
5877 10.000000000000000, -0.80000000000000004 },
5878 { 0.78143483544640080, 2.0000000000000000, 2.0000000000000000,
5879 10.000000000000000, -0.69999999999999996 },
5880 { 0.80667428603297209, 2.0000000000000000, 2.0000000000000000,
5881 10.000000000000000, -0.59999999999999998 },
5882 { 0.83356078772438313, 2.0000000000000000, 2.0000000000000000,
5883 10.000000000000000, -0.50000000000000000 },
5884 { 0.86227093001346189, 2.0000000000000000, 2.0000000000000000,
5885 10.000000000000000, -0.40000000000000002 },
5886 { 0.89300925500556971, 2.0000000000000000, 2.0000000000000000,
5887 10.000000000000000, -0.30000000000000004 },
5888 { 0.92601438873425990, 2.0000000000000000, 2.0000000000000000,
5889 10.000000000000000, -0.19999999999999996 },
5890 { 0.96156696230910810, 2.0000000000000000, 2.0000000000000000,
5891 10.000000000000000, -0.099999999999999978 },
5892 { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
5893 10.000000000000000, 0.0000000000000000 },
5894 { 1.0417127776179342, 2.0000000000000000, 2.0000000000000000,
5895 10.000000000000000, 0.10000000000000009 },
5896 { 1.0871896789480930, 2.0000000000000000, 2.0000000000000000,
5897 10.000000000000000, 0.19999999999999996 },
5898 { 1.1370264514689949, 2.0000000000000000, 2.0000000000000000,
5899 10.000000000000000, 0.30000000000000004 },
5900 { 1.1919677804049154, 2.0000000000000000, 2.0000000000000000,
5901 10.000000000000000, 0.39999999999999991 },
5902 { 1.2529628761065934, 2.0000000000000000, 2.0000000000000000,
5903 10.000000000000000, 0.50000000000000000 },
5904 { 1.3212511796458866, 2.0000000000000000, 2.0000000000000000,
5905 10.000000000000000, 0.60000000000000009 },
5906 { 1.3985017309668506, 2.0000000000000000, 2.0000000000000000,
5907 10.000000000000000, 0.69999999999999996 },
5908 { 1.4870567523847895, 2.0000000000000000, 2.0000000000000000,
5909 10.000000000000000, 0.80000000000000004 },
5910 { 1.5904049523738040, 2.0000000000000000, 2.0000000000000000,
5911 10.000000000000000, 0.89999999999999991 },
5913 const double toler125
= 2.5000000000000020e-13;
5915 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
5916 // max(|f - f_GSL|): 1.1641532182693481e-10
5917 // max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
5918 const testcase_hyperg
<double>
5921 { 0.040386107340619266, 2.0000000000000000, 5.0000000000000000,
5922 2.0000000000000000, -0.90000000000000002 },
5923 { 0.052922149401344633, 2.0000000000000000, 5.0000000000000000,
5924 2.0000000000000000, -0.80000000000000004 },
5925 { 0.070429627772374270, 2.0000000000000000, 5.0000000000000000,
5926 2.0000000000000000, -0.69999999999999996 },
5927 { 0.095367431640624972, 2.0000000000000000, 5.0000000000000000,
5928 2.0000000000000000, -0.59999999999999998 },
5929 { 0.13168724279835387, 2.0000000000000000, 5.0000000000000000,
5930 2.0000000000000000, -0.50000000000000000 },
5931 { 0.18593443208187066, 2.0000000000000000, 5.0000000000000000,
5932 2.0000000000000000, -0.40000000000000002 },
5933 { 0.26932907434290437, 2.0000000000000000, 5.0000000000000000,
5934 2.0000000000000000, -0.30000000000000004 },
5935 { 0.40187757201646096, 2.0000000000000000, 5.0000000000000000,
5936 2.0000000000000000, -0.19999999999999996 },
5937 { 0.62092132305915493, 2.0000000000000000, 5.0000000000000000,
5938 2.0000000000000000, -0.099999999999999978 },
5939 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
5940 2.0000000000000000, 0.0000000000000000 },
5941 { 1.6935087808430296, 2.0000000000000000, 5.0000000000000000,
5942 2.0000000000000000, 0.10000000000000009 },
5943 { 3.0517578124999991, 2.0000000000000000, 5.0000000000000000,
5944 2.0000000000000000, 0.19999999999999996 },
5945 { 5.9499018266198629, 2.0000000000000000, 5.0000000000000000,
5946 2.0000000000000000, 0.30000000000000004 },
5947 { 12.860082304526737, 2.0000000000000000, 5.0000000000000000,
5948 2.0000000000000000, 0.39999999999999991 },
5949 { 32.000000000000000, 2.0000000000000000, 5.0000000000000000,
5950 2.0000000000000000, 0.50000000000000000 },
5951 { 97.656250000000114, 2.0000000000000000, 5.0000000000000000,
5952 2.0000000000000000, 0.60000000000000009 },
5953 { 411.52263374485580, 2.0000000000000000, 5.0000000000000000,
5954 2.0000000000000000, 0.69999999999999996 },
5955 { 3124.9999999999991, 2.0000000000000000, 5.0000000000000000,
5956 2.0000000000000000, 0.80000000000000004 },
5957 { 99999.999999999665, 2.0000000000000000, 5.0000000000000000,
5958 2.0000000000000000, 0.89999999999999991 },
5960 const double toler126
= 2.5000000000000020e-13;
5962 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
5963 // max(|f - f_GSL|): 6.8212102632969618e-13
5964 // max(|f - f_GSL| / |f_GSL|): 1.2402200478721823e-15
5965 const testcase_hyperg
<double>
5968 { 0.21140107887447138, 2.0000000000000000, 5.0000000000000000,
5969 4.0000000000000000, -0.90000000000000002 },
5970 { 0.24005486968449927, 2.0000000000000000, 5.0000000000000000,
5971 4.0000000000000000, -0.80000000000000004 },
5972 { 0.27478119275391810, 2.0000000000000000, 5.0000000000000000,
5973 4.0000000000000000, -0.69999999999999996 },
5974 { 0.31738281250000006, 2.0000000000000000, 5.0000000000000000,
5975 4.0000000000000000, -0.59999999999999998 },
5976 { 0.37037037037037024, 2.0000000000000000, 5.0000000000000000,
5977 4.0000000000000000, -0.50000000000000000 },
5978 { 0.43731778425655959, 2.0000000000000000, 5.0000000000000000,
5979 4.0000000000000000, -0.40000000000000002 },
5980 { 0.52344105598543467, 2.0000000000000000, 5.0000000000000000,
5981 4.0000000000000000, -0.30000000000000004 },
5982 { 0.63657407407407429, 2.0000000000000000, 5.0000000000000000,
5983 4.0000000000000000, -0.19999999999999996 },
5984 { 0.78888054094665638, 2.0000000000000000, 5.0000000000000000,
5985 4.0000000000000000, -0.099999999999999978 },
5986 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
5987 4.0000000000000000, 0.0000000000000000 },
5988 { 1.3031550068587108, 2.0000000000000000, 5.0000000000000000,
5989 4.0000000000000000, 0.10000000000000009 },
5990 { 1.7578125000000002, 2.0000000000000000, 5.0000000000000000,
5991 4.0000000000000000, 0.19999999999999996 },
5992 { 2.4781341107871717, 2.0000000000000000, 5.0000000000000000,
5993 4.0000000000000000, 0.30000000000000004 },
5994 { 3.7037037037037037, 2.0000000000000000, 5.0000000000000000,
5995 4.0000000000000000, 0.39999999999999991 },
5996 { 5.9999999999999982, 2.0000000000000000, 5.0000000000000000,
5997 4.0000000000000000, 0.50000000000000000 },
5998 { 10.937500000000005, 2.0000000000000000, 5.0000000000000000,
5999 4.0000000000000000, 0.60000000000000009 },
6000 { 24.074074074074076, 2.0000000000000000, 5.0000000000000000,
6001 4.0000000000000000, 0.69999999999999996 },
6002 { 74.999999999999957, 2.0000000000000000, 5.0000000000000000,
6003 4.0000000000000000, 0.80000000000000004 },
6004 { 549.99999999999670, 2.0000000000000000, 5.0000000000000000,
6005 4.0000000000000000, 0.89999999999999991 },
6007 const double toler127
= 2.5000000000000020e-13;
6009 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
6010 // max(|f - f_GSL|): 4.9737991503207013e-14
6011 // max(|f - f_GSL| / |f_GSL|): 1.6580642616864663e-15
6012 const testcase_hyperg
<double>
6015 { 0.33250915203252129, 2.0000000000000000, 5.0000000000000000,
6016 6.0000000000000000, -0.90000000000000002 },
6017 { 0.36566851047721943, 2.0000000000000000, 5.0000000000000000,
6018 6.0000000000000000, -0.80000000000000004 },
6019 { 0.40414812182437959, 2.0000000000000000, 5.0000000000000000,
6020 6.0000000000000000, -0.69999999999999996 },
6021 { 0.44916943268118498, 2.0000000000000000, 5.0000000000000000,
6022 6.0000000000000000, -0.59999999999999998 },
6023 { 0.50233081077479547, 2.0000000000000000, 5.0000000000000000,
6024 6.0000000000000000, -0.50000000000000000 },
6025 { 0.56575808728873334, 2.0000000000000000, 5.0000000000000000,
6026 6.0000000000000000, -0.40000000000000002 },
6027 { 0.64233106844971433, 2.0000000000000000, 5.0000000000000000,
6028 6.0000000000000000, -0.30000000000000004 },
6029 { 0.73603371116919514, 2.0000000000000000, 5.0000000000000000,
6030 6.0000000000000000, -0.19999999999999996 },
6031 { 0.85251256240112439, 2.0000000000000000, 5.0000000000000000,
6032 6.0000000000000000, -0.099999999999999978 },
6033 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6034 6.0000000000000000, 0.0000000000000000 },
6035 { 1.1909065696197674, 2.0000000000000000, 5.0000000000000000,
6036 6.0000000000000000, 0.10000000000000009 },
6037 { 1.4447095285569311, 2.0000000000000000, 5.0000000000000000,
6038 6.0000000000000000, 0.19999999999999996 },
6039 { 1.7935243137840653, 2.0000000000000000, 5.0000000000000000,
6040 6.0000000000000000, 0.30000000000000004 },
6041 { 2.2937035820494454, 2.0000000000000000, 5.0000000000000000,
6042 6.0000000000000000, 0.39999999999999991 },
6043 { 3.0524711083016687, 2.0000000000000000, 5.0000000000000000,
6044 6.0000000000000000, 0.50000000000000000 },
6045 { 4.2976512669354259, 2.0000000000000000, 5.0000000000000000,
6046 6.0000000000000000, 0.60000000000000009 },
6047 { 6.5977107563194677, 2.0000000000000000, 5.0000000000000000,
6048 6.0000000000000000, 0.69999999999999996 },
6049 { 11.793747206577530, 2.0000000000000000, 5.0000000000000000,
6050 6.0000000000000000, 0.80000000000000004 },
6051 { 29.997625937982058, 2.0000000000000000, 5.0000000000000000,
6052 6.0000000000000000, 0.89999999999999991 },
6054 const double toler128
= 2.5000000000000020e-13;
6056 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
6057 // max(|f - f_GSL|): 1.1546319456101628e-14
6058 // max(|f - f_GSL| / |f_GSL|): 1.4852319937858947e-15
6059 const testcase_hyperg
<double>
6062 { 0.42108197362250294, 2.0000000000000000, 5.0000000000000000,
6063 8.0000000000000000, -0.90000000000000002 },
6064 { 0.45503172013983040, 2.0000000000000000, 5.0000000000000000,
6065 8.0000000000000000, -0.80000000000000004 },
6066 { 0.49345609813624314, 2.0000000000000000, 5.0000000000000000,
6067 8.0000000000000000, -0.69999999999999996 },
6068 { 0.53720880551221295, 2.0000000000000000, 5.0000000000000000,
6069 8.0000000000000000, -0.59999999999999998 },
6070 { 0.58736431524847466, 2.0000000000000000, 5.0000000000000000,
6071 8.0000000000000000, -0.50000000000000000 },
6072 { 0.64529222467897973, 2.0000000000000000, 5.0000000000000000,
6073 8.0000000000000000, -0.40000000000000002 },
6074 { 0.71276337354393937, 2.0000000000000000, 5.0000000000000000,
6075 8.0000000000000000, -0.30000000000000004 },
6076 { 0.79210466220795306, 2.0000000000000000, 5.0000000000000000,
6077 8.0000000000000000, -0.19999999999999996 },
6078 { 0.88643063455510596, 2.0000000000000000, 5.0000000000000000,
6079 8.0000000000000000, -0.099999999999999978 },
6080 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6081 8.0000000000000000, 0.0000000000000000 },
6082 { 1.1387832139040652, 2.0000000000000000, 5.0000000000000000,
6083 8.0000000000000000, 0.10000000000000009 },
6084 { 1.3114025920844752, 2.0000000000000000, 5.0000000000000000,
6085 8.0000000000000000, 0.19999999999999996 },
6086 { 1.5307655016768162, 2.0000000000000000, 5.0000000000000000,
6087 8.0000000000000000, 0.30000000000000004 },
6088 { 1.8170727950333345, 2.0000000000000000, 5.0000000000000000,
6089 8.0000000000000000, 0.39999999999999991 },
6090 { 2.2037865486700836, 2.0000000000000000, 5.0000000000000000,
6091 8.0000000000000000, 0.50000000000000000 },
6092 { 2.7506766056439380, 2.0000000000000000, 5.0000000000000000,
6093 8.0000000000000000, 0.60000000000000009 },
6094 { 3.5764534935716972, 2.0000000000000000, 5.0000000000000000,
6095 8.0000000000000000, 0.69999999999999996 },
6096 { 4.9587762302155403, 2.0000000000000000, 5.0000000000000000,
6097 8.0000000000000000, 0.80000000000000004 },
6098 { 7.7740847924166800, 2.0000000000000000, 5.0000000000000000,
6099 8.0000000000000000, 0.89999999999999991 },
6101 const double toler129
= 2.5000000000000020e-13;
6103 // Test data for a=2.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
6104 // max(|f - f_GSL|): 4.4408920985006262e-15
6105 // max(|f - f_GSL| / |f_GSL|): 1.0721199711322771e-15
6106 const testcase_hyperg
<double>
6109 { 0.48860241312958436, 2.0000000000000000, 5.0000000000000000,
6110 10.000000000000000, -0.90000000000000002 },
6111 { 0.52193382517068487, 2.0000000000000000, 5.0000000000000000,
6112 10.000000000000000, -0.80000000000000004 },
6113 { 0.55902375003954219, 2.0000000000000000, 5.0000000000000000,
6114 10.000000000000000, -0.69999999999999996 },
6115 { 0.60049055150230324, 2.0000000000000000, 5.0000000000000000,
6116 10.000000000000000, -0.59999999999999998 },
6117 { 0.64709127927203469, 2.0000000000000000, 5.0000000000000000,
6118 10.000000000000000, -0.50000000000000000 },
6119 { 0.69976233335368987, 2.0000000000000000, 5.0000000000000000,
6120 10.000000000000000, -0.40000000000000002 },
6121 { 0.75967529501080999, 2.0000000000000000, 5.0000000000000000,
6122 10.000000000000000, -0.30000000000000004 },
6123 { 0.82831498895254407, 2.0000000000000000, 5.0000000000000000,
6124 10.000000000000000, -0.19999999999999996 },
6125 { 0.90759090169653933, 2.0000000000000000, 5.0000000000000000,
6126 10.000000000000000, -0.099999999999999978 },
6127 { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
6128 10.000000000000000, 0.0000000000000000 },
6129 { 1.1088712278667465, 2.0000000000000000, 5.0000000000000000,
6130 10.000000000000000, 0.10000000000000009 },
6131 { 1.2387445478440853, 2.0000000000000000, 5.0000000000000000,
6132 10.000000000000000, 0.19999999999999996 },
6133 { 1.3959812720437546, 2.0000000000000000, 5.0000000000000000,
6134 10.000000000000000, 0.30000000000000004 },
6135 { 1.5897930661091164, 2.0000000000000000, 5.0000000000000000,
6136 10.000000000000000, 0.39999999999999991 },
6137 { 1.8340789380307454, 2.0000000000000000, 5.0000000000000000,
6138 10.000000000000000, 0.50000000000000000 },
6139 { 2.1509548085970764, 2.0000000000000000, 5.0000000000000000,
6140 10.000000000000000, 0.60000000000000009 },
6141 { 2.5782406951207504, 2.0000000000000000, 5.0000000000000000,
6142 10.000000000000000, 0.69999999999999996 },
6143 { 3.1877847194242737, 2.0000000000000000, 5.0000000000000000,
6144 10.000000000000000, 0.80000000000000004 },
6145 { 4.1421596631676900, 2.0000000000000000, 5.0000000000000000,
6146 10.000000000000000, 0.89999999999999991 },
6148 const double toler130
= 2.5000000000000020e-13;
6150 // Test data for a=2.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
6151 // max(|f - f_GSL|): 2.2888183593750000e-05
6152 // max(|f - f_GSL| / |f_GSL|): 2.8610229492187516e-15
6153 const testcase_hyperg
<double>
6156 { 0.0016310376661280216, 2.0000000000000000, 10.000000000000000,
6157 2.0000000000000000, -0.90000000000000002 },
6158 { 0.0028007538972582421, 2.0000000000000000, 10.000000000000000,
6159 2.0000000000000000, -0.80000000000000004 },
6160 { 0.0049603324681551939, 2.0000000000000000, 10.000000000000000,
6161 2.0000000000000000, -0.69999999999999996 },
6162 { 0.0090949470177292789, 2.0000000000000000, 10.000000000000000,
6163 2.0000000000000000, -0.59999999999999998 },
6164 { 0.017341529915832606, 2.0000000000000000, 10.000000000000000,
6165 2.0000000000000000, -0.50000000000000000 },
6166 { 0.034571613033607777, 2.0000000000000000, 10.000000000000000,
6167 2.0000000000000000, -0.40000000000000002 },
6168 { 0.072538150286405714, 2.0000000000000000, 10.000000000000000,
6169 2.0000000000000000, -0.30000000000000004 },
6170 { 0.16150558288984579, 2.0000000000000000, 10.000000000000000,
6171 2.0000000000000000, -0.19999999999999996 },
6172 { 0.38554328942953148, 2.0000000000000000, 10.000000000000000,
6173 2.0000000000000000, -0.099999999999999978 },
6174 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6175 2.0000000000000000, 0.0000000000000000 },
6176 { 2.8679719907924444, 2.0000000000000000, 10.000000000000000,
6177 2.0000000000000000, 0.10000000000000009 },
6178 { 9.3132257461547816, 2.0000000000000000, 10.000000000000000,
6179 2.0000000000000000, 0.19999999999999996 },
6180 { 35.401331746414378, 2.0000000000000000, 10.000000000000000,
6181 2.0000000000000000, 0.30000000000000004 },
6182 { 165.38171687920172, 2.0000000000000000, 10.000000000000000,
6183 2.0000000000000000, 0.39999999999999991 },
6184 { 1024.0000000000000, 2.0000000000000000, 10.000000000000000,
6185 2.0000000000000000, 0.50000000000000000 },
6186 { 9536.7431640625200, 2.0000000000000000, 10.000000000000000,
6187 2.0000000000000000, 0.60000000000000009 },
6188 { 169350.87808430271, 2.0000000000000000, 10.000000000000000,
6189 2.0000000000000000, 0.69999999999999996 },
6190 { 9765624.9999999944, 2.0000000000000000, 10.000000000000000,
6191 2.0000000000000000, 0.80000000000000004 },
6192 { 9999999999.9999332, 2.0000000000000000, 10.000000000000000,
6193 2.0000000000000000, 0.89999999999999991 },
6195 const double toler131
= 2.5000000000000020e-13;
6197 // Test data for a=2.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
6198 // max(|f - f_GSL|): 1.4901161193847656e-08
6199 // max(|f - f_GSL| / |f_GSL|): 1.4958811384436855e-15
6200 const testcase_hyperg
<double>
6203 { 0.071191280690193537, 2.0000000000000000, 10.000000000000000,
6204 4.0000000000000000, -0.90000000000000002 },
6205 { 0.085646504654238384, 2.0000000000000000, 10.000000000000000,
6206 4.0000000000000000, -0.80000000000000004 },
6207 { 0.10478215656371109, 2.0000000000000000, 10.000000000000000,
6208 4.0000000000000000, -0.69999999999999996 },
6209 { 0.13074816337653578, 2.0000000000000000, 10.000000000000000,
6210 4.0000000000000000, -0.59999999999999998 },
6211 { 0.16701141666848118, 2.0000000000000000, 10.000000000000000,
6212 4.0000000000000000, -0.50000000000000000 },
6213 { 0.21939323375313968, 2.0000000000000000, 10.000000000000000,
6214 4.0000000000000000, -0.40000000000000002 },
6215 { 0.29813515331786616, 2.0000000000000000, 10.000000000000000,
6216 4.0000000000000000, -0.30000000000000004 },
6217 { 0.42225974638874397, 2.0000000000000000, 10.000000000000000,
6218 4.0000000000000000, -0.19999999999999996 },
6219 { 0.62942145962174878, 2.0000000000000000, 10.000000000000000,
6220 4.0000000000000000, -0.099999999999999978 },
6221 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6222 4.0000000000000000, 0.0000000000000000 },
6223 { 1.7218685262373197, 2.0000000000000000, 10.000000000000000,
6224 4.0000000000000000, 0.10000000000000009 },
6225 { 3.2855760483514689, 2.0000000000000000, 10.000000000000000,
6226 4.0000000000000000, 0.19999999999999996 },
6227 { 7.1616652508907093, 2.0000000000000000, 10.000000000000000,
6228 4.0000000000000000, 0.30000000000000004 },
6229 { 18.612326808485907, 2.0000000000000000, 10.000000000000000,
6230 4.0000000000000000, 0.39999999999999991 },
6231 { 61.476190476190474, 2.0000000000000000, 10.000000000000000,
6232 4.0000000000000000, 0.50000000000000000 },
6233 { 286.27580915178623, 2.0000000000000000, 10.000000000000000,
6234 4.0000000000000000, 0.60000000000000009 },
6235 { 2274.9441142102296, 2.0000000000000000, 10.000000000000000,
6236 4.0000000000000000, 0.69999999999999996 },
6237 { 47229.761904761865, 2.0000000000000000, 10.000000000000000,
6238 4.0000000000000000, 0.80000000000000004 },
6239 { 9961460.7142856438, 2.0000000000000000, 10.000000000000000,
6240 4.0000000000000000, 0.89999999999999991 },
6242 const double toler132
= 2.5000000000000020e-13;
6244 // Test data for a=2.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
6245 // max(|f - f_GSL|): 8.7311491370201111e-11
6246 // max(|f - f_GSL| / |f_GSL|): 1.5843951771650368e-15
6247 const testcase_hyperg
<double>
6250 { 0.14747230019381058, 2.0000000000000000, 10.000000000000000,
6251 6.0000000000000000, -0.90000000000000002 },
6252 { 0.17073600100690609, 2.0000000000000000, 10.000000000000000,
6253 6.0000000000000000, -0.80000000000000004 },
6254 { 0.19982795745135354, 2.0000000000000000, 10.000000000000000,
6255 6.0000000000000000, -0.69999999999999996 },
6256 { 0.23681776864188053, 2.0000000000000000, 10.000000000000000,
6257 6.0000000000000000, -0.59999999999999998 },
6258 { 0.28475624360398011, 2.0000000000000000, 10.000000000000000,
6259 6.0000000000000000, -0.50000000000000000 },
6260 { 0.34827500743063133, 2.0000000000000000, 10.000000000000000,
6261 6.0000000000000000, -0.40000000000000002 },
6262 { 0.43464829159684687, 2.0000000000000000, 10.000000000000000,
6263 6.0000000000000000, -0.30000000000000004 },
6264 { 0.55576053438064787, 2.0000000000000000, 10.000000000000000,
6265 6.0000000000000000, -0.19999999999999996 },
6266 { 0.73195020913445530, 2.0000000000000000, 10.000000000000000,
6267 6.0000000000000000, -0.099999999999999978 },
6268 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6269 6.0000000000000000, 0.0000000000000000 },
6270 { 1.4310223867822929, 2.0000000000000000, 10.000000000000000,
6271 6.0000000000000000, 0.10000000000000009 },
6272 { 2.1742563399057540, 2.0000000000000000, 10.000000000000000,
6273 6.0000000000000000, 0.19999999999999996 },
6274 { 3.5769231236256043, 2.0000000000000000, 10.000000000000000,
6275 6.0000000000000000, 0.30000000000000004 },
6276 { 6.5620441134844363, 2.0000000000000000, 10.000000000000000,
6277 6.0000000000000000, 0.39999999999999991 },
6278 { 14.063492063492063, 2.0000000000000000, 10.000000000000000,
6279 6.0000000000000000, 0.50000000000000000 },
6280 { 38.085937500000036, 2.0000000000000000, 10.000000000000000,
6281 6.0000000000000000, 0.60000000000000009 },
6282 { 150.92973632068282, 2.0000000000000000, 10.000000000000000,
6283 6.0000000000000000, 0.69999999999999996 },
6284 { 1212.3015873015852, 2.0000000000000000, 10.000000000000000,
6285 6.0000000000000000, 0.80000000000000004 },
6286 { 55107.142857142389, 2.0000000000000000, 10.000000000000000,
6287 6.0000000000000000, 0.89999999999999991 },
6289 const double toler133
= 2.5000000000000020e-13;
6291 // Test data for a=2.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
6292 // max(|f - f_GSL|): 1.8189894035458565e-12
6293 // max(|f - f_GSL| / |f_GSL|): 1.4848893090170350e-15
6294 const testcase_hyperg
<double>
6297 { 0.21658059714090577, 2.0000000000000000, 10.000000000000000,
6298 8.0000000000000000, -0.90000000000000002 },
6299 { 0.24513539602702861, 2.0000000000000000, 10.000000000000000,
6300 8.0000000000000000, -0.80000000000000004 },
6301 { 0.27967018274845046, 2.0000000000000000, 10.000000000000000,
6302 8.0000000000000000, -0.69999999999999996 },
6303 { 0.32196044921875022, 2.0000000000000000, 10.000000000000000,
6304 8.0000000000000000, -0.59999999999999998 },
6305 { 0.37448559670781911, 2.0000000000000000, 10.000000000000000,
6306 8.0000000000000000, -0.50000000000000000 },
6307 { 0.44078856032208824, 2.0000000000000000, 10.000000000000000,
6308 8.0000000000000000, -0.40000000000000002 },
6309 { 0.52606701446027793, 2.0000000000000000, 10.000000000000000,
6310 8.0000000000000000, -0.30000000000000004 },
6311 { 0.63818158436213956, 2.0000000000000000, 10.000000000000000,
6312 8.0000000000000000, -0.19999999999999996 },
6313 { 0.78944971882612769, 2.0000000000000000, 10.000000000000000,
6314 8.0000000000000000, -0.099999999999999978 },
6315 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6316 8.0000000000000000, 0.0000000000000000 },
6317 { 1.3044251384443430, 2.0000000000000000, 10.000000000000000,
6318 8.0000000000000000, 0.10000000000000009 },
6319 { 1.7659505208333335, 2.0000000000000000, 10.000000000000000,
6320 8.0000000000000000, 0.19999999999999996 },
6321 { 2.5093710953769270, 2.0000000000000000, 10.000000000000000,
6322 8.0000000000000000, 0.30000000000000004 },
6323 { 3.8065843621399158, 2.0000000000000000, 10.000000000000000,
6324 8.0000000000000000, 0.39999999999999991 },
6325 { 6.3333333333333313, 2.0000000000000000, 10.000000000000000,
6326 8.0000000000000000, 0.50000000000000000 },
6327 { 12.109375000000004, 2.0000000000000000, 10.000000000000000,
6328 8.0000000000000000, 0.60000000000000009 },
6329 { 29.115226337448540, 2.0000000000000000, 10.000000000000000,
6330 8.0000000000000000, 0.69999999999999996 },
6331 { 108.33333333333330, 2.0000000000000000, 10.000000000000000,
6332 8.0000000000000000, 0.80000000000000004 },
6333 { 1224.9999999999923, 2.0000000000000000, 10.000000000000000,
6334 8.0000000000000000, 0.89999999999999991 },
6336 const double toler134
= 2.5000000000000020e-13;
6338 // Test data for a=2.0000000000000000, b=10.000000000000000, c=10.000000000000000.
6339 // max(|f - f_GSL|): 4.2632564145606011e-14
6340 // max(|f - f_GSL| / |f_GSL|): 4.2632564145606064e-16
6341 const testcase_hyperg
<double>
6344 { 0.27700831024930750, 2.0000000000000000, 10.000000000000000,
6345 10.000000000000000, -0.90000000000000002 },
6346 { 0.30864197530864196, 2.0000000000000000, 10.000000000000000,
6347 10.000000000000000, -0.80000000000000004 },
6348 { 0.34602076124567477, 2.0000000000000000, 10.000000000000000,
6349 10.000000000000000, -0.69999999999999996 },
6350 { 0.39062499999999994, 2.0000000000000000, 10.000000000000000,
6351 10.000000000000000, -0.59999999999999998 },
6352 { 0.44444444444444442, 2.0000000000000000, 10.000000000000000,
6353 10.000000000000000, -0.50000000000000000 },
6354 { 0.51020408163265307, 2.0000000000000000, 10.000000000000000,
6355 10.000000000000000, -0.40000000000000002 },
6356 { 0.59171597633136097, 2.0000000000000000, 10.000000000000000,
6357 10.000000000000000, -0.30000000000000004 },
6358 { 0.69444444444444453, 2.0000000000000000, 10.000000000000000,
6359 10.000000000000000, -0.19999999999999996 },
6360 { 0.82644628099173545, 2.0000000000000000, 10.000000000000000,
6361 10.000000000000000, -0.099999999999999978 },
6362 { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
6363 10.000000000000000, 0.0000000000000000 },
6364 { 1.2345679012345681, 2.0000000000000000, 10.000000000000000,
6365 10.000000000000000, 0.10000000000000009 },
6366 { 1.5624999999999998, 2.0000000000000000, 10.000000000000000,
6367 10.000000000000000, 0.19999999999999996 },
6368 { 2.0408163265306127, 2.0000000000000000, 10.000000000000000,
6369 10.000000000000000, 0.30000000000000004 },
6370 { 2.7777777777777768, 2.0000000000000000, 10.000000000000000,
6371 10.000000000000000, 0.39999999999999991 },
6372 { 4.0000000000000000, 2.0000000000000000, 10.000000000000000,
6373 10.000000000000000, 0.50000000000000000 },
6374 { 6.2500000000000036, 2.0000000000000000, 10.000000000000000,
6375 10.000000000000000, 0.60000000000000009 },
6376 { 11.111111111111109, 2.0000000000000000, 10.000000000000000,
6377 10.000000000000000, 0.69999999999999996 },
6378 { 25.000000000000007, 2.0000000000000000, 10.000000000000000,
6379 10.000000000000000, 0.80000000000000004 },
6380 { 99.999999999999872, 2.0000000000000000, 10.000000000000000,
6381 10.000000000000000, 0.89999999999999991 },
6383 const double toler135
= 2.5000000000000020e-13;
6385 // Test data for a=2.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
6386 // max(|f - f_GSL|): 425984.00000000000
6387 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
6388 const testcase_hyperg
<double>
6391 { 2.6602838683283435e-06, 2.0000000000000000, 20.000000000000000,
6392 2.0000000000000000, -0.90000000000000002 },
6393 { 7.8442223930072316e-06, 2.0000000000000000, 20.000000000000000,
6394 2.0000000000000000, -0.80000000000000004 },
6395 { 2.4604898194634598e-05, 2.0000000000000000, 20.000000000000000,
6396 2.0000000000000000, -0.69999999999999996 },
6397 { 8.2718061255302686e-05, 2.0000000000000000, 20.000000000000000,
6398 2.0000000000000000, -0.59999999999999998 },
6399 { 0.00030072865982171723, 2.0000000000000000, 20.000000000000000,
6400 2.0000000000000000, -0.50000000000000000 },
6401 { 0.0011951964277455193, 2.0000000000000000, 20.000000000000000,
6402 2.0000000000000000, -0.40000000000000002 },
6403 { 0.0052617832469731814, 2.0000000000000000, 20.000000000000000,
6404 2.0000000000000000, -0.30000000000000004 },
6405 { 0.026084053304588847, 2.0000000000000000, 20.000000000000000,
6406 2.0000000000000000, -0.19999999999999996 },
6407 { 0.14864362802414346, 2.0000000000000000, 20.000000000000000,
6408 2.0000000000000000, -0.099999999999999978 },
6409 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6410 2.0000000000000000, 0.0000000000000000 },
6411 { 8.2252633399699757, 2.0000000000000000, 20.000000000000000,
6412 2.0000000000000000, 0.10000000000000009 },
6413 { 86.736173798840269, 2.0000000000000000, 20.000000000000000,
6414 2.0000000000000000, 0.19999999999999996 },
6415 { 1253.2542894196865, 2.0000000000000000, 20.000000000000000,
6416 2.0000000000000000, 0.30000000000000004 },
6417 { 27351.112277912434, 2.0000000000000000, 20.000000000000000,
6418 2.0000000000000000, 0.39999999999999991 },
6419 { 1048576.0000000000, 2.0000000000000000, 20.000000000000000,
6420 2.0000000000000000, 0.50000000000000000 },
6421 { 90949470.177293226, 2.0000000000000000, 20.000000000000000,
6422 2.0000000000000000, 0.60000000000000009 },
6423 { 28679719907.924358, 2.0000000000000000, 20.000000000000000,
6424 2.0000000000000000, 0.69999999999999996 },
6425 { 95367431640624.906, 2.0000000000000000, 20.000000000000000,
6426 2.0000000000000000, 0.80000000000000004 },
6427 { 9.9999999999998657e+19, 2.0000000000000000, 20.000000000000000,
6428 2.0000000000000000, 0.89999999999999991 },
6430 const double toler136
= 5.0000000000000039e-13;
6432 // Test data for a=2.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
6433 // max(|f - f_GSL|): 40.000000000000000
6434 // max(|f - f_GSL| / |f_GSL|): 1.8712609271523571e-15
6435 const testcase_hyperg
<double>
6438 { 0.018828092583720632, 2.0000000000000000, 20.000000000000000,
6439 4.0000000000000000, -0.90000000000000002 },
6440 { 0.023381944060455365, 2.0000000000000000, 20.000000000000000,
6441 4.0000000000000000, -0.80000000000000004 },
6442 { 0.029789623984280887, 2.0000000000000000, 20.000000000000000,
6443 4.0000000000000000, -0.69999999999999996 },
6444 { 0.039191021482500567, 2.0000000000000000, 20.000000000000000,
6445 4.0000000000000000, -0.59999999999999998 },
6446 { 0.053727813036721528, 2.0000000000000000, 20.000000000000000,
6447 4.0000000000000000, -0.50000000000000000 },
6448 { 0.077762010061669079, 2.0000000000000000, 20.000000000000000,
6449 4.0000000000000000, -0.40000000000000002 },
6450 { 0.12110505620123306, 2.0000000000000000, 20.000000000000000,
6451 4.0000000000000000, -0.30000000000000004 },
6452 { 0.20870149809080582, 2.0000000000000000, 20.000000000000000,
6453 4.0000000000000000, -0.19999999999999996 },
6454 { 0.41429234328785763, 2.0000000000000000, 20.000000000000000,
6455 4.0000000000000000, -0.099999999999999978 },
6456 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6457 4.0000000000000000, 0.0000000000000000 },
6458 { 3.1308087404153113, 2.0000000000000000, 20.000000000000000,
6459 4.0000000000000000, 0.10000000000000009 },
6460 { 13.586180626453050, 2.0000000000000000, 20.000000000000000,
6461 4.0000000000000000, 0.19999999999999996 },
6462 { 87.117304082784415, 2.0000000000000000, 20.000000000000000,
6463 4.0000000000000000, 0.30000000000000004 },
6464 { 889.26474381242826, 2.0000000000000000, 20.000000000000000,
6465 4.0000000000000000, 0.39999999999999991 },
6466 { 16231.913312693494, 2.0000000000000000, 20.000000000000000,
6467 4.0000000000000000, 0.50000000000000000 },
6468 { 653537.51168945129, 2.0000000000000000, 20.000000000000000,
6469 4.0000000000000000, 0.60000000000000009 },
6470 { 87756230.793848589, 2.0000000000000000, 20.000000000000000,
6471 4.0000000000000000, 0.69999999999999996 },
6472 { 101493977171.74945, 2.0000000000000000, 20.000000000000000,
6473 4.0000000000000000, 0.80000000000000004 },
6474 { 21375960679556916., 2.0000000000000000, 20.000000000000000,
6475 4.0000000000000000, 0.89999999999999991 },
6477 const double toler137
= 2.5000000000000020e-13;
6479 // Test data for a=2.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
6480 // max(|f - f_GSL|): 0.031250000000000000
6481 // max(|f - f_GSL| / |f_GSL|): 1.6379336164122315e-15
6482 const testcase_hyperg
<double>
6485 { 0.049200410661854238, 2.0000000000000000, 20.000000000000000,
6486 6.0000000000000000, -0.90000000000000002 },
6487 { 0.059460876757152607, 2.0000000000000000, 20.000000000000000,
6488 6.0000000000000000, -0.80000000000000004 },
6489 { 0.073244762686653225, 2.0000000000000000, 20.000000000000000,
6490 6.0000000000000000, -0.69999999999999996 },
6491 { 0.092334626017932769, 2.0000000000000000, 20.000000000000000,
6492 6.0000000000000000, -0.59999999999999998 },
6493 { 0.11976760350696856, 2.0000000000000000, 20.000000000000000,
6494 6.0000000000000000, -0.50000000000000000 },
6495 { 0.16102414609169408, 2.0000000000000000, 20.000000000000000,
6496 6.0000000000000000, -0.40000000000000002 },
6497 { 0.22670456785796225, 2.0000000000000000, 20.000000000000000,
6498 6.0000000000000000, -0.30000000000000004 },
6499 { 0.33912903252727361, 2.0000000000000000, 20.000000000000000,
6500 6.0000000000000000, -0.19999999999999996 },
6501 { 0.55049794600858049, 2.0000000000000000, 20.000000000000000,
6502 6.0000000000000000, -0.099999999999999978 },
6503 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6504 6.0000000000000000, 0.0000000000000000 },
6505 { 2.1254722872032232, 2.0000000000000000, 20.000000000000000,
6506 6.0000000000000000, 0.10000000000000009 },
6507 { 5.6261213886736172, 2.0000000000000000, 20.000000000000000,
6508 6.0000000000000000, 0.19999999999999996 },
6509 { 20.137315891130996, 2.0000000000000000, 20.000000000000000,
6510 6.0000000000000000, 0.30000000000000004 },
6511 { 108.04381584643853, 2.0000000000000000, 20.000000000000000,
6512 6.0000000000000000, 0.39999999999999991 },
6513 { 992.41692466460245, 2.0000000000000000, 20.000000000000000,
6514 6.0000000000000000, 0.50000000000000000 },
6515 { 19055.363816004465, 2.0000000000000000, 20.000000000000000,
6516 6.0000000000000000, 0.60000000000000009 },
6517 { 1105471.9504312086, 2.0000000000000000, 20.000000000000000,
6518 6.0000000000000000, 0.69999999999999996 },
6519 { 448521363.90608919, 2.0000000000000000, 20.000000000000000,
6520 6.0000000000000000, 0.80000000000000004 },
6521 { 19078917293639.004, 2.0000000000000000, 20.000000000000000,
6522 6.0000000000000000, 0.89999999999999991 },
6524 const double toler138
= 2.5000000000000020e-13;
6526 // Test data for a=2.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
6527 // max(|f - f_GSL|): 8.3923339843750000e-05
6528 // max(|f - f_GSL| / |f_GSL|): 1.8221514326727084e-15
6529 const testcase_hyperg
<double>
6532 { 0.083753547015334884, 2.0000000000000000, 20.000000000000000,
6533 8.0000000000000000, -0.90000000000000002 },
6534 { 0.099238444687035743, 2.0000000000000000, 20.000000000000000,
6535 8.0000000000000000, -0.80000000000000004 },
6536 { 0.11938294012867748, 2.0000000000000000, 20.000000000000000,
6537 8.0000000000000000, -0.69999999999999996 },
6538 { 0.14622683905023329, 2.0000000000000000, 20.000000000000000,
6539 8.0000000000000000, -0.59999999999999998 },
6540 { 0.18303556733713028, 2.0000000000000000, 20.000000000000000,
6541 8.0000000000000000, -0.50000000000000000 },
6542 { 0.23527764069382412, 2.0000000000000000, 20.000000000000000,
6543 8.0000000000000000, -0.40000000000000002 },
6544 { 0.31261681740827085, 2.0000000000000000, 20.000000000000000,
6545 8.0000000000000000, -0.30000000000000004 },
6546 { 0.43327581880538862, 2.0000000000000000, 20.000000000000000,
6547 8.0000000000000000, -0.19999999999999996 },
6548 { 0.63445840637296680, 2.0000000000000000, 20.000000000000000,
6549 8.0000000000000000, -0.099999999999999978 },
6550 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6551 8.0000000000000000, 0.0000000000000000 },
6552 { 1.7438842395813297, 2.0000000000000000, 20.000000000000000,
6553 8.0000000000000000, 0.10000000000000009 },
6554 { 3.5070840938209269, 2.0000000000000000, 20.000000000000000,
6555 8.0000000000000000, 0.19999999999999996 },
6556 { 8.6573372006089713, 2.0000000000000000, 20.000000000000000,
6557 8.0000000000000000, 0.30000000000000004 },
6558 { 28.779342118408906, 2.0000000000000000, 20.000000000000000,
6559 8.0000000000000000, 0.39999999999999991 },
6560 { 147.50178613955714, 2.0000000000000000, 20.000000000000000,
6561 8.0000000000000000, 0.50000000000000000 },
6562 { 1427.1686016136398, 2.0000000000000000, 20.000000000000000,
6563 8.0000000000000000, 0.60000000000000009 },
6564 { 36780.643714655642, 2.0000000000000000, 20.000000000000000,
6565 8.0000000000000000, 0.69999999999999996 },
6566 { 5313869.6058585485, 2.0000000000000000, 20.000000000000000,
6567 8.0000000000000000, 0.80000000000000004 },
6568 { 46057280607.381966, 2.0000000000000000, 20.000000000000000,
6569 8.0000000000000000, 0.89999999999999991 },
6571 const double toler139
= 2.5000000000000020e-13;
6573 // Test data for a=2.0000000000000000, b=20.000000000000000, c=10.000000000000000.
6574 // max(|f - f_GSL|): 5.0663948059082031e-07
6575 // max(|f - f_GSL| / |f_GSL|): 1.9925479281070174e-15
6576 const testcase_hyperg
<double>
6579 { 0.11920045035073676, 2.0000000000000000, 20.000000000000000,
6580 10.000000000000000, -0.90000000000000002 },
6581 { 0.13907946814302777, 2.0000000000000000, 20.000000000000000,
6582 10.000000000000000, -0.80000000000000004 },
6583 { 0.16431439792559696, 2.0000000000000000, 20.000000000000000,
6584 10.000000000000000, -0.69999999999999996 },
6585 { 0.19698796016986989, 2.0000000000000000, 20.000000000000000,
6586 10.000000000000000, -0.59999999999999998 },
6587 { 0.24028510928790547, 2.0000000000000000, 20.000000000000000,
6588 10.000000000000000, -0.50000000000000000 },
6589 { 0.29926031296483113, 2.0000000000000000, 20.000000000000000,
6590 10.000000000000000, -0.40000000000000002 },
6591 { 0.38229327814229153, 2.0000000000000000, 20.000000000000000,
6592 10.000000000000000, -0.30000000000000004 },
6593 { 0.50402047283093132, 2.0000000000000000, 20.000000000000000,
6594 10.000000000000000, -0.19999999999999996 },
6595 { 0.69167261179586526, 2.0000000000000000, 20.000000000000000,
6596 10.000000000000000, -0.099999999999999978 },
6597 { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
6598 10.000000000000000, 0.0000000000000000 },
6599 { 1.5503152253394308, 2.0000000000000000, 20.000000000000000,
6600 10.000000000000000, 0.10000000000000009 },
6601 { 2.6469548193635797, 2.0000000000000000, 20.000000000000000,
6602 10.000000000000000, 0.19999999999999996 },
6603 { 5.1882631330566813, 2.0000000000000000, 20.000000000000000,
6604 10.000000000000000, 0.30000000000000004 },
6605 { 12.476792759124516, 2.0000000000000000, 20.000000000000000,
6606 10.000000000000000, 0.39999999999999991 },
6607 { 41.026391565091259, 2.0000000000000000, 20.000000000000000,
6608 10.000000000000000, 0.50000000000000000 },
6609 { 220.92584715988204, 2.0000000000000000, 20.000000000000000,
6610 10.000000000000000, 0.60000000000000009 },
6611 { 2677.0834450236207, 2.0000000000000000, 20.000000000000000,
6612 10.000000000000000, 0.69999999999999996 },
6613 { 141774.31260689779, 2.0000000000000000, 20.000000000000000,
6614 10.000000000000000, 0.80000000000000004 },
6615 { 254267148.83196995, 2.0000000000000000, 20.000000000000000,
6616 10.000000000000000, 0.89999999999999991 },
6618 const double toler140
= 2.5000000000000020e-13;
6620 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
6621 // max(|f - f_GSL|): 0.0000000000000000
6622 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
6623 const testcase_hyperg
<double>
6626 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6627 2.0000000000000000, -0.90000000000000002 },
6628 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6629 2.0000000000000000, -0.80000000000000004 },
6630 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6631 2.0000000000000000, -0.69999999999999996 },
6632 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6633 2.0000000000000000, -0.59999999999999998 },
6634 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6635 2.0000000000000000, -0.50000000000000000 },
6636 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6637 2.0000000000000000, -0.40000000000000002 },
6638 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6639 2.0000000000000000, -0.30000000000000004 },
6640 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6641 2.0000000000000000, -0.19999999999999996 },
6642 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6643 2.0000000000000000, -0.099999999999999978 },
6644 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6645 2.0000000000000000, 0.0000000000000000 },
6646 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6647 2.0000000000000000, 0.10000000000000009 },
6648 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6649 2.0000000000000000, 0.19999999999999996 },
6650 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6651 2.0000000000000000, 0.30000000000000004 },
6652 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6653 2.0000000000000000, 0.39999999999999991 },
6654 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6655 2.0000000000000000, 0.50000000000000000 },
6656 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6657 2.0000000000000000, 0.60000000000000009 },
6658 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6659 2.0000000000000000, 0.69999999999999996 },
6660 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6661 2.0000000000000000, 0.80000000000000004 },
6662 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6663 2.0000000000000000, 0.89999999999999991 },
6665 const double toler141
= 2.5000000000000020e-13;
6667 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
6668 // max(|f - f_GSL|): 0.0000000000000000
6669 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
6670 const testcase_hyperg
<double>
6673 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6674 4.0000000000000000, -0.90000000000000002 },
6675 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6676 4.0000000000000000, -0.80000000000000004 },
6677 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6678 4.0000000000000000, -0.69999999999999996 },
6679 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6680 4.0000000000000000, -0.59999999999999998 },
6681 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6682 4.0000000000000000, -0.50000000000000000 },
6683 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6684 4.0000000000000000, -0.40000000000000002 },
6685 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6686 4.0000000000000000, -0.30000000000000004 },
6687 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6688 4.0000000000000000, -0.19999999999999996 },
6689 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6690 4.0000000000000000, -0.099999999999999978 },
6691 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6692 4.0000000000000000, 0.0000000000000000 },
6693 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6694 4.0000000000000000, 0.10000000000000009 },
6695 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6696 4.0000000000000000, 0.19999999999999996 },
6697 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6698 4.0000000000000000, 0.30000000000000004 },
6699 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6700 4.0000000000000000, 0.39999999999999991 },
6701 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6702 4.0000000000000000, 0.50000000000000000 },
6703 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6704 4.0000000000000000, 0.60000000000000009 },
6705 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6706 4.0000000000000000, 0.69999999999999996 },
6707 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6708 4.0000000000000000, 0.80000000000000004 },
6709 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6710 4.0000000000000000, 0.89999999999999991 },
6712 const double toler142
= 2.5000000000000020e-13;
6714 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
6715 // max(|f - f_GSL|): 0.0000000000000000
6716 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
6717 const testcase_hyperg
<double>
6720 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6721 6.0000000000000000, -0.90000000000000002 },
6722 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6723 6.0000000000000000, -0.80000000000000004 },
6724 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6725 6.0000000000000000, -0.69999999999999996 },
6726 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6727 6.0000000000000000, -0.59999999999999998 },
6728 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6729 6.0000000000000000, -0.50000000000000000 },
6730 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6731 6.0000000000000000, -0.40000000000000002 },
6732 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6733 6.0000000000000000, -0.30000000000000004 },
6734 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6735 6.0000000000000000, -0.19999999999999996 },
6736 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6737 6.0000000000000000, -0.099999999999999978 },
6738 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6739 6.0000000000000000, 0.0000000000000000 },
6740 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6741 6.0000000000000000, 0.10000000000000009 },
6742 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6743 6.0000000000000000, 0.19999999999999996 },
6744 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6745 6.0000000000000000, 0.30000000000000004 },
6746 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6747 6.0000000000000000, 0.39999999999999991 },
6748 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6749 6.0000000000000000, 0.50000000000000000 },
6750 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6751 6.0000000000000000, 0.60000000000000009 },
6752 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6753 6.0000000000000000, 0.69999999999999996 },
6754 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6755 6.0000000000000000, 0.80000000000000004 },
6756 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6757 6.0000000000000000, 0.89999999999999991 },
6759 const double toler143
= 2.5000000000000020e-13;
6761 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
6762 // max(|f - f_GSL|): 0.0000000000000000
6763 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
6764 const testcase_hyperg
<double>
6767 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6768 8.0000000000000000, -0.90000000000000002 },
6769 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6770 8.0000000000000000, -0.80000000000000004 },
6771 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6772 8.0000000000000000, -0.69999999999999996 },
6773 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6774 8.0000000000000000, -0.59999999999999998 },
6775 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6776 8.0000000000000000, -0.50000000000000000 },
6777 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6778 8.0000000000000000, -0.40000000000000002 },
6779 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6780 8.0000000000000000, -0.30000000000000004 },
6781 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6782 8.0000000000000000, -0.19999999999999996 },
6783 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6784 8.0000000000000000, -0.099999999999999978 },
6785 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6786 8.0000000000000000, 0.0000000000000000 },
6787 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6788 8.0000000000000000, 0.10000000000000009 },
6789 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6790 8.0000000000000000, 0.19999999999999996 },
6791 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6792 8.0000000000000000, 0.30000000000000004 },
6793 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6794 8.0000000000000000, 0.39999999999999991 },
6795 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6796 8.0000000000000000, 0.50000000000000000 },
6797 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6798 8.0000000000000000, 0.60000000000000009 },
6799 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6800 8.0000000000000000, 0.69999999999999996 },
6801 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6802 8.0000000000000000, 0.80000000000000004 },
6803 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6804 8.0000000000000000, 0.89999999999999991 },
6806 const double toler144
= 2.5000000000000020e-13;
6808 // Test data for a=5.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
6809 // max(|f - f_GSL|): 0.0000000000000000
6810 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
6811 const testcase_hyperg
<double>
6814 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6815 10.000000000000000, -0.90000000000000002 },
6816 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6817 10.000000000000000, -0.80000000000000004 },
6818 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6819 10.000000000000000, -0.69999999999999996 },
6820 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6821 10.000000000000000, -0.59999999999999998 },
6822 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6823 10.000000000000000, -0.50000000000000000 },
6824 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6825 10.000000000000000, -0.40000000000000002 },
6826 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6827 10.000000000000000, -0.30000000000000004 },
6828 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6829 10.000000000000000, -0.19999999999999996 },
6830 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6831 10.000000000000000, -0.099999999999999978 },
6832 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6833 10.000000000000000, 0.0000000000000000 },
6834 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6835 10.000000000000000, 0.10000000000000009 },
6836 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6837 10.000000000000000, 0.19999999999999996 },
6838 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6839 10.000000000000000, 0.30000000000000004 },
6840 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6841 10.000000000000000, 0.39999999999999991 },
6842 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6843 10.000000000000000, 0.50000000000000000 },
6844 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6845 10.000000000000000, 0.60000000000000009 },
6846 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6847 10.000000000000000, 0.69999999999999996 },
6848 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6849 10.000000000000000, 0.80000000000000004 },
6850 { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
6851 10.000000000000000, 0.89999999999999991 },
6853 const double toler145
= 2.5000000000000020e-13;
6855 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
6856 // max(|f - f_GSL|): 4.5474735088646412e-13
6857 // max(|f - f_GSL| / |f_GSL|): 1.5124797514980704e-15
6858 const testcase_hyperg
<double>
6861 { 0.52275983209457544, 5.0000000000000000, 0.50000000000000000,
6862 2.0000000000000000, -0.90000000000000002 },
6863 { 0.54700336898143009, 5.0000000000000000, 0.50000000000000000,
6864 2.0000000000000000, -0.80000000000000004 },
6865 { 0.57468955512602038, 5.0000000000000000, 0.50000000000000000,
6866 2.0000000000000000, -0.69999999999999996 },
6867 { 0.60665490543315048, 5.0000000000000000, 0.50000000000000000,
6868 2.0000000000000000, -0.59999999999999998 },
6869 { 0.64403057859056190, 5.0000000000000000, 0.50000000000000000,
6870 2.0000000000000000, -0.50000000000000000 },
6871 { 0.68838183648623730, 5.0000000000000000, 0.50000000000000000,
6872 2.0000000000000000, -0.40000000000000002 },
6873 { 0.74193265039311129, 5.0000000000000000, 0.50000000000000000,
6874 2.0000000000000000, -0.30000000000000004 },
6875 { 0.80794095908995300, 5.0000000000000000, 0.50000000000000000,
6876 2.0000000000000000, -0.19999999999999996 },
6877 { 0.89135275749639320, 5.0000000000000000, 0.50000000000000000,
6878 2.0000000000000000, -0.099999999999999978 },
6879 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
6880 2.0000000000000000, 0.0000000000000000 },
6881 { 1.1469266219310688, 5.0000000000000000, 0.50000000000000000,
6882 2.0000000000000000, 0.10000000000000009 },
6883 { 1.3552340708357489, 5.0000000000000000, 0.50000000000000000,
6884 2.0000000000000000, 0.19999999999999996 },
6885 { 1.6690840478838305, 5.0000000000000000, 0.50000000000000000,
6886 2.0000000000000000, 0.30000000000000004 },
6887 { 2.1815415453174483, 5.0000000000000000, 0.50000000000000000,
6888 2.0000000000000000, 0.39999999999999991 },
6889 { 3.1156892546032235, 5.0000000000000000, 0.50000000000000000,
6890 2.0000000000000000, 0.50000000000000000 },
6891 { 5.1109077417760416, 5.0000000000000000, 0.50000000000000000,
6892 2.0000000000000000, 0.60000000000000009 },
6893 { 10.560352936466296, 5.0000000000000000, 0.50000000000000000,
6894 2.0000000000000000, 0.69999999999999996 },
6895 { 33.541019662496815, 5.0000000000000000, 0.50000000000000000,
6896 2.0000000000000000, 0.80000000000000004 },
6897 { 300.66343065819501, 5.0000000000000000, 0.50000000000000000,
6898 2.0000000000000000, 0.89999999999999991 },
6900 const double toler146
= 2.5000000000000020e-13;
6902 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
6903 // max(|f - f_GSL|): 8.8817841970012523e-15
6904 // max(|f - f_GSL| / |f_GSL|): 1.3217255411112326e-15
6905 const testcase_hyperg
<double>
6908 { 0.68252041951139286, 5.0000000000000000, 0.50000000000000000,
6909 4.0000000000000000, -0.90000000000000002 },
6910 { 0.70394732624993395, 5.0000000000000000, 0.50000000000000000,
6911 4.0000000000000000, -0.80000000000000004 },
6912 { 0.72748884971552052, 5.0000000000000000, 0.50000000000000000,
6913 4.0000000000000000, -0.69999999999999996 },
6914 { 0.75351147371199667, 5.0000000000000000, 0.50000000000000000,
6915 4.0000000000000000, -0.59999999999999998 },
6916 { 0.78247589005573737, 5.0000000000000000, 0.50000000000000000,
6917 4.0000000000000000, -0.50000000000000000 },
6918 { 0.81497017420249807, 5.0000000000000000, 0.50000000000000000,
6919 4.0000000000000000, -0.40000000000000002 },
6920 { 0.85175826875009586, 5.0000000000000000, 0.50000000000000000,
6921 4.0000000000000000, -0.30000000000000004 },
6922 { 0.89385278481745867, 5.0000000000000000, 0.50000000000000000,
6923 4.0000000000000000, -0.19999999999999996 },
6924 { 0.94262778709507411, 5.0000000000000000, 0.50000000000000000,
6925 4.0000000000000000, -0.099999999999999978 },
6926 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
6927 4.0000000000000000, 0.0000000000000000 },
6928 { 1.0687327277420910, 5.0000000000000000, 0.50000000000000000,
6929 4.0000000000000000, 0.10000000000000009 },
6930 { 1.1529725508983291, 5.0000000000000000, 0.50000000000000000,
6931 4.0000000000000000, 0.19999999999999996 },
6932 { 1.2592587134058799, 5.0000000000000000, 0.50000000000000000,
6933 4.0000000000000000, 0.30000000000000004 },
6934 { 1.3985773194637892, 5.0000000000000000, 0.50000000000000000,
6935 4.0000000000000000, 0.39999999999999991 },
6936 { 1.5909902576697317, 5.0000000000000000, 0.50000000000000000,
6937 4.0000000000000000, 0.50000000000000000 },
6938 { 1.8776023607249752, 5.0000000000000000, 0.50000000000000000,
6939 4.0000000000000000, 0.60000000000000009 },
6940 { 2.3582499003694646, 5.0000000000000000, 0.50000000000000000,
6941 4.0000000000000000, 0.69999999999999996 },
6942 { 3.3541019662496838, 5.0000000000000000, 0.50000000000000000,
6943 4.0000000000000000, 0.80000000000000004 },
6944 { 6.7198400278577859, 5.0000000000000000, 0.50000000000000000,
6945 4.0000000000000000, 0.89999999999999991 },
6947 const double toler147
= 2.5000000000000020e-13;
6949 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
6950 // max(|f - f_GSL|): 2.6645352591003757e-15
6951 // max(|f - f_GSL| / |f_GSL|): 1.2228264607471081e-15
6952 const testcase_hyperg
<double>
6955 { 0.75755211927082600, 5.0000000000000000, 0.50000000000000000,
6956 6.0000000000000000, -0.90000000000000002 },
6957 { 0.77603550233010965, 5.0000000000000000, 0.50000000000000000,
6958 6.0000000000000000, -0.80000000000000004 },
6959 { 0.79596241913438504, 5.0000000000000000, 0.50000000000000000,
6960 6.0000000000000000, -0.69999999999999996 },
6961 { 0.81753360792105212, 5.0000000000000000, 0.50000000000000000,
6962 6.0000000000000000, -0.59999999999999998 },
6963 { 0.84099165409805532, 5.0000000000000000, 0.50000000000000000,
6964 6.0000000000000000, -0.50000000000000000 },
6965 { 0.86663303852180895, 5.0000000000000000, 0.50000000000000000,
6966 6.0000000000000000, -0.40000000000000002 },
6967 { 0.89482475828629970, 5.0000000000000000, 0.50000000000000000,
6968 6.0000000000000000, -0.30000000000000004 },
6969 { 0.92602774279590350, 5.0000000000000000, 0.50000000000000000,
6970 6.0000000000000000, -0.19999999999999996 },
6971 { 0.96083064727087386, 5.0000000000000000, 0.50000000000000000,
6972 6.0000000000000000, -0.099999999999999978 },
6973 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
6974 6.0000000000000000, 0.0000000000000000 },
6975 { 1.0445570841313008, 5.0000000000000000, 0.50000000000000000,
6976 6.0000000000000000, 0.10000000000000009 },
6977 { 1.0959004638926031, 5.0000000000000000, 0.50000000000000000,
6978 6.0000000000000000, 0.19999999999999996 },
6979 { 1.1560106261370562, 5.0000000000000000, 0.50000000000000000,
6980 6.0000000000000000, 0.30000000000000004 },
6981 { 1.2278121770678145, 5.0000000000000000, 0.50000000000000000,
6982 6.0000000000000000, 0.39999999999999991 },
6983 { 1.3158640214709998, 5.0000000000000000, 0.50000000000000000,
6984 6.0000000000000000, 0.50000000000000000 },
6985 { 1.4278095344155000, 5.0000000000000000, 0.50000000000000000,
6986 6.0000000000000000, 0.60000000000000009 },
6987 { 1.5778700502946612, 5.0000000000000000, 0.50000000000000000,
6988 6.0000000000000000, 0.69999999999999996 },
6989 { 1.7972173289196469, 5.0000000000000000, 0.50000000000000000,
6990 6.0000000000000000, 0.80000000000000004 },
6991 { 2.1789970569269732, 5.0000000000000000, 0.50000000000000000,
6992 6.0000000000000000, 0.89999999999999991 },
6994 const double toler148
= 2.5000000000000020e-13;
6996 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
6997 // max(|f - f_GSL|): 6.6613381477509392e-16
6998 // max(|f - f_GSL| / |f_GSL|): 4.2082370290419495e-16
6999 const testcase_hyperg
<double>
7002 { 0.80270093579329460, 5.0000000000000000, 0.50000000000000000,
7003 8.0000000000000000, -0.90000000000000002 },
7004 { 0.81884974572462765, 5.0000000000000000, 0.50000000000000000,
7005 8.0000000000000000, -0.80000000000000004 },
7006 { 0.83605266330015260, 5.0000000000000000, 0.50000000000000000,
7007 8.0000000000000000, -0.69999999999999996 },
7008 { 0.85443340762796027, 5.0000000000000000, 0.50000000000000000,
7009 8.0000000000000000, -0.59999999999999998 },
7010 { 0.87413762182790711, 5.0000000000000000, 0.50000000000000000,
7011 8.0000000000000000, -0.50000000000000000 },
7012 { 0.89533826626907287, 5.0000000000000000, 0.50000000000000000,
7013 8.0000000000000000, -0.40000000000000002 },
7014 { 0.91824276674115290, 5.0000000000000000, 0.50000000000000000,
7015 8.0000000000000000, -0.30000000000000004 },
7016 { 0.94310265050720576, 5.0000000000000000, 0.50000000000000000,
7017 8.0000000000000000, -0.19999999999999996 },
7018 { 0.97022678857609712, 5.0000000000000000, 0.50000000000000000,
7019 8.0000000000000000, -0.099999999999999978 },
7020 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7021 8.0000000000000000, 0.0000000000000000 },
7022 { 1.0329098673199812, 5.0000000000000000, 0.50000000000000000,
7023 8.0000000000000000, 0.10000000000000009 },
7024 { 1.0695865684573389, 5.0000000000000000, 0.50000000000000000,
7025 8.0000000000000000, 0.19999999999999996 },
7026 { 1.1108642103944570, 5.0000000000000000, 0.50000000000000000,
7027 8.0000000000000000, 0.30000000000000004 },
7028 { 1.1578795055970506, 5.0000000000000000, 0.50000000000000000,
7029 8.0000000000000000, 0.39999999999999991 },
7030 { 1.2122394794169442, 5.0000000000000000, 0.50000000000000000,
7031 8.0000000000000000, 0.50000000000000000 },
7032 { 1.2763274721556934, 5.0000000000000000, 0.50000000000000000,
7033 8.0000000000000000, 0.60000000000000009 },
7034 { 1.3539179650251021, 5.0000000000000000, 0.50000000000000000,
7035 8.0000000000000000, 0.69999999999999996 },
7036 { 1.4515986118197148, 5.0000000000000000, 0.50000000000000000,
7037 8.0000000000000000, 0.80000000000000004 },
7038 { 1.5829284571614219, 5.0000000000000000, 0.50000000000000000,
7039 8.0000000000000000, 0.89999999999999991 },
7041 const double toler149
= 2.5000000000000020e-13;
7043 // Test data for a=5.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
7044 // max(|f - f_GSL|): 2.2204460492503131e-16
7045 // max(|f - f_GSL| / |f_GSL|): 2.2751041935095266e-16
7046 const testcase_hyperg
<double>
7049 { 0.83322694172301981, 5.0000000000000000, 0.50000000000000000,
7050 10.000000000000000, -0.90000000000000002 },
7051 { 0.84753931604765675, 5.0000000000000000, 0.50000000000000000,
7052 10.000000000000000, -0.80000000000000004 },
7053 { 0.86265784532195022, 5.0000000000000000, 0.50000000000000000,
7054 10.000000000000000, -0.69999999999999996 },
7055 { 0.87866479300707090, 5.0000000000000000, 0.50000000000000000,
7056 10.000000000000000, -0.59999999999999998 },
7057 { 0.89565516540263501, 5.0000000000000000, 0.50000000000000000,
7058 10.000000000000000, -0.50000000000000000 },
7059 { 0.91373946207610512, 5.0000000000000000, 0.50000000000000000,
7060 10.000000000000000, -0.40000000000000002 },
7061 { 0.93304721345881891, 5.0000000000000000, 0.50000000000000000,
7062 10.000000000000000, -0.30000000000000004 },
7063 { 0.95373159512905148, 5.0000000000000000, 0.50000000000000000,
7064 10.000000000000000, -0.19999999999999996 },
7065 { 0.97597554238828121, 5.0000000000000000, 0.50000000000000000,
7066 10.000000000000000, -0.099999999999999978 },
7067 { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
7068 10.000000000000000, 0.0000000000000000 },
7069 { 1.0260752851887982, 5.0000000000000000, 0.50000000000000000,
7070 10.000000000000000, 0.10000000000000009 },
7071 { 1.0545371197996178, 5.0000000000000000, 0.50000000000000000,
7072 10.000000000000000, 0.19999999999999996 },
7073 { 1.0858099017045830, 5.0000000000000000, 0.50000000000000000,
7074 10.000000000000000, 0.30000000000000004 },
7075 { 1.1204416568688709, 5.0000000000000000, 0.50000000000000000,
7076 10.000000000000000, 0.39999999999999991 },
7077 { 1.1591587835964847, 5.0000000000000000, 0.50000000000000000,
7078 10.000000000000000, 0.50000000000000000 },
7079 { 1.2029564720303347, 5.0000000000000000, 0.50000000000000000,
7080 10.000000000000000, 0.60000000000000009 },
7081 { 1.2532588722007874, 5.0000000000000000, 0.50000000000000000,
7082 10.000000000000000, 0.69999999999999996 },
7083 { 1.3122319926925459, 5.0000000000000000, 0.50000000000000000,
7084 10.000000000000000, 0.80000000000000004 },
7085 { 1.3834948587364100, 5.0000000000000000, 0.50000000000000000,
7086 10.000000000000000, 0.89999999999999991 },
7088 const double toler150
= 2.5000000000000020e-13;
7090 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
7091 // max(|f - f_GSL|): 4.0927261579781771e-12
7092 // max(|f - f_GSL| / |f_GSL|): 1.4735287697491276e-15
7093 const testcase_hyperg
<double>
7096 { 0.25646288779245086, 5.0000000000000000, 1.0000000000000000,
7097 2.0000000000000000, -0.90000000000000002 },
7098 { 0.28273129096174376, 5.0000000000000000, 1.0000000000000000,
7099 2.0000000000000000, -0.80000000000000004 },
7100 { 0.31438201170962982, 5.0000000000000000, 1.0000000000000000,
7101 2.0000000000000000, -0.69999999999999996 },
7102 { 0.35308837890625017, 5.0000000000000000, 1.0000000000000000,
7103 2.0000000000000000, -0.59999999999999998 },
7104 { 0.40123456790123452, 5.0000000000000000, 1.0000000000000000,
7105 2.0000000000000000, -0.50000000000000000 },
7106 { 0.46230737192836308, 5.0000000000000000, 1.0000000000000000,
7107 2.0000000000000000, -0.40000000000000002 },
7108 { 0.54156016946185348, 5.0000000000000000, 1.0000000000000000,
7109 2.0000000000000000, -0.30000000000000004 },
7110 { 0.64718364197530875, 5.0000000000000000, 1.0000000000000000,
7111 2.0000000000000000, -0.19999999999999996 },
7112 { 0.79246636158732342, 5.0000000000000000, 1.0000000000000000,
7113 2.0000000000000000, -0.099999999999999978 },
7114 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7115 2.0000000000000000, 0.0000000000000000 },
7116 { 1.3103947568968148, 5.0000000000000000, 1.0000000000000000,
7117 2.0000000000000000, 0.10000000000000009 },
7118 { 1.8017578125000004, 5.0000000000000000, 1.0000000000000000,
7119 2.0000000000000000, 0.19999999999999996 },
7120 { 2.6374427321949185, 5.0000000000000000, 1.0000000000000000,
7121 2.0000000000000000, 0.30000000000000004 },
7122 { 4.1975308641975282, 5.0000000000000000, 1.0000000000000000,
7123 2.0000000000000000, 0.39999999999999991 },
7124 { 7.4999999999999964, 5.0000000000000000, 1.0000000000000000,
7125 2.0000000000000000, 0.50000000000000000 },
7126 { 15.859375000000012, 5.0000000000000000, 1.0000000000000000,
7127 2.0000000000000000, 0.60000000000000009 },
7128 { 43.734567901234513, 5.0000000000000000, 1.0000000000000000,
7129 2.0000000000000000, 0.69999999999999996 },
7130 { 194.99999999999994, 5.0000000000000000, 1.0000000000000000,
7131 2.0000000000000000, 0.80000000000000004 },
7132 { 2777.4999999999832, 5.0000000000000000, 1.0000000000000000,
7133 2.0000000000000000, 0.89999999999999991 },
7135 const double toler151
= 2.5000000000000020e-13;
7137 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
7138 // max(|f - f_GSL|): 4.2632564145606011e-14
7139 // max(|f - f_GSL| / |f_GSL|): 1.3117712044801915e-15
7140 const testcase_hyperg
<double>
7143 { 0.46398891966759009, 5.0000000000000000, 1.0000000000000000,
7144 4.0000000000000000, -0.90000000000000002 },
7145 { 0.49382716049382724, 5.0000000000000000, 1.0000000000000000,
7146 4.0000000000000000, -0.80000000000000004 },
7147 { 0.52768166089965407, 5.0000000000000000, 1.0000000000000000,
7148 4.0000000000000000, -0.69999999999999996 },
7149 { 0.56640625000000000, 5.0000000000000000, 1.0000000000000000,
7150 4.0000000000000000, -0.59999999999999998 },
7151 { 0.61111111111111094, 5.0000000000000000, 1.0000000000000000,
7152 4.0000000000000000, -0.50000000000000000 },
7153 { 0.66326530612244905, 5.0000000000000000, 1.0000000000000000,
7154 4.0000000000000000, -0.40000000000000002 },
7155 { 0.72485207100591698, 5.0000000000000000, 1.0000000000000000,
7156 4.0000000000000000, -0.30000000000000004 },
7157 { 0.79861111111111094, 5.0000000000000000, 1.0000000000000000,
7158 4.0000000000000000, -0.19999999999999996 },
7159 { 0.88842975206611552, 5.0000000000000000, 1.0000000000000000,
7160 4.0000000000000000, -0.099999999999999978 },
7161 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7162 4.0000000000000000, 0.0000000000000000 },
7163 { 1.1419753086419753, 5.0000000000000000, 1.0000000000000000,
7164 4.0000000000000000, 0.10000000000000009 },
7165 { 1.3281249999999998, 5.0000000000000000, 1.0000000000000000,
7166 4.0000000000000000, 0.19999999999999996 },
7167 { 1.5816326530612239, 5.0000000000000000, 1.0000000000000000,
7168 4.0000000000000000, 0.30000000000000004 },
7169 { 1.9444444444444444, 5.0000000000000000, 1.0000000000000000,
7170 4.0000000000000000, 0.39999999999999991 },
7171 { 2.5000000000000000, 5.0000000000000000, 1.0000000000000000,
7172 4.0000000000000000, 0.50000000000000000 },
7173 { 3.4374999999999996, 5.0000000000000000, 1.0000000000000000,
7174 4.0000000000000000, 0.60000000000000009 },
7175 { 5.2777777777777715, 5.0000000000000000, 1.0000000000000000,
7176 4.0000000000000000, 0.69999999999999996 },
7177 { 9.9999999999999947, 5.0000000000000000, 1.0000000000000000,
7178 4.0000000000000000, 0.80000000000000004 },
7179 { 32.499999999999837, 5.0000000000000000, 1.0000000000000000,
7180 4.0000000000000000, 0.89999999999999991 },
7182 const double toler152
= 2.5000000000000020e-13;
7184 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
7185 // max(|f - f_GSL|): 6.2172489379008766e-15
7186 // max(|f - f_GSL| / |f_GSL|): 1.2433022037532461e-15
7187 const testcase_hyperg
<double>
7190 { 0.57476744883397490, 5.0000000000000000, 1.0000000000000000,
7191 6.0000000000000000, -0.90000000000000002 },
7192 { 0.60302731682513966, 5.0000000000000000, 1.0000000000000000,
7193 6.0000000000000000, -0.80000000000000004 },
7194 { 0.63425708719096374, 5.0000000000000000, 1.0000000000000000,
7195 6.0000000000000000, -0.69999999999999996 },
7196 { 0.66895764182970430, 5.0000000000000000, 1.0000000000000000,
7197 6.0000000000000000, -0.59999999999999998 },
7198 { 0.70775063063963473, 5.0000000000000000, 1.0000000000000000,
7199 6.0000000000000000, -0.50000000000000000 },
7200 { 0.75141762103495924, 5.0000000000000000, 1.0000000000000000,
7201 6.0000000000000000, -0.40000000000000002 },
7202 { 0.80095569442603298, 5.0000000000000000, 1.0000000000000000,
7203 6.0000000000000000, -0.30000000000000004 },
7204 { 0.85765823887436754, 5.0000000000000000, 1.0000000000000000,
7205 6.0000000000000000, -0.19999999999999996 },
7206 { 0.92323549576335540, 5.0000000000000000, 1.0000000000000000,
7207 6.0000000000000000, -0.099999999999999978 },
7208 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7209 6.0000000000000000, 0.0000000000000000 },
7210 { 1.0911622464839472, 5.0000000000000000, 1.0000000000000000,
7211 6.0000000000000000, 0.10000000000000009 },
7212 { 1.2013226178607666, 5.0000000000000000, 1.0000000000000000,
7213 6.0000000000000000, 0.19999999999999996 },
7214 { 1.3373332072682687, 5.0000000000000000, 1.0000000000000000,
7215 6.0000000000000000, 0.30000000000000004 },
7216 { 1.5099074378209716, 5.0000000000000000, 1.0000000000000000,
7217 6.0000000000000000, 0.39999999999999991 },
7218 { 1.7368822229245819, 5.0000000000000000, 1.0000000000000000,
7219 6.0000000000000000, 0.50000000000000000 },
7220 { 2.0505871832661429, 5.0000000000000000, 1.0000000000000000,
7221 6.0000000000000000, 0.60000000000000009 },
7222 { 2.5172389775867967, 5.0000000000000000, 1.0000000000000000,
7223 6.0000000000000000, 0.69999999999999996 },
7224 { 3.3015631983556144, 5.0000000000000000, 1.0000000000000000,
7225 6.0000000000000000, 0.80000000000000004 },
7226 { 5.0005935155044519, 5.0000000000000000, 1.0000000000000000,
7227 6.0000000000000000, 0.89999999999999991 },
7229 const double toler153
= 2.5000000000000020e-13;
7231 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
7232 // max(|f - f_GSL|): 3.1086244689504383e-15
7233 // max(|f - f_GSL| / |f_GSL|): 1.1989697058841889e-15
7234 const testcase_hyperg
<double>
7237 { 0.64582752605387983, 5.0000000000000000, 1.0000000000000000,
7238 8.0000000000000000, -0.90000000000000002 },
7239 { 0.67184161997264191, 5.0000000000000000, 1.0000000000000000,
7240 8.0000000000000000, -0.80000000000000004 },
7241 { 0.70012779922368040, 5.0000000000000000, 1.0000000000000000,
7242 8.0000000000000000, -0.69999999999999996 },
7243 { 0.73100784656910278, 5.0000000000000000, 1.0000000000000000,
7244 8.0000000000000000, -0.59999999999999998 },
7245 { 0.76486919089091066, 5.0000000000000000, 1.0000000000000000,
7246 8.0000000000000000, -0.50000000000000000 },
7247 { 0.80218301124334557, 5.0000000000000000, 1.0000000000000000,
7248 8.0000000000000000, -0.40000000000000002 },
7249 { 0.84352883533234413, 5.0000000000000000, 1.0000000000000000,
7250 8.0000000000000000, -0.30000000000000004 },
7251 { 0.88962858902212572, 5.0000000000000000, 1.0000000000000000,
7252 8.0000000000000000, -0.19999999999999996 },
7253 { 0.94139473468584123, 5.0000000000000000, 1.0000000000000000,
7254 8.0000000000000000, -0.099999999999999978 },
7255 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7256 8.0000000000000000, 0.0000000000000000 },
7257 { 1.0669812691939897, 5.0000000000000000, 1.0000000000000000,
7258 8.0000000000000000, 0.10000000000000009 },
7259 { 1.1443996012177726, 5.0000000000000000, 1.0000000000000000,
7260 8.0000000000000000, 0.19999999999999996 },
7261 { 1.2350966976721314, 5.0000000000000000, 1.0000000000000000,
7262 8.0000000000000000, 0.30000000000000004 },
7263 { 1.3431264370409088, 5.0000000000000000, 1.0000000000000000,
7264 8.0000000000000000, 0.39999999999999991 },
7265 { 1.4745266814162399, 5.0000000000000000, 1.0000000000000000,
7266 8.0000000000000000, 0.50000000000000000 },
7267 { 1.6388137104840066, 5.0000000000000000, 1.0000000000000000,
7268 8.0000000000000000, 0.60000000000000009 },
7269 { 1.8522074849776518, 5.0000000000000000, 1.0000000000000000,
7270 8.0000000000000000, 0.69999999999999996 },
7271 { 2.1458016978417458, 5.0000000000000000, 1.0000000000000000,
7272 8.0000000000000000, 0.80000000000000004 },
7273 { 2.5927464669826339, 5.0000000000000000, 1.0000000000000000,
7274 8.0000000000000000, 0.89999999999999991 },
7276 const double toler154
= 2.5000000000000020e-13;
7278 // Test data for a=5.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
7279 // max(|f - f_GSL|): 1.1102230246251565e-15
7280 // max(|f - f_GSL| / |f_GSL|): 5.6896158687269898e-16
7281 const testcase_hyperg
<double>
7284 { 0.69583236336670584, 5.0000000000000000, 1.0000000000000000,
7285 10.000000000000000, -0.90000000000000002 },
7286 { 0.71968920666899716, 5.0000000000000000, 1.0000000000000000,
7287 10.000000000000000, -0.80000000000000004 },
7288 { 0.74533885416044232, 5.0000000000000000, 1.0000000000000000,
7289 10.000000000000000, -0.69999999999999996 },
7290 { 0.77300145361503070, 5.0000000000000000, 1.0000000000000000,
7291 10.000000000000000, -0.59999999999999998 },
7292 { 0.80293630810919447, 5.0000000000000000, 1.0000000000000000,
7293 10.000000000000000, -0.50000000000000000 },
7294 { 0.83545132638592001, 5.0000000000000000, 1.0000000000000000,
7295 10.000000000000000, -0.40000000000000002 },
7296 { 0.87091544744412497, 5.0000000000000000, 1.0000000000000000,
7297 10.000000000000000, -0.30000000000000004 },
7298 { 0.90977522877919847, 5.0000000000000000, 1.0000000000000000,
7299 10.000000000000000, -0.19999999999999996 },
7300 { 0.95257738192069130, 5.0000000000000000, 1.0000000000000000,
7301 10.000000000000000, -0.099999999999999978 },
7302 { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
7303 10.000000000000000, 0.0000000000000000 },
7304 { 1.0528968282789379, 5.0000000000000000, 1.0000000000000000,
7305 10.000000000000000, 0.10000000000000009 },
7306 { 1.1123617169062123, 5.0000000000000000, 1.0000000000000000,
7307 10.000000000000000, 0.19999999999999996 },
7308 { 1.1798254572896132, 5.0000000000000000, 1.0000000000000000,
7309 10.000000000000000, 0.30000000000000004 },
7310 { 1.2572069000522696, 5.0000000000000000, 1.0000000000000000,
7311 10.000000000000000, 0.39999999999999991 },
7312 { 1.3471600884974377, 5.0000000000000000, 1.0000000000000000,
7313 10.000000000000000, 0.50000000000000000 },
7314 { 1.4535032279573519, 5.0000000000000000, 1.0000000000000000,
7315 10.000000000000000, 0.60000000000000009 },
7316 { 1.5820245752814948, 5.0000000000000000, 1.0000000000000000,
7317 10.000000000000000, 0.69999999999999996 },
7318 { 1.7421756366906538, 5.0000000000000000, 1.0000000000000000,
7319 10.000000000000000, 0.80000000000000004 },
7320 { 1.9513145531098233, 5.0000000000000000, 1.0000000000000000,
7321 10.000000000000000, 0.89999999999999991 },
7323 const double toler155
= 2.5000000000000020e-13;
7325 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
7326 // max(|f - f_GSL|): 1.1641532182693481e-10
7327 // max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
7328 const testcase_hyperg
<double>
7331 { 0.040386107340619266, 5.0000000000000000, 2.0000000000000000,
7332 2.0000000000000000, -0.90000000000000002 },
7333 { 0.052922149401344633, 5.0000000000000000, 2.0000000000000000,
7334 2.0000000000000000, -0.80000000000000004 },
7335 { 0.070429627772374270, 5.0000000000000000, 2.0000000000000000,
7336 2.0000000000000000, -0.69999999999999996 },
7337 { 0.095367431640624972, 5.0000000000000000, 2.0000000000000000,
7338 2.0000000000000000, -0.59999999999999998 },
7339 { 0.13168724279835387, 5.0000000000000000, 2.0000000000000000,
7340 2.0000000000000000, -0.50000000000000000 },
7341 { 0.18593443208187066, 5.0000000000000000, 2.0000000000000000,
7342 2.0000000000000000, -0.40000000000000002 },
7343 { 0.26932907434290437, 5.0000000000000000, 2.0000000000000000,
7344 2.0000000000000000, -0.30000000000000004 },
7345 { 0.40187757201646096, 5.0000000000000000, 2.0000000000000000,
7346 2.0000000000000000, -0.19999999999999996 },
7347 { 0.62092132305915493, 5.0000000000000000, 2.0000000000000000,
7348 2.0000000000000000, -0.099999999999999978 },
7349 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7350 2.0000000000000000, 0.0000000000000000 },
7351 { 1.6935087808430296, 5.0000000000000000, 2.0000000000000000,
7352 2.0000000000000000, 0.10000000000000009 },
7353 { 3.0517578124999991, 5.0000000000000000, 2.0000000000000000,
7354 2.0000000000000000, 0.19999999999999996 },
7355 { 5.9499018266198629, 5.0000000000000000, 2.0000000000000000,
7356 2.0000000000000000, 0.30000000000000004 },
7357 { 12.860082304526737, 5.0000000000000000, 2.0000000000000000,
7358 2.0000000000000000, 0.39999999999999991 },
7359 { 32.000000000000000, 5.0000000000000000, 2.0000000000000000,
7360 2.0000000000000000, 0.50000000000000000 },
7361 { 97.656250000000114, 5.0000000000000000, 2.0000000000000000,
7362 2.0000000000000000, 0.60000000000000009 },
7363 { 411.52263374485580, 5.0000000000000000, 2.0000000000000000,
7364 2.0000000000000000, 0.69999999999999996 },
7365 { 3124.9999999999991, 5.0000000000000000, 2.0000000000000000,
7366 2.0000000000000000, 0.80000000000000004 },
7367 { 99999.999999999665, 5.0000000000000000, 2.0000000000000000,
7368 2.0000000000000000, 0.89999999999999991 },
7370 const double toler156
= 2.5000000000000020e-13;
7372 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
7373 // max(|f - f_GSL|): 6.8212102632969618e-13
7374 // max(|f - f_GSL| / |f_GSL|): 1.2402200478721823e-15
7375 const testcase_hyperg
<double>
7378 { 0.21140107887447138, 5.0000000000000000, 2.0000000000000000,
7379 4.0000000000000000, -0.90000000000000002 },
7380 { 0.24005486968449927, 5.0000000000000000, 2.0000000000000000,
7381 4.0000000000000000, -0.80000000000000004 },
7382 { 0.27478119275391810, 5.0000000000000000, 2.0000000000000000,
7383 4.0000000000000000, -0.69999999999999996 },
7384 { 0.31738281250000006, 5.0000000000000000, 2.0000000000000000,
7385 4.0000000000000000, -0.59999999999999998 },
7386 { 0.37037037037037024, 5.0000000000000000, 2.0000000000000000,
7387 4.0000000000000000, -0.50000000000000000 },
7388 { 0.43731778425655959, 5.0000000000000000, 2.0000000000000000,
7389 4.0000000000000000, -0.40000000000000002 },
7390 { 0.52344105598543467, 5.0000000000000000, 2.0000000000000000,
7391 4.0000000000000000, -0.30000000000000004 },
7392 { 0.63657407407407429, 5.0000000000000000, 2.0000000000000000,
7393 4.0000000000000000, -0.19999999999999996 },
7394 { 0.78888054094665638, 5.0000000000000000, 2.0000000000000000,
7395 4.0000000000000000, -0.099999999999999978 },
7396 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7397 4.0000000000000000, 0.0000000000000000 },
7398 { 1.3031550068587108, 5.0000000000000000, 2.0000000000000000,
7399 4.0000000000000000, 0.10000000000000009 },
7400 { 1.7578125000000002, 5.0000000000000000, 2.0000000000000000,
7401 4.0000000000000000, 0.19999999999999996 },
7402 { 2.4781341107871717, 5.0000000000000000, 2.0000000000000000,
7403 4.0000000000000000, 0.30000000000000004 },
7404 { 3.7037037037037037, 5.0000000000000000, 2.0000000000000000,
7405 4.0000000000000000, 0.39999999999999991 },
7406 { 5.9999999999999982, 5.0000000000000000, 2.0000000000000000,
7407 4.0000000000000000, 0.50000000000000000 },
7408 { 10.937500000000005, 5.0000000000000000, 2.0000000000000000,
7409 4.0000000000000000, 0.60000000000000009 },
7410 { 24.074074074074076, 5.0000000000000000, 2.0000000000000000,
7411 4.0000000000000000, 0.69999999999999996 },
7412 { 74.999999999999957, 5.0000000000000000, 2.0000000000000000,
7413 4.0000000000000000, 0.80000000000000004 },
7414 { 549.99999999999670, 5.0000000000000000, 2.0000000000000000,
7415 4.0000000000000000, 0.89999999999999991 },
7417 const double toler157
= 2.5000000000000020e-13;
7419 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
7420 // max(|f - f_GSL|): 4.9737991503207013e-14
7421 // max(|f - f_GSL| / |f_GSL|): 1.6580642616864663e-15
7422 const testcase_hyperg
<double>
7425 { 0.33250915203252129, 5.0000000000000000, 2.0000000000000000,
7426 6.0000000000000000, -0.90000000000000002 },
7427 { 0.36566851047721943, 5.0000000000000000, 2.0000000000000000,
7428 6.0000000000000000, -0.80000000000000004 },
7429 { 0.40414812182437959, 5.0000000000000000, 2.0000000000000000,
7430 6.0000000000000000, -0.69999999999999996 },
7431 { 0.44916943268118498, 5.0000000000000000, 2.0000000000000000,
7432 6.0000000000000000, -0.59999999999999998 },
7433 { 0.50233081077479547, 5.0000000000000000, 2.0000000000000000,
7434 6.0000000000000000, -0.50000000000000000 },
7435 { 0.56575808728873334, 5.0000000000000000, 2.0000000000000000,
7436 6.0000000000000000, -0.40000000000000002 },
7437 { 0.64233106844971433, 5.0000000000000000, 2.0000000000000000,
7438 6.0000000000000000, -0.30000000000000004 },
7439 { 0.73603371116919514, 5.0000000000000000, 2.0000000000000000,
7440 6.0000000000000000, -0.19999999999999996 },
7441 { 0.85251256240112439, 5.0000000000000000, 2.0000000000000000,
7442 6.0000000000000000, -0.099999999999999978 },
7443 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7444 6.0000000000000000, 0.0000000000000000 },
7445 { 1.1909065696197674, 5.0000000000000000, 2.0000000000000000,
7446 6.0000000000000000, 0.10000000000000009 },
7447 { 1.4447095285569311, 5.0000000000000000, 2.0000000000000000,
7448 6.0000000000000000, 0.19999999999999996 },
7449 { 1.7935243137840653, 5.0000000000000000, 2.0000000000000000,
7450 6.0000000000000000, 0.30000000000000004 },
7451 { 2.2937035820494454, 5.0000000000000000, 2.0000000000000000,
7452 6.0000000000000000, 0.39999999999999991 },
7453 { 3.0524711083016687, 5.0000000000000000, 2.0000000000000000,
7454 6.0000000000000000, 0.50000000000000000 },
7455 { 4.2976512669354259, 5.0000000000000000, 2.0000000000000000,
7456 6.0000000000000000, 0.60000000000000009 },
7457 { 6.5977107563194677, 5.0000000000000000, 2.0000000000000000,
7458 6.0000000000000000, 0.69999999999999996 },
7459 { 11.793747206577530, 5.0000000000000000, 2.0000000000000000,
7460 6.0000000000000000, 0.80000000000000004 },
7461 { 29.997625937982058, 5.0000000000000000, 2.0000000000000000,
7462 6.0000000000000000, 0.89999999999999991 },
7464 const double toler158
= 2.5000000000000020e-13;
7466 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
7467 // max(|f - f_GSL|): 1.1546319456101628e-14
7468 // max(|f - f_GSL| / |f_GSL|): 1.4852319937858947e-15
7469 const testcase_hyperg
<double>
7472 { 0.42108197362250294, 5.0000000000000000, 2.0000000000000000,
7473 8.0000000000000000, -0.90000000000000002 },
7474 { 0.45503172013983040, 5.0000000000000000, 2.0000000000000000,
7475 8.0000000000000000, -0.80000000000000004 },
7476 { 0.49345609813624314, 5.0000000000000000, 2.0000000000000000,
7477 8.0000000000000000, -0.69999999999999996 },
7478 { 0.53720880551221295, 5.0000000000000000, 2.0000000000000000,
7479 8.0000000000000000, -0.59999999999999998 },
7480 { 0.58736431524847466, 5.0000000000000000, 2.0000000000000000,
7481 8.0000000000000000, -0.50000000000000000 },
7482 { 0.64529222467897973, 5.0000000000000000, 2.0000000000000000,
7483 8.0000000000000000, -0.40000000000000002 },
7484 { 0.71276337354393937, 5.0000000000000000, 2.0000000000000000,
7485 8.0000000000000000, -0.30000000000000004 },
7486 { 0.79210466220795306, 5.0000000000000000, 2.0000000000000000,
7487 8.0000000000000000, -0.19999999999999996 },
7488 { 0.88643063455510596, 5.0000000000000000, 2.0000000000000000,
7489 8.0000000000000000, -0.099999999999999978 },
7490 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7491 8.0000000000000000, 0.0000000000000000 },
7492 { 1.1387832139040652, 5.0000000000000000, 2.0000000000000000,
7493 8.0000000000000000, 0.10000000000000009 },
7494 { 1.3114025920844752, 5.0000000000000000, 2.0000000000000000,
7495 8.0000000000000000, 0.19999999999999996 },
7496 { 1.5307655016768162, 5.0000000000000000, 2.0000000000000000,
7497 8.0000000000000000, 0.30000000000000004 },
7498 { 1.8170727950333345, 5.0000000000000000, 2.0000000000000000,
7499 8.0000000000000000, 0.39999999999999991 },
7500 { 2.2037865486700836, 5.0000000000000000, 2.0000000000000000,
7501 8.0000000000000000, 0.50000000000000000 },
7502 { 2.7506766056439380, 5.0000000000000000, 2.0000000000000000,
7503 8.0000000000000000, 0.60000000000000009 },
7504 { 3.5764534935716972, 5.0000000000000000, 2.0000000000000000,
7505 8.0000000000000000, 0.69999999999999996 },
7506 { 4.9587762302155403, 5.0000000000000000, 2.0000000000000000,
7507 8.0000000000000000, 0.80000000000000004 },
7508 { 7.7740847924166800, 5.0000000000000000, 2.0000000000000000,
7509 8.0000000000000000, 0.89999999999999991 },
7511 const double toler159
= 2.5000000000000020e-13;
7513 // Test data for a=5.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
7514 // max(|f - f_GSL|): 4.4408920985006262e-15
7515 // max(|f - f_GSL| / |f_GSL|): 1.0721199711322771e-15
7516 const testcase_hyperg
<double>
7519 { 0.48860241312958436, 5.0000000000000000, 2.0000000000000000,
7520 10.000000000000000, -0.90000000000000002 },
7521 { 0.52193382517068487, 5.0000000000000000, 2.0000000000000000,
7522 10.000000000000000, -0.80000000000000004 },
7523 { 0.55902375003954219, 5.0000000000000000, 2.0000000000000000,
7524 10.000000000000000, -0.69999999999999996 },
7525 { 0.60049055150230324, 5.0000000000000000, 2.0000000000000000,
7526 10.000000000000000, -0.59999999999999998 },
7527 { 0.64709127927203469, 5.0000000000000000, 2.0000000000000000,
7528 10.000000000000000, -0.50000000000000000 },
7529 { 0.69976233335368987, 5.0000000000000000, 2.0000000000000000,
7530 10.000000000000000, -0.40000000000000002 },
7531 { 0.75967529501080999, 5.0000000000000000, 2.0000000000000000,
7532 10.000000000000000, -0.30000000000000004 },
7533 { 0.82831498895254407, 5.0000000000000000, 2.0000000000000000,
7534 10.000000000000000, -0.19999999999999996 },
7535 { 0.90759090169653933, 5.0000000000000000, 2.0000000000000000,
7536 10.000000000000000, -0.099999999999999978 },
7537 { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
7538 10.000000000000000, 0.0000000000000000 },
7539 { 1.1088712278667465, 5.0000000000000000, 2.0000000000000000,
7540 10.000000000000000, 0.10000000000000009 },
7541 { 1.2387445478440853, 5.0000000000000000, 2.0000000000000000,
7542 10.000000000000000, 0.19999999999999996 },
7543 { 1.3959812720437546, 5.0000000000000000, 2.0000000000000000,
7544 10.000000000000000, 0.30000000000000004 },
7545 { 1.5897930661091164, 5.0000000000000000, 2.0000000000000000,
7546 10.000000000000000, 0.39999999999999991 },
7547 { 1.8340789380307454, 5.0000000000000000, 2.0000000000000000,
7548 10.000000000000000, 0.50000000000000000 },
7549 { 2.1509548085970764, 5.0000000000000000, 2.0000000000000000,
7550 10.000000000000000, 0.60000000000000009 },
7551 { 2.5782406951207504, 5.0000000000000000, 2.0000000000000000,
7552 10.000000000000000, 0.69999999999999996 },
7553 { 3.1877847194242737, 5.0000000000000000, 2.0000000000000000,
7554 10.000000000000000, 0.80000000000000004 },
7555 { 4.1421596631676900, 5.0000000000000000, 2.0000000000000000,
7556 10.000000000000000, 0.89999999999999991 },
7558 const double toler160
= 2.5000000000000020e-13;
7560 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
7561 // max(|f - f_GSL|): 1.3113021850585938e-06
7562 // max(|f - f_GSL| / |f_GSL|): 2.8467351045253575e-14
7563 const testcase_hyperg
<double>
7566 { -0.0047236848832209926, 5.0000000000000000, 5.0000000000000000,
7567 2.0000000000000000, -0.90000000000000002 },
7568 { -0.0073321496427104288, 5.0000000000000000, 5.0000000000000000,
7569 2.0000000000000000, -0.80000000000000004 },
7570 { -0.010977302557845620, 5.0000000000000000, 5.0000000000000000,
7571 2.0000000000000000, -0.69999999999999996 },
7572 { -0.015692785382270882, 5.0000000000000000, 5.0000000000000000,
7573 2.0000000000000000, -0.59999999999999998 },
7574 { -0.020728547477518663, 5.0000000000000000, 5.0000000000000000,
7575 2.0000000000000000, -0.50000000000000000 },
7576 { -0.022767481479412880, 5.0000000000000000, 5.0000000000000000,
7577 2.0000000000000000, -0.40000000000000002 },
7578 { -0.010634636868114181, 5.0000000000000000, 5.0000000000000000,
7579 2.0000000000000000, -0.30000000000000004 },
7580 { 0.050699832580781923, 5.0000000000000000, 5.0000000000000000,
7581 2.0000000000000000, -0.19999999999999996 },
7582 { 0.27045765367659280, 5.0000000000000000, 5.0000000000000000,
7583 2.0000000000000000, -0.099999999999999978 },
7584 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
7585 2.0000000000000000, 0.0000000000000000 },
7586 { 3.4387055868901171, 5.0000000000000000, 5.0000000000000000,
7587 2.0000000000000000, 0.10000000000000009 },
7588 { 12.052059173583981, 5.0000000000000000, 5.0000000000000000,
7589 2.0000000000000000, 0.19999999999999996 },
7590 { 45.565319600798020, 5.0000000000000000, 5.0000000000000000,
7591 2.0000000000000000, 0.30000000000000004 },
7592 { 196.23532998018572, 5.0000000000000000, 5.0000000000000000,
7593 2.0000000000000000, 0.39999999999999991 },
7594 { 1032.0000000000002, 5.0000000000000000, 5.0000000000000000,
7595 2.0000000000000000, 0.50000000000000000 },
7596 { 7376.0986328125073, 5.0000000000000000, 5.0000000000000000,
7597 2.0000000000000000, 0.60000000000000009 },
7598 { 86964.639536655843, 5.0000000000000000, 5.0000000000000000,
7599 2.0000000000000000, 0.69999999999999996 },
7600 { 2596875.0000000009, 5.0000000000000000, 5.0000000000000000,
7601 2.0000000000000000, 0.80000000000000004 },
7602 { 766224999.99999273, 5.0000000000000000, 5.0000000000000000,
7603 2.0000000000000000, 0.89999999999999991 },
7605 const double toler161
= 2.5000000000000015e-12;
7607 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
7608 // max(|f - f_GSL|): 1.8626451492309570e-09
7609 // max(|f - f_GSL| / |f_GSL|): 1.5205266524334494e-15
7610 const testcase_hyperg
<double>
7613 { 0.016473280625778776, 5.0000000000000000, 5.0000000000000000,
7614 4.0000000000000000, -0.90000000000000002 },
7615 { 0.023520955289486591, 5.0000000000000000, 5.0000000000000000,
7616 4.0000000000000000, -0.80000000000000004 },
7617 { 0.034179084066005165, 5.0000000000000000, 5.0000000000000000,
7618 4.0000000000000000, -0.69999999999999996 },
7619 { 0.050663948059081955, 5.0000000000000000, 5.0000000000000000,
7620 4.0000000000000000, -0.59999999999999998 },
7621 { 0.076817558299039870, 5.0000000000000000, 5.0000000000000000,
7622 4.0000000000000000, -0.50000000000000000 },
7623 { 0.11952927776691698, 5.0000000000000000, 5.0000000000000000,
7624 4.0000000000000000, -0.40000000000000002 },
7625 { 0.19163799520552802, 5.0000000000000000, 5.0000000000000000,
7626 4.0000000000000000, -0.30000000000000004 },
7627 { 0.31815307784636504, 5.0000000000000000, 5.0000000000000000,
7628 4.0000000000000000, -0.19999999999999996 },
7629 { 0.55036208180243285, 5.0000000000000000, 5.0000000000000000,
7630 4.0000000000000000, -0.099999999999999978 },
7631 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
7632 4.0000000000000000, 0.0000000000000000 },
7633 { 1.9287183337378946, 5.0000000000000000, 5.0000000000000000,
7634 4.0000000000000000, 0.10000000000000009 },
7635 { 4.0054321289062473, 5.0000000000000000, 5.0000000000000000,
7636 4.0000000000000000, 0.19999999999999996 },
7637 { 9.1373492337376394, 5.0000000000000000, 5.0000000000000000,
7638 4.0000000000000000, 0.30000000000000004 },
7639 { 23.576817558299005, 5.0000000000000000, 5.0000000000000000,
7640 4.0000000000000000, 0.39999999999999991 },
7641 { 71.999999999999972, 5.0000000000000000, 5.0000000000000000,
7642 4.0000000000000000, 0.50000000000000000 },
7643 { 280.76171875000023, 5.0000000000000000, 5.0000000000000000,
7644 4.0000000000000000, 0.60000000000000009 },
7645 { 1611.7969821673514, 5.0000000000000000, 5.0000000000000000,
7646 4.0000000000000000, 0.69999999999999996 },
7647 { 18749.999999999996, 5.0000000000000000, 5.0000000000000000,
7648 4.0000000000000000, 0.80000000000000004 },
7649 { 1224999.9999999879, 5.0000000000000000, 5.0000000000000000,
7650 4.0000000000000000, 0.89999999999999991 },
7652 const double toler162
= 2.5000000000000020e-13;
7654 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
7655 // max(|f - f_GSL|): 1.8189894035458565e-11
7656 // max(|f - f_GSL| / |f_GSL|): 1.5011259042308369e-15
7657 const testcase_hyperg
<double>
7660 { 0.067462409738203527, 5.0000000000000000, 5.0000000000000000,
7661 6.0000000000000000, -0.90000000000000002 },
7662 { 0.084813629887172531, 5.0000000000000000, 5.0000000000000000,
7663 6.0000000000000000, -0.80000000000000004 },
7664 { 0.10799223563666395, 5.0000000000000000, 5.0000000000000000,
7665 6.0000000000000000, -0.69999999999999996 },
7666 { 0.13947766136095380, 5.0000000000000000, 5.0000000000000000,
7667 6.0000000000000000, -0.59999999999999998 },
7668 { 0.18305927261494301, 5.0000000000000000, 5.0000000000000000,
7669 6.0000000000000000, -0.50000000000000000 },
7670 { 0.24468431546783440, 5.0000000000000000, 5.0000000000000000,
7671 6.0000000000000000, -0.40000000000000002 },
7672 { 0.33397274564972929, 5.0000000000000000, 5.0000000000000000,
7673 6.0000000000000000, -0.30000000000000004 },
7674 { 0.46703323887436765, 5.0000000000000000, 5.0000000000000000,
7675 6.0000000000000000, -0.19999999999999996 },
7676 { 0.67194346197695642, 5.0000000000000000, 5.0000000000000000,
7677 6.0000000000000000, -0.099999999999999978 },
7678 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
7679 6.0000000000000000, 0.0000000000000000 },
7680 { 1.5503148146900136, 5.0000000000000000, 5.0000000000000000,
7681 6.0000000000000000, 0.10000000000000009 },
7682 { 2.5278200136940998, 5.0000000000000000, 5.0000000000000000,
7683 6.0000000000000000, 0.19999999999999996 },
7684 { 4.3933515329658954, 5.0000000000000000, 5.0000000000000000,
7685 6.0000000000000000, 0.30000000000000004 },
7686 { 8.3000308946110888, 5.0000000000000000, 5.0000000000000000,
7687 6.0000000000000000, 0.39999999999999991 },
7688 { 17.570215556257921, 5.0000000000000000, 5.0000000000000000,
7689 6.0000000000000000, 0.50000000000000000 },
7690 { 43.847462183266167, 5.0000000000000000, 5.0000000000000000,
7691 6.0000000000000000, 0.60000000000000009 },
7692 { 141.86909082943853, 5.0000000000000000, 5.0000000000000000,
7693 6.0000000000000000, 0.69999999999999996 },
7694 { 736.63489653168926, 5.0000000000000000, 5.0000000000000000,
7695 6.0000000000000000, 0.80000000000000004 },
7696 { 12117.500593515439, 5.0000000000000000, 5.0000000000000000,
7697 6.0000000000000000, 0.89999999999999991 },
7699 const double toler163
= 2.5000000000000020e-13;
7701 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
7702 // max(|f - f_GSL|): 6.8212102632969618e-13
7703 // max(|f - f_GSL| / |f_GSL|): 1.3038469641917493e-15
7704 const testcase_hyperg
<double>
7707 { 0.12409443806004226, 5.0000000000000000, 5.0000000000000000,
7708 8.0000000000000000, -0.90000000000000002 },
7709 { 0.14886910375100415, 5.0000000000000000, 5.0000000000000000,
7710 8.0000000000000000, -0.80000000000000004 },
7711 { 0.18023328876836348, 5.0000000000000000, 5.0000000000000000,
7712 8.0000000000000000, -0.69999999999999996 },
7713 { 0.22044046981094723, 5.0000000000000000, 5.0000000000000000,
7714 8.0000000000000000, -0.59999999999999998 },
7715 { 0.27271160690708790, 5.0000000000000000, 5.0000000000000000,
7716 8.0000000000000000, -0.50000000000000000 },
7717 { 0.34174821195025828, 5.0000000000000000, 5.0000000000000000,
7718 8.0000000000000000, -0.40000000000000002 },
7719 { 0.43457788826160254, 5.0000000000000000, 5.0000000000000000,
7720 8.0000000000000000, -0.30000000000000004 },
7721 { 0.56199385898404552, 5.0000000000000000, 5.0000000000000000,
7722 8.0000000000000000, -0.19999999999999996 },
7723 { 0.74109892753745221, 5.0000000000000000, 5.0000000000000000,
7724 8.0000000000000000, -0.099999999999999978 },
7725 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
7726 8.0000000000000000, 0.0000000000000000 },
7727 { 1.3869229400096228, 5.0000000000000000, 5.0000000000000000,
7728 8.0000000000000000, 0.10000000000000009 },
7729 { 1.9890168748121255, 5.0000000000000000, 5.0000000000000000,
7730 8.0000000000000000, 0.19999999999999996 },
7731 { 2.9741205609307424, 5.0000000000000000, 5.0000000000000000,
7732 8.0000000000000000, 0.30000000000000004 },
7733 { 4.6924751038237300, 5.0000000000000000, 5.0000000000000000,
7734 8.0000000000000000, 0.39999999999999991 },
7735 { 7.9555939380658254, 5.0000000000000000, 5.0000000000000000,
7736 8.0000000000000000, 0.50000000000000000 },
7737 { 14.933102063314404, 5.0000000000000000, 5.0000000000000000,
7738 8.0000000000000000, 0.60000000000000009 },
7739 { 32.780461638447491, 5.0000000000000000, 5.0000000000000000,
7740 8.0000000000000000, 0.69999999999999996 },
7741 { 94.848124287773530, 5.0000000000000000, 5.0000000000000000,
7742 8.0000000000000000, 0.80000000000000004 },
7743 { 523.16034401517425, 5.0000000000000000, 5.0000000000000000,
7744 8.0000000000000000, 0.89999999999999991 },
7746 const double toler164
= 2.5000000000000020e-13;
7748 // Test data for a=5.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
7749 // max(|f - f_GSL|): 9.9475983006414026e-14
7750 // max(|f - f_GSL| / |f_GSL|): 1.3163001721303592e-15
7751 const testcase_hyperg
<double>
7754 { 0.17885405888526873, 5.0000000000000000, 5.0000000000000000,
7755 10.000000000000000, -0.90000000000000002 },
7756 { 0.20861302518993391, 5.0000000000000000, 5.0000000000000000,
7757 10.000000000000000, -0.80000000000000004 },
7758 { 0.24504033307244946, 5.0000000000000000, 5.0000000000000000,
7759 10.000000000000000, -0.69999999999999996 },
7760 { 0.29007236051133489, 5.0000000000000000, 5.0000000000000000,
7761 10.000000000000000, -0.59999999999999998 },
7762 { 0.34635542859732737, 5.0000000000000000, 5.0000000000000000,
7763 10.000000000000000, -0.50000000000000000 },
7764 { 0.41756858504598376, 5.0000000000000000, 5.0000000000000000,
7765 10.000000000000000, -0.40000000000000002 },
7766 { 0.50892615622124371, 5.0000000000000000, 5.0000000000000000,
7767 10.000000000000000, -0.30000000000000004 },
7768 { 0.62798173270509761, 5.0000000000000000, 5.0000000000000000,
7769 10.000000000000000, -0.19999999999999996 },
7770 { 0.78595487360378424, 5.0000000000000000, 5.0000000000000000,
7771 10.000000000000000, -0.099999999999999978 },
7772 { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
7773 10.000000000000000, 0.0000000000000000 },
7774 { 1.2972517637384813, 5.0000000000000000, 5.0000000000000000,
7775 10.000000000000000, 0.10000000000000009 },
7776 { 1.7224028197396388, 5.0000000000000000, 5.0000000000000000,
7777 10.000000000000000, 0.19999999999999996 },
7778 { 2.3527690438263305, 5.0000000000000000, 5.0000000000000000,
7779 10.000000000000000, 0.30000000000000004 },
7780 { 3.3305218060101116, 5.0000000000000000, 5.0000000000000000,
7781 10.000000000000000, 0.39999999999999991 },
7782 { 4.9383884076775466, 5.0000000000000000, 5.0000000000000000,
7783 10.000000000000000, 0.50000000000000000 },
7784 { 7.8007604680775229, 5.0000000000000000, 5.0000000000000000,
7785 10.000000000000000, 0.60000000000000009 },
7786 { 13.518663719271885, 5.0000000000000000, 5.0000000000000000,
7787 10.000000000000000, 0.69999999999999996 },
7788 { 27.285345906502567, 5.0000000000000000, 5.0000000000000000,
7789 10.000000000000000, 0.80000000000000004 },
7790 { 75.572415101501988, 5.0000000000000000, 5.0000000000000000,
7791 10.000000000000000, 0.89999999999999991 },
7793 const double toler165
= 2.5000000000000020e-13;
7795 // Test data for a=5.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
7796 // max(|f - f_GSL|): 0.81250000000000000
7797 // max(|f - f_GSL| / |f_GSL|): 1.8182428501096805e-15
7798 const testcase_hyperg
<double>
7801 { 0.00063586451658060813, 5.0000000000000000, 10.000000000000000,
7802 2.0000000000000000, -0.90000000000000002 },
7803 { 0.0010334743461763829, 5.0000000000000000, 10.000000000000000,
7804 2.0000000000000000, -0.80000000000000004 },
7805 { 0.0015326246054669763, 5.0000000000000000, 10.000000000000000,
7806 2.0000000000000000, -0.69999999999999996 },
7807 { 0.0019007018181583513, 5.0000000000000000, 10.000000000000000,
7808 2.0000000000000000, -0.59999999999999998 },
7809 { 0.0012845577715431562, 5.0000000000000000, 10.000000000000000,
7810 2.0000000000000000, -0.50000000000000000 },
7811 { -0.0027213806178057538, 5.0000000000000000, 10.000000000000000,
7812 2.0000000000000000, -0.40000000000000002 },
7813 { -0.015121744574954058, 5.0000000000000000, 10.000000000000000,
7814 2.0000000000000000, -0.30000000000000004 },
7815 { -0.036637840562974290, 5.0000000000000000, 10.000000000000000,
7816 2.0000000000000000, -0.19999999999999996 },
7817 { 0.019117849062621605, 5.0000000000000000, 10.000000000000000,
7818 2.0000000000000000, -0.099999999999999978 },
7819 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
7820 2.0000000000000000, 0.0000000000000000 },
7821 { 9.8116901852350615, 5.0000000000000000, 10.000000000000000,
7822 2.0000000000000000, 0.10000000000000009 },
7823 { 84.255589172244044, 5.0000000000000000, 10.000000000000000,
7824 2.0000000000000000, 0.19999999999999996 },
7825 { 773.87517619421294, 5.0000000000000000, 10.000000000000000,
7826 2.0000000000000000, 0.30000000000000004 },
7827 { 8556.9725363053585, 5.0000000000000000, 10.000000000000000,
7828 2.0000000000000000, 0.39999999999999991 },
7829 { 129023.99999999996, 5.0000000000000000, 10.000000000000000,
7830 2.0000000000000000, 0.50000000000000000 },
7831 { 3174543.3807373112, 5.0000000000000000, 10.000000000000000,
7832 2.0000000000000000, 0.60000000000000009 },
7833 { 175133896.95814410, 5.0000000000000000, 10.000000000000000,
7834 2.0000000000000000, 0.69999999999999996 },
7835 { 43564453125.000061, 5.0000000000000000, 10.000000000000000,
7836 2.0000000000000000, 0.80000000000000004 },
7837 { 446859999999993.50, 5.0000000000000000, 10.000000000000000,
7838 2.0000000000000000, 0.89999999999999991 },
7840 const double toler166
= 2.5000000000000020e-13;
7842 // Test data for a=5.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
7843 // max(|f - f_GSL|): 0.00039672851562500000
7844 // max(|f - f_GSL| / |f_GSL|): 1.6882064494681041e-15
7845 const testcase_hyperg
<double>
7848 { -0.00030045430691814646, 5.0000000000000000, 10.000000000000000,
7849 4.0000000000000000, -0.90000000000000002 },
7850 { -0.00031119487747322054, 5.0000000000000000, 10.000000000000000,
7851 4.0000000000000000, -0.80000000000000004 },
7852 { -0.00014589213141656318, 5.0000000000000000, 10.000000000000000,
7853 4.0000000000000000, -0.69999999999999996 },
7854 { 0.00056843418860824636, 5.0000000000000000, 10.000000000000000,
7855 4.0000000000000000, -0.59999999999999998 },
7856 { 0.0028902549859721747, 5.0000000000000000, 10.000000000000000,
7857 4.0000000000000000, -0.50000000000000000 },
7858 { 0.0098776037238878477, 5.0000000000000000, 10.000000000000000,
7859 4.0000000000000000, -0.40000000000000002 },
7860 { 0.030689217428863869, 5.0000000000000000, 10.000000000000000,
7861 4.0000000000000000, -0.30000000000000004 },
7862 { 0.094211590019076558, 5.0000000000000000, 10.000000000000000,
7863 4.0000000000000000, -0.19999999999999996 },
7864 { 0.29791981455918370, 5.0000000000000000, 10.000000000000000,
7865 4.0000000000000000, -0.099999999999999978 },
7866 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
7867 4.0000000000000000, 0.0000000000000000 },
7868 { 3.6646308771236793, 5.0000000000000000, 10.000000000000000,
7869 4.0000000000000000, 0.10000000000000009 },
7870 { 15.133991837501521, 5.0000000000000000, 10.000000000000000,
7871 4.0000000000000000, 0.19999999999999996 },
7872 { 73.331330046144089, 5.0000000000000000, 10.000000000000000,
7873 4.0000000000000000, 0.30000000000000004 },
7874 { 441.01791167787133, 5.0000000000000000, 10.000000000000000,
7875 4.0000000000000000, 0.39999999999999991 },
7876 { 3583.9999999999991, 5.0000000000000000, 10.000000000000000,
7877 4.0000000000000000, 0.50000000000000000 },
7878 { 45299.530029296984, 5.0000000000000000, 10.000000000000000,
7879 4.0000000000000000, 0.60000000000000009 },
7880 { 1157231.0002427341, 5.0000000000000000, 10.000000000000000,
7881 4.0000000000000000, 0.69999999999999996 },
7882 { 107421875.00000016, 5.0000000000000000, 10.000000000000000,
7883 4.0000000000000000, 0.80000000000000004 },
7884 { 234999999999.99734, 5.0000000000000000, 10.000000000000000,
7885 4.0000000000000000, 0.89999999999999991 },
7887 const double toler167
= 2.5000000000000020e-13;
7889 // Test data for a=5.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
7890 // max(|f - f_GSL|): 9.5367431640625000e-07
7891 // max(|f - f_GSL| / |f_GSL|): 1.6314276114917867e-15
7892 const testcase_hyperg
<double>
7895 { 0.0058530497315413248, 5.0000000000000000, 10.000000000000000,
7896 6.0000000000000000, -0.90000000000000002 },
7897 { 0.0088526869356855397, 5.0000000000000000, 10.000000000000000,
7898 6.0000000000000000, -0.80000000000000004 },
7899 { 0.013770987983442959, 5.0000000000000000, 10.000000000000000,
7900 6.0000000000000000, -0.69999999999999996 },
7901 { 0.022108932690960776, 5.0000000000000000, 10.000000000000000,
7902 6.0000000000000000, -0.59999999999999998 },
7903 { 0.036786236450921550, 5.0000000000000000, 10.000000000000000,
7904 6.0000000000000000, -0.50000000000000000 },
7905 { 0.063750669040426505, 5.0000000000000000, 10.000000000000000,
7906 6.0000000000000000, -0.40000000000000002 },
7907 { 0.11577228680714462, 5.0000000000000000, 10.000000000000000,
7908 6.0000000000000000, -0.30000000000000004 },
7909 { 0.22197573416125760, 5.0000000000000000, 10.000000000000000,
7910 6.0000000000000000, -0.19999999999999996 },
7911 { 0.45361312968415324, 5.0000000000000000, 10.000000000000000,
7912 6.0000000000000000, -0.099999999999999978 },
7913 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
7914 6.0000000000000000, 0.0000000000000000 },
7915 { 2.4162889363082747, 5.0000000000000000, 10.000000000000000,
7916 6.0000000000000000, 0.10000000000000009 },
7917 { 6.5381564791240399, 5.0000000000000000, 10.000000000000000,
7918 6.0000000000000000, 0.19999999999999996 },
7919 { 20.415771011498428, 5.0000000000000000, 10.000000000000000,
7920 6.0000000000000000, 0.30000000000000004 },
7921 { 76.870682056629221, 5.0000000000000000, 10.000000000000000,
7922 6.0000000000000000, 0.39999999999999991 },
7923 { 373.58730158730162, 5.0000000000000000, 10.000000000000000,
7924 6.0000000000000000, 0.50000000000000000 },
7925 { 2626.2555803571477, 5.0000000000000000, 10.000000000000000,
7926 6.0000000000000000, 0.60000000000000009 },
7927 { 33060.960671081048, 5.0000000000000000, 10.000000000000000,
7928 6.0000000000000000, 0.69999999999999996 },
7929 { 1203521.8253968258, 5.0000000000000000, 10.000000000000000,
7930 6.0000000000000000, 0.80000000000000004 },
7931 { 584564285.71427989, 5.0000000000000000, 10.000000000000000,
7932 6.0000000000000000, 0.89999999999999991 },
7934 const double toler168
= 2.5000000000000020e-13;
7936 // Test data for a=5.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
7937 // max(|f - f_GSL|): 7.4505805969238281e-09
7938 // max(|f - f_GSL| / |f_GSL|): 1.6196914341138888e-15
7939 const testcase_hyperg
<double>
7942 { 0.020248990107069573, 5.0000000000000000, 10.000000000000000,
7943 8.0000000000000000, -0.90000000000000002 },
7944 { 0.027876687750502366, 5.0000000000000000, 10.000000000000000,
7945 8.0000000000000000, -0.80000000000000004 },
7946 { 0.039154648888447607, 5.0000000000000000, 10.000000000000000,
7947 8.0000000000000000, -0.69999999999999996 },
7948 { 0.056251883506774715, 5.0000000000000000, 10.000000000000000,
7949 8.0000000000000000, -0.59999999999999998 },
7950 { 0.082914189910074473, 5.0000000000000000, 10.000000000000000,
7951 8.0000000000000000, -0.50000000000000000 },
7952 { 0.12585357817786455, 5.0000000000000000, 10.000000000000000,
7953 8.0000000000000000, -0.40000000000000002 },
7954 { 0.19761423206224954, 5.0000000000000000, 10.000000000000000,
7955 8.0000000000000000, -0.30000000000000004 },
7956 { 0.32280443863359237, 5.0000000000000000, 10.000000000000000,
7957 8.0000000000000000, -0.19999999999999996 },
7958 { 0.55250024062839420, 5.0000000000000000, 10.000000000000000,
7959 8.0000000000000000, -0.099999999999999978 },
7960 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
7961 8.0000000000000000, 0.0000000000000000 },
7962 { 1.9374297986599267, 5.0000000000000000, 10.000000000000000,
7963 8.0000000000000000, 0.10000000000000009 },
7964 { 4.0849049886067696, 5.0000000000000000, 10.000000000000000,
7965 8.0000000000000000, 0.19999999999999996 },
7966 { 9.5926988633258983, 5.0000000000000000, 10.000000000000000,
7967 8.0000000000000000, 0.30000000000000004 },
7968 { 25.958314281359531, 5.0000000000000000, 10.000000000000000,
7969 8.0000000000000000, 0.39999999999999991 },
7970 { 85.333333333333300, 5.0000000000000000, 10.000000000000000,
7971 8.0000000000000000, 0.50000000000000000 },
7972 { 372.31445312500028, 5.0000000000000000, 10.000000000000000,
7973 8.0000000000000000, 0.60000000000000009 },
7974 { 2545.3436976070675, 5.0000000000000000, 10.000000000000000,
7975 8.0000000000000000, 0.69999999999999996 },
7976 { 39583.333333333343, 5.0000000000000000, 10.000000000000000,
7977 8.0000000000000000, 0.80000000000000004 },
7978 { 4599999.9999999627, 5.0000000000000000, 10.000000000000000,
7979 8.0000000000000000, 0.89999999999999991 },
7981 const double toler169
= 2.5000000000000020e-13;
7983 // Test data for a=5.0000000000000000, b=10.000000000000000, c=10.000000000000000.
7984 // max(|f - f_GSL|): 1.1641532182693481e-10
7985 // max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
7986 const testcase_hyperg
<double>
7989 { 0.040386107340619266, 5.0000000000000000, 10.000000000000000,
7990 10.000000000000000, -0.90000000000000002 },
7991 { 0.052922149401344633, 5.0000000000000000, 10.000000000000000,
7992 10.000000000000000, -0.80000000000000004 },
7993 { 0.070429627772374270, 5.0000000000000000, 10.000000000000000,
7994 10.000000000000000, -0.69999999999999996 },
7995 { 0.095367431640624972, 5.0000000000000000, 10.000000000000000,
7996 10.000000000000000, -0.59999999999999998 },
7997 { 0.13168724279835387, 5.0000000000000000, 10.000000000000000,
7998 10.000000000000000, -0.50000000000000000 },
7999 { 0.18593443208187066, 5.0000000000000000, 10.000000000000000,
8000 10.000000000000000, -0.40000000000000002 },
8001 { 0.26932907434290437, 5.0000000000000000, 10.000000000000000,
8002 10.000000000000000, -0.30000000000000004 },
8003 { 0.40187757201646096, 5.0000000000000000, 10.000000000000000,
8004 10.000000000000000, -0.19999999999999996 },
8005 { 0.62092132305915493, 5.0000000000000000, 10.000000000000000,
8006 10.000000000000000, -0.099999999999999978 },
8007 { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
8008 10.000000000000000, 0.0000000000000000 },
8009 { 1.6935087808430296, 5.0000000000000000, 10.000000000000000,
8010 10.000000000000000, 0.10000000000000009 },
8011 { 3.0517578124999991, 5.0000000000000000, 10.000000000000000,
8012 10.000000000000000, 0.19999999999999996 },
8013 { 5.9499018266198629, 5.0000000000000000, 10.000000000000000,
8014 10.000000000000000, 0.30000000000000004 },
8015 { 12.860082304526737, 5.0000000000000000, 10.000000000000000,
8016 10.000000000000000, 0.39999999999999991 },
8017 { 32.000000000000000, 5.0000000000000000, 10.000000000000000,
8018 10.000000000000000, 0.50000000000000000 },
8019 { 97.656250000000114, 5.0000000000000000, 10.000000000000000,
8020 10.000000000000000, 0.60000000000000009 },
8021 { 411.52263374485580, 5.0000000000000000, 10.000000000000000,
8022 10.000000000000000, 0.69999999999999996 },
8023 { 3124.9999999999991, 5.0000000000000000, 10.000000000000000,
8024 10.000000000000000, 0.80000000000000004 },
8025 { 99999.999999999665, 5.0000000000000000, 10.000000000000000,
8026 10.000000000000000, 0.89999999999999991 },
8028 const double toler170
= 2.5000000000000020e-13;
8030 // Test data for a=5.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
8031 // max(|f - f_GSL|): 60129542144.000000
8032 // max(|f - f_GSL| / |f_GSL|): 2.0181355730233454e-15
8033 const testcase_hyperg
<double>
8036 { -1.8650300348790099e-05, 5.0000000000000000, 20.000000000000000,
8037 2.0000000000000000, -0.90000000000000002 },
8038 { -3.6488008415371319e-05, 5.0000000000000000, 20.000000000000000,
8039 2.0000000000000000, -0.80000000000000004 },
8040 { -6.4614776410961038e-05, 5.0000000000000000, 20.000000000000000,
8041 2.0000000000000000, -0.69999999999999996 },
8042 { -8.4495207102246549e-05, 5.0000000000000000, 20.000000000000000,
8043 2.0000000000000000, -0.59999999999999998 },
8044 { 2.2276197023825424e-05, 5.0000000000000000, 20.000000000000000,
8045 2.0000000000000000, -0.50000000000000000 },
8046 { 0.00070736115111447856, 5.0000000000000000, 20.000000000000000,
8047 2.0000000000000000, -0.40000000000000002 },
8048 { 0.0027829732057273854, 5.0000000000000000, 20.000000000000000,
8049 2.0000000000000000, -0.30000000000000004 },
8050 { 0.0013283545664371644, 5.0000000000000000, 20.000000000000000,
8051 2.0000000000000000, -0.19999999999999996 },
8052 { -0.041767631015048774, 5.0000000000000000, 20.000000000000000,
8053 2.0000000000000000, -0.099999999999999978 },
8054 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8055 2.0000000000000000, 0.0000000000000000 },
8056 { 61.311496556100003, 5.0000000000000000, 20.000000000000000,
8057 2.0000000000000000, 0.10000000000000009 },
8058 { 2397.4420539085681, 5.0000000000000000, 20.000000000000000,
8059 2.0000000000000000, 0.19999999999999996 },
8060 { 103687.60998586559, 5.0000000000000000, 20.000000000000000,
8061 2.0000000000000000, 0.30000000000000004 },
8062 { 6247196.6451068865, 5.0000000000000000, 20.000000000000000,
8063 2.0000000000000000, 0.39999999999999991 },
8064 { 656408576.00000000, 5.0000000000000000, 20.000000000000000,
8065 2.0000000000000000, 0.50000000000000000 },
8066 { 165334768098.54715, 5.0000000000000000, 20.000000000000000,
8067 2.0000000000000000, 0.60000000000000009 },
8068 { 175097125520816.81, 5.0000000000000000, 20.000000000000000,
8069 2.0000000000000000, 0.69999999999999996 },
8070 { 2.6818275451660257e+18, 5.0000000000000000, 20.000000000000000,
8071 2.0000000000000000, 0.80000000000000004 },
8072 { 2.9794599999999321e+25, 5.0000000000000000, 20.000000000000000,
8073 2.0000000000000000, 0.89999999999999991 },
8075 const double toler171
= 2.5000000000000020e-13;
8077 // Test data for a=5.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
8078 // max(|f - f_GSL|): 9437184.0000000000
8079 // max(|f - f_GSL| / |f_GSL|): 2.0515617391304744e-15
8080 const testcase_hyperg
<double>
8083 { -3.6403884516313627e-06, 5.0000000000000000, 20.000000000000000,
8084 4.0000000000000000, -0.90000000000000002 },
8085 { -9.5873829246491408e-06, 5.0000000000000000, 20.000000000000000,
8086 4.0000000000000000, -0.80000000000000004 },
8087 { -2.6052245147200097e-05, 5.0000000000000000, 20.000000000000000,
8088 4.0000000000000000, -0.69999999999999996 },
8089 { -7.2378303598384501e-05, 5.0000000000000000, 20.000000000000000,
8090 4.0000000000000000, -0.59999999999999998 },
8091 { -0.00020048577321417379, 5.0000000000000000, 20.000000000000000,
8092 4.0000000000000000, -0.50000000000000000 },
8093 { -0.00051222704046227391, 5.0000000000000000, 20.000000000000000,
8094 4.0000000000000000, -0.40000000000000002 },
8095 { -0.00080950511491898055, 5.0000000000000000, 20.000000000000000,
8096 4.0000000000000000, -0.30000000000000004 },
8097 { 0.0043473422174314250, 5.0000000000000000, 20.000000000000000,
8098 4.0000000000000000, -0.19999999999999996 },
8099 { 0.081078342558623853, 5.0000000000000000, 20.000000000000000,
8100 4.0000000000000000, -0.099999999999999978 },
8101 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8102 4.0000000000000000, 0.0000000000000000 },
8103 { 12.794854084397739, 5.0000000000000000, 20.000000000000000,
8104 4.0000000000000000, 0.10000000000000009 },
8105 { 195.15639104739046, 5.0000000000000000, 20.000000000000000,
8106 4.0000000000000000, 0.19999999999999996 },
8107 { 3938.7991953190131, 5.0000000000000000, 20.000000000000000,
8108 4.0000000000000000, 0.30000000000000004 },
8109 { 118521.48653762060, 5.0000000000000000, 20.000000000000000,
8110 4.0000000000000000, 0.39999999999999991 },
8111 { 6291455.9999999972, 5.0000000000000000, 20.000000000000000,
8112 4.0000000000000000, 0.50000000000000000 },
8113 { 773070496.50699198, 5.0000000000000000, 20.000000000000000,
8114 4.0000000000000000, 0.60000000000000009 },
8115 { 363276452167.04102, 5.0000000000000000, 20.000000000000000,
8116 4.0000000000000000, 0.69999999999999996 },
8117 { 2002716064453133.0, 5.0000000000000000, 20.000000000000000,
8118 4.0000000000000000, 0.80000000000000004 },
8119 { 4.5999999999999109e+21, 5.0000000000000000, 20.000000000000000,
8120 4.0000000000000000, 0.89999999999999991 },
8122 const double toler172
= 2.5000000000000020e-13;
8124 // Test data for a=5.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
8125 // max(|f - f_GSL|): 5120.0000000000000
8126 // max(|f - f_GSL| / |f_GSL|): 1.7944916193878923e-15
8127 const testcase_hyperg
<double>
8130 { 0.00014313323624053599, 5.0000000000000000, 20.000000000000000,
8131 6.0000000000000000, -0.90000000000000002 },
8132 { 0.00025426183473118769, 5.0000000000000000, 20.000000000000000,
8133 6.0000000000000000, -0.80000000000000004 },
8134 { 0.00048255612836437054, 5.0000000000000000, 20.000000000000000,
8135 6.0000000000000000, -0.69999999999999996 },
8136 { 0.00099096904674794185, 5.0000000000000000, 20.000000000000000,
8137 6.0000000000000000, -0.59999999999999998 },
8138 { 0.0022347805521915616, 5.0000000000000000, 20.000000000000000,
8139 6.0000000000000000, -0.50000000000000000 },
8140 { 0.0056271390060292845, 5.0000000000000000, 20.000000000000000,
8141 6.0000000000000000, -0.40000000000000002 },
8142 { 0.016109059519227316, 5.0000000000000000, 20.000000000000000,
8143 6.0000000000000000, -0.30000000000000004 },
8144 { 0.053453465775609076, 5.0000000000000000, 20.000000000000000,
8145 6.0000000000000000, -0.19999999999999996 },
8146 { 0.20995202901839263, 5.0000000000000000, 20.000000000000000,
8147 6.0000000000000000, -0.099999999999999978 },
8148 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8149 6.0000000000000000, 0.0000000000000000 },
8150 { 5.9534372167648799, 5.0000000000000000, 20.000000000000000,
8151 6.0000000000000000, 0.10000000000000009 },
8152 { 46.157632071205875, 5.0000000000000000, 20.000000000000000,
8153 6.0000000000000000, 0.19999999999999996 },
8154 { 494.32074431164915, 5.0000000000000000, 20.000000000000000,
8155 6.0000000000000000, 0.30000000000000004 },
8156 { 7989.5277611775946, 5.0000000000000000, 20.000000000000000,
8157 6.0000000000000000, 0.39999999999999991 },
8158 { 224179.55830753347, 5.0000000000000000, 20.000000000000000,
8159 6.0000000000000000, 0.50000000000000000 },
8160 { 13848144.485282511, 5.0000000000000000, 20.000000000000000,
8161 6.0000000000000000, 0.60000000000000009 },
8162 { 2948587692.8891716, 5.0000000000000000, 20.000000000000000,
8163 6.0000000000000000, 0.69999999999999996 },
8164 { 5940513286161.6602, 5.0000000000000000, 20.000000000000000,
8165 6.0000000000000000, 0.80000000000000004 },
8166 { 2.8531757655945201e+18, 5.0000000000000000, 20.000000000000000,
8167 6.0000000000000000, 0.89999999999999991 },
8169 const double toler173
= 2.5000000000000020e-13;
8171 // Test data for a=5.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
8172 // max(|f - f_GSL|): 7.0000000000000000
8173 // max(|f - f_GSL| / |f_GSL|): 1.5351977183414298e-15
8174 const testcase_hyperg
<double>
8177 { 0.0012492049968744917, 5.0000000000000000, 20.000000000000000,
8178 8.0000000000000000, -0.90000000000000002 },
8179 { 0.0019931241968014200, 5.0000000000000000, 20.000000000000000,
8180 8.0000000000000000, -0.80000000000000004 },
8181 { 0.0033203386861410844, 5.0000000000000000, 20.000000000000000,
8182 8.0000000000000000, -0.69999999999999996 },
8183 { 0.0058191894509856774, 5.0000000000000000, 20.000000000000000,
8184 8.0000000000000000, -0.59999999999999998 },
8185 { 0.010830090368313864, 5.0000000000000000, 20.000000000000000,
8186 8.0000000000000000, -0.50000000000000000 },
8187 { 0.021653062305192875, 5.0000000000000000, 20.000000000000000,
8188 8.0000000000000000, -0.40000000000000002 },
8189 { 0.047180821280919043, 5.0000000000000000, 20.000000000000000,
8190 8.0000000000000000, -0.30000000000000004 },
8191 { 0.11405637279736212, 5.0000000000000000, 20.000000000000000,
8192 8.0000000000000000, -0.19999999999999996 },
8193 { 0.31275468794721017, 5.0000000000000000, 20.000000000000000,
8194 8.0000000000000000, -0.099999999999999978 },
8195 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8196 8.0000000000000000, 0.0000000000000000 },
8197 { 3.8598904658643969, 5.0000000000000000, 20.000000000000000,
8198 8.0000000000000000, 0.10000000000000009 },
8199 { 18.806301417906667, 5.0000000000000000, 20.000000000000000,
8200 8.0000000000000000, 0.19999999999999996 },
8201 { 122.77054465017432, 5.0000000000000000, 20.000000000000000,
8202 8.0000000000000000, 0.30000000000000004 },
8203 { 1168.4762146808946, 5.0000000000000000, 20.000000000000000,
8204 8.0000000000000000, 0.39999999999999991 },
8205 { 18437.511788521082, 5.0000000000000000, 20.000000000000000,
8206 8.0000000000000000, 0.50000000000000000 },
8207 { 597441.79669264762, 5.0000000000000000, 20.000000000000000,
8208 8.0000000000000000, 0.60000000000000009 },
8209 { 59390411.369227782, 5.0000000000000000, 20.000000000000000,
8210 8.0000000000000000, 0.69999999999999996 },
8211 { 44681668993.361603, 5.0000000000000000, 20.000000000000000,
8212 8.0000000000000000, 0.80000000000000004 },
8213 { 4559673269683164.0, 5.0000000000000000, 20.000000000000000,
8214 8.0000000000000000, 0.89999999999999991 },
8216 const double toler174
= 2.5000000000000020e-13;
8218 // Test data for a=5.0000000000000000, b=20.000000000000000, c=10.000000000000000.
8219 // max(|f - f_GSL|): 0.029296875000000000
8220 // max(|f - f_GSL| / |f_GSL|): 1.8717083246628922e-15
8221 const testcase_hyperg
<double>
8224 { 0.0038867957051370739, 5.0000000000000000, 20.000000000000000,
8225 10.000000000000000, -0.90000000000000002 },
8226 { 0.0058484892597364235, 5.0000000000000000, 20.000000000000000,
8227 10.000000000000000, -0.80000000000000004 },
8228 { 0.0090987656053758189, 5.0000000000000000, 20.000000000000000,
8229 10.000000000000000, -0.69999999999999996 },
8230 { 0.014714392537270657, 5.0000000000000000, 20.000000000000000,
8231 10.000000000000000, -0.59999999999999998 },
8232 { 0.024900404542056772, 5.0000000000000000, 20.000000000000000,
8233 10.000000000000000, -0.50000000000000000 },
8234 { 0.044460184663785027, 5.0000000000000000, 20.000000000000000,
8235 10.000000000000000, -0.40000000000000002 },
8236 { 0.084638849196356780, 5.0000000000000000, 20.000000000000000,
8237 10.000000000000000, -0.30000000000000004 },
8238 { 0.17409058241291026, 5.0000000000000000, 20.000000000000000,
8239 10.000000000000000, -0.19999999999999996 },
8240 { 0.39357055823580767, 5.0000000000000000, 20.000000000000000,
8241 10.000000000000000, -0.099999999999999978 },
8242 { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
8243 10.000000000000000, 0.0000000000000000 },
8244 { 2.9410794636226596, 5.0000000000000000, 20.000000000000000,
8245 10.000000000000000, 0.10000000000000009 },
8246 { 10.417226071414344, 5.0000000000000000, 20.000000000000000,
8247 10.000000000000000, 0.19999999999999996 },
8248 { 46.930585873140835, 5.0000000000000000, 20.000000000000000,
8249 10.000000000000000, 0.30000000000000004 },
8250 { 290.76717121814852, 5.0000000000000000, 20.000000000000000,
8251 10.000000000000000, 0.39999999999999991 },
8252 { 2788.1641083374830, 5.0000000000000000, 20.000000000000000,
8253 10.000000000000000, 0.50000000000000000 },
8254 { 50228.117718560752, 5.0000000000000000, 20.000000000000000,
8255 10.000000000000000, 0.60000000000000009 },
8256 { 2433042.3476752634, 5.0000000000000000, 20.000000000000000,
8257 10.000000000000000, 0.69999999999999996 },
8258 { 705345246.77141762, 5.0000000000000000, 20.000000000000000,
8259 10.000000000000000, 0.80000000000000004 },
8260 { 15652478868616.762, 5.0000000000000000, 20.000000000000000,
8261 10.000000000000000, 0.89999999999999991 },
8263 const double toler175
= 2.5000000000000020e-13;
8265 // Test data for a=10.000000000000000, b=0.0000000000000000, c=2.0000000000000000.
8266 // max(|f - f_GSL|): 0.0000000000000000
8267 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8268 const testcase_hyperg
<double>
8271 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8272 2.0000000000000000, -0.90000000000000002 },
8273 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8274 2.0000000000000000, -0.80000000000000004 },
8275 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8276 2.0000000000000000, -0.69999999999999996 },
8277 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8278 2.0000000000000000, -0.59999999999999998 },
8279 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8280 2.0000000000000000, -0.50000000000000000 },
8281 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8282 2.0000000000000000, -0.40000000000000002 },
8283 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8284 2.0000000000000000, -0.30000000000000004 },
8285 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8286 2.0000000000000000, -0.19999999999999996 },
8287 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8288 2.0000000000000000, -0.099999999999999978 },
8289 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8290 2.0000000000000000, 0.0000000000000000 },
8291 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8292 2.0000000000000000, 0.10000000000000009 },
8293 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8294 2.0000000000000000, 0.19999999999999996 },
8295 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8296 2.0000000000000000, 0.30000000000000004 },
8297 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8298 2.0000000000000000, 0.39999999999999991 },
8299 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8300 2.0000000000000000, 0.50000000000000000 },
8301 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8302 2.0000000000000000, 0.60000000000000009 },
8303 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8304 2.0000000000000000, 0.69999999999999996 },
8305 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8306 2.0000000000000000, 0.80000000000000004 },
8307 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8308 2.0000000000000000, 0.89999999999999991 },
8310 const double toler176
= 2.5000000000000020e-13;
8312 // Test data for a=10.000000000000000, b=0.0000000000000000, c=4.0000000000000000.
8313 // max(|f - f_GSL|): 0.0000000000000000
8314 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8315 const testcase_hyperg
<double>
8318 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8319 4.0000000000000000, -0.90000000000000002 },
8320 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8321 4.0000000000000000, -0.80000000000000004 },
8322 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8323 4.0000000000000000, -0.69999999999999996 },
8324 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8325 4.0000000000000000, -0.59999999999999998 },
8326 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8327 4.0000000000000000, -0.50000000000000000 },
8328 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8329 4.0000000000000000, -0.40000000000000002 },
8330 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8331 4.0000000000000000, -0.30000000000000004 },
8332 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8333 4.0000000000000000, -0.19999999999999996 },
8334 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8335 4.0000000000000000, -0.099999999999999978 },
8336 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8337 4.0000000000000000, 0.0000000000000000 },
8338 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8339 4.0000000000000000, 0.10000000000000009 },
8340 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8341 4.0000000000000000, 0.19999999999999996 },
8342 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8343 4.0000000000000000, 0.30000000000000004 },
8344 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8345 4.0000000000000000, 0.39999999999999991 },
8346 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8347 4.0000000000000000, 0.50000000000000000 },
8348 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8349 4.0000000000000000, 0.60000000000000009 },
8350 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8351 4.0000000000000000, 0.69999999999999996 },
8352 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8353 4.0000000000000000, 0.80000000000000004 },
8354 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8355 4.0000000000000000, 0.89999999999999991 },
8357 const double toler177
= 2.5000000000000020e-13;
8359 // Test data for a=10.000000000000000, b=0.0000000000000000, c=6.0000000000000000.
8360 // max(|f - f_GSL|): 0.0000000000000000
8361 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8362 const testcase_hyperg
<double>
8365 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8366 6.0000000000000000, -0.90000000000000002 },
8367 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8368 6.0000000000000000, -0.80000000000000004 },
8369 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8370 6.0000000000000000, -0.69999999999999996 },
8371 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8372 6.0000000000000000, -0.59999999999999998 },
8373 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8374 6.0000000000000000, -0.50000000000000000 },
8375 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8376 6.0000000000000000, -0.40000000000000002 },
8377 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8378 6.0000000000000000, -0.30000000000000004 },
8379 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8380 6.0000000000000000, -0.19999999999999996 },
8381 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8382 6.0000000000000000, -0.099999999999999978 },
8383 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8384 6.0000000000000000, 0.0000000000000000 },
8385 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8386 6.0000000000000000, 0.10000000000000009 },
8387 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8388 6.0000000000000000, 0.19999999999999996 },
8389 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8390 6.0000000000000000, 0.30000000000000004 },
8391 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8392 6.0000000000000000, 0.39999999999999991 },
8393 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8394 6.0000000000000000, 0.50000000000000000 },
8395 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8396 6.0000000000000000, 0.60000000000000009 },
8397 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8398 6.0000000000000000, 0.69999999999999996 },
8399 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8400 6.0000000000000000, 0.80000000000000004 },
8401 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8402 6.0000000000000000, 0.89999999999999991 },
8404 const double toler178
= 2.5000000000000020e-13;
8406 // Test data for a=10.000000000000000, b=0.0000000000000000, c=8.0000000000000000.
8407 // max(|f - f_GSL|): 0.0000000000000000
8408 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8409 const testcase_hyperg
<double>
8412 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8413 8.0000000000000000, -0.90000000000000002 },
8414 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8415 8.0000000000000000, -0.80000000000000004 },
8416 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8417 8.0000000000000000, -0.69999999999999996 },
8418 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8419 8.0000000000000000, -0.59999999999999998 },
8420 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8421 8.0000000000000000, -0.50000000000000000 },
8422 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8423 8.0000000000000000, -0.40000000000000002 },
8424 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8425 8.0000000000000000, -0.30000000000000004 },
8426 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8427 8.0000000000000000, -0.19999999999999996 },
8428 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8429 8.0000000000000000, -0.099999999999999978 },
8430 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8431 8.0000000000000000, 0.0000000000000000 },
8432 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8433 8.0000000000000000, 0.10000000000000009 },
8434 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8435 8.0000000000000000, 0.19999999999999996 },
8436 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8437 8.0000000000000000, 0.30000000000000004 },
8438 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8439 8.0000000000000000, 0.39999999999999991 },
8440 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8441 8.0000000000000000, 0.50000000000000000 },
8442 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8443 8.0000000000000000, 0.60000000000000009 },
8444 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8445 8.0000000000000000, 0.69999999999999996 },
8446 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8447 8.0000000000000000, 0.80000000000000004 },
8448 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8449 8.0000000000000000, 0.89999999999999991 },
8451 const double toler179
= 2.5000000000000020e-13;
8453 // Test data for a=10.000000000000000, b=0.0000000000000000, c=10.000000000000000.
8454 // max(|f - f_GSL|): 0.0000000000000000
8455 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
8456 const testcase_hyperg
<double>
8459 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8460 10.000000000000000, -0.90000000000000002 },
8461 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8462 10.000000000000000, -0.80000000000000004 },
8463 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8464 10.000000000000000, -0.69999999999999996 },
8465 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8466 10.000000000000000, -0.59999999999999998 },
8467 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8468 10.000000000000000, -0.50000000000000000 },
8469 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8470 10.000000000000000, -0.40000000000000002 },
8471 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8472 10.000000000000000, -0.30000000000000004 },
8473 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8474 10.000000000000000, -0.19999999999999996 },
8475 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8476 10.000000000000000, -0.099999999999999978 },
8477 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8478 10.000000000000000, 0.0000000000000000 },
8479 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8480 10.000000000000000, 0.10000000000000009 },
8481 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8482 10.000000000000000, 0.19999999999999996 },
8483 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8484 10.000000000000000, 0.30000000000000004 },
8485 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8486 10.000000000000000, 0.39999999999999991 },
8487 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8488 10.000000000000000, 0.50000000000000000 },
8489 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8490 10.000000000000000, 0.60000000000000009 },
8491 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8492 10.000000000000000, 0.69999999999999996 },
8493 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8494 10.000000000000000, 0.80000000000000004 },
8495 { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
8496 10.000000000000000, 0.89999999999999991 },
8498 const double toler180
= 2.5000000000000020e-13;
8500 // Test data for a=10.000000000000000, b=0.50000000000000000, c=2.0000000000000000.
8501 // max(|f - f_GSL|): 1.4901161193847656e-08
8502 // max(|f - f_GSL| / |f_GSL|): 1.8229127098648091e-15
8503 const testcase_hyperg
<double>
8506 { 0.37727530159464628, 10.000000000000000, 0.50000000000000000,
8507 2.0000000000000000, -0.90000000000000002 },
8508 { 0.39816010922169059, 10.000000000000000, 0.50000000000000000,
8509 2.0000000000000000, -0.80000000000000004 },
8510 { 0.42283703041362447, 10.000000000000000, 0.50000000000000000,
8511 2.0000000000000000, -0.69999999999999996 },
8512 { 0.45255640448730527, 10.000000000000000, 0.50000000000000000,
8513 2.0000000000000000, -0.59999999999999998 },
8514 { 0.48919507154431119, 10.000000000000000, 0.50000000000000000,
8515 2.0000000000000000, -0.50000000000000000 },
8516 { 0.53569358917731924, 10.000000000000000, 0.50000000000000000,
8517 2.0000000000000000, -0.40000000000000002 },
8518 { 0.59689778897029544, 10.000000000000000, 0.50000000000000000,
8519 2.0000000000000000, -0.30000000000000004 },
8520 { 0.68128587569875765, 10.000000000000000, 0.50000000000000000,
8521 2.0000000000000000, -0.19999999999999996 },
8522 { 0.80478739308790359, 10.000000000000000, 0.50000000000000000,
8523 2.0000000000000000, -0.099999999999999978 },
8524 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
8525 2.0000000000000000, 0.0000000000000000 },
8526 { 1.3408664196153621, 10.000000000000000, 0.50000000000000000,
8527 2.0000000000000000, 0.10000000000000009 },
8528 { 2.0175364359923860, 10.000000000000000, 0.50000000000000000,
8529 2.0000000000000000, 0.19999999999999996 },
8530 { 3.6011214553736646, 10.000000000000000, 0.50000000000000000,
8531 2.0000000000000000, 0.30000000000000004 },
8532 { 8.1799429939495312, 10.000000000000000, 0.50000000000000000,
8533 2.0000000000000000, 0.39999999999999991 },
8534 { 25.644834637536000, 10.000000000000000, 0.50000000000000000,
8535 2.0000000000000000, 0.50000000000000000 },
8536 { 123.13738891597615, 10.000000000000000, 0.50000000000000000,
8537 2.0000000000000000, 0.60000000000000009 },
8538 { 1088.7122410321333, 10.000000000000000, 0.50000000000000000,
8539 2.0000000000000000, 0.69999999999999996 },
8540 { 27358.291704709951, 10.000000000000000, 0.50000000000000000,
8541 2.0000000000000000, 0.80000000000000004 },
8542 { 8174369.0266731177, 10.000000000000000, 0.50000000000000000,
8543 2.0000000000000000, 0.89999999999999991 },
8545 const double toler181
= 2.5000000000000020e-13;
8547 // Test data for a=10.000000000000000, b=0.50000000000000000, c=4.0000000000000000.
8548 // max(|f - f_GSL|): 2.0008883439004421e-11
8549 // max(|f - f_GSL| / |f_GSL|): 1.5684473872214654e-15
8550 const testcase_hyperg
<double>
8553 { 0.53905528308450823, 10.000000000000000, 0.50000000000000000,
8554 4.0000000000000000, -0.90000000000000002 },
8555 { 0.56235533974376162, 10.000000000000000, 0.50000000000000000,
8556 4.0000000000000000, -0.80000000000000004 },
8557 { 0.58887657983263575, 10.000000000000000, 0.50000000000000000,
8558 4.0000000000000000, -0.69999999999999996 },
8559 { 0.61941227047262937, 10.000000000000000, 0.50000000000000000,
8560 4.0000000000000000, -0.59999999999999998 },
8561 { 0.65504896640793864, 10.000000000000000, 0.50000000000000000,
8562 4.0000000000000000, -0.50000000000000000 },
8563 { 0.69731666644529977, 10.000000000000000, 0.50000000000000000,
8564 4.0000000000000000, -0.40000000000000002 },
8565 { 0.74844073299399139, 10.000000000000000, 0.50000000000000000,
8566 4.0000000000000000, -0.30000000000000004 },
8567 { 0.81178446800105830, 10.000000000000000, 0.50000000000000000,
8568 4.0000000000000000, -0.19999999999999996 },
8569 { 0.89266981277598045, 10.000000000000000, 0.50000000000000000,
8570 4.0000000000000000, -0.099999999999999978 },
8571 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
8572 4.0000000000000000, 0.0000000000000000 },
8573 { 1.1497248473106778, 10.000000000000000, 0.50000000000000000,
8574 4.0000000000000000, 0.10000000000000009 },
8575 { 1.3729717112654571, 10.000000000000000, 0.50000000000000000,
8576 4.0000000000000000, 0.19999999999999996 },
8577 { 1.7374982340374392, 10.000000000000000, 0.50000000000000000,
8578 4.0000000000000000, 0.30000000000000004 },
8579 { 2.4134479340960580, 10.000000000000000, 0.50000000000000000,
8580 4.0000000000000000, 0.39999999999999991 },
8581 { 3.9191255240471192, 10.000000000000000, 0.50000000000000000,
8582 4.0000000000000000, 0.50000000000000000 },
8583 { 8.3316373077761270, 10.000000000000000, 0.50000000000000000,
8584 4.0000000000000000, 0.60000000000000009 },
8585 { 28.323020339843335, 10.000000000000000, 0.50000000000000000,
8586 4.0000000000000000, 0.69999999999999996 },
8587 { 225.84286572747891, 10.000000000000000, 0.50000000000000000,
8588 4.0000000000000000, 0.80000000000000004 },
8589 { 12757.127591286655, 10.000000000000000, 0.50000000000000000,
8590 4.0000000000000000, 0.89999999999999991 },
8592 const double toler182
= 2.5000000000000020e-13;
8594 // Test data for a=10.000000000000000, b=0.50000000000000000, c=6.0000000000000000.
8595 // max(|f - f_GSL|): 1.9895196601282805e-13
8596 // max(|f - f_GSL| / |f_GSL|): 1.4567107859209967e-15
8597 const testcase_hyperg
<double>
8600 { 0.62672622092226027, 10.000000000000000, 0.50000000000000000,
8601 6.0000000000000000, -0.90000000000000002 },
8602 { 0.64931010269769840, 10.000000000000000, 0.50000000000000000,
8603 6.0000000000000000, -0.80000000000000004 },
8604 { 0.67448067519076293, 10.000000000000000, 0.50000000000000000,
8605 6.0000000000000000, -0.69999999999999996 },
8606 { 0.70276306239803643, 10.000000000000000, 0.50000000000000000,
8607 6.0000000000000000, -0.59999999999999998 },
8608 { 0.73484179773087521, 10.000000000000000, 0.50000000000000000,
8609 6.0000000000000000, -0.50000000000000000 },
8610 { 0.77162761412743874, 10.000000000000000, 0.50000000000000000,
8611 6.0000000000000000, -0.40000000000000002 },
8612 { 0.81436116844816564, 10.000000000000000, 0.50000000000000000,
8613 6.0000000000000000, -0.30000000000000004 },
8614 { 0.86477994787944579, 10.000000000000000, 0.50000000000000000,
8615 6.0000000000000000, -0.19999999999999996 },
8616 { 0.92539820516603888, 10.000000000000000, 0.50000000000000000,
8617 6.0000000000000000, -0.099999999999999978 },
8618 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
8619 6.0000000000000000, 0.0000000000000000 },
8620 { 1.0945599448210315, 10.000000000000000, 0.50000000000000000,
8621 6.0000000000000000, 0.10000000000000009 },
8622 { 1.2190897395597264, 10.000000000000000, 0.50000000000000000,
8623 6.0000000000000000, 0.19999999999999996 },
8624 { 1.3916844336856475, 10.000000000000000, 0.50000000000000000,
8625 6.0000000000000000, 0.30000000000000004 },
8626 { 1.6484497630432013, 10.000000000000000, 0.50000000000000000,
8627 6.0000000000000000, 0.39999999999999991 },
8628 { 2.0717772717131155, 10.000000000000000, 0.50000000000000000,
8629 6.0000000000000000, 0.50000000000000000 },
8630 { 2.8893613630810924, 10.000000000000000, 0.50000000000000000,
8631 6.0000000000000000, 0.60000000000000009 },
8632 { 4.9459404075413529, 10.000000000000000, 0.50000000000000000,
8633 6.0000000000000000, 0.69999999999999996 },
8634 { 13.487394149998716, 10.000000000000000, 0.50000000000000000,
8635 6.0000000000000000, 0.80000000000000004 },
8636 { 136.57616044013972, 10.000000000000000, 0.50000000000000000,
8637 6.0000000000000000, 0.89999999999999991 },
8639 const double toler183
= 2.5000000000000020e-13;
8641 // Test data for a=10.000000000000000, b=0.50000000000000000, c=8.0000000000000000.
8642 // max(|f - f_GSL|): 1.2434497875801753e-14
8643 // max(|f - f_GSL| / |f_GSL|): 1.3245081211977836e-15
8644 const testcase_hyperg
<double>
8647 { 0.68421604440344319, 10.000000000000000, 0.50000000000000000,
8648 8.0000000000000000, -0.90000000000000002 },
8649 { 0.70548098055548925, 10.000000000000000, 0.50000000000000000,
8650 8.0000000000000000, -0.80000000000000004 },
8651 { 0.72884342311710337, 10.000000000000000, 0.50000000000000000,
8652 8.0000000000000000, -0.69999999999999996 },
8653 { 0.75466953437856232, 10.000000000000000, 0.50000000000000000,
8654 8.0000000000000000, -0.59999999999999998 },
8655 { 0.78342090924662589, 10.000000000000000, 0.50000000000000000,
8656 8.0000000000000000, -0.50000000000000000 },
8657 { 0.81568884278645082, 10.000000000000000, 0.50000000000000000,
8658 8.0000000000000000, -0.40000000000000002 },
8659 { 0.85224480241465239, 10.000000000000000, 0.50000000000000000,
8660 8.0000000000000000, -0.30000000000000004 },
8661 { 0.89411692571131685, 10.000000000000000, 0.50000000000000000,
8662 8.0000000000000000, -0.19999999999999996 },
8663 { 0.94270986892954811, 10.000000000000000, 0.50000000000000000,
8664 8.0000000000000000, -0.099999999999999978 },
8665 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
8666 8.0000000000000000, 0.0000000000000000 },
8667 { 1.0688682849120232, 10.000000000000000, 0.50000000000000000,
8668 8.0000000000000000, 0.10000000000000009 },
8669 { 1.1537004376097553, 10.000000000000000, 0.50000000000000000,
8670 8.0000000000000000, 0.19999999999999996 },
8671 { 1.2615455028370031, 10.000000000000000, 0.50000000000000000,
8672 8.0000000000000000, 0.30000000000000004 },
8673 { 1.4045541456153436, 10.000000000000000, 0.50000000000000000,
8674 8.0000000000000000, 0.39999999999999991 },
8675 { 1.6057216489444517, 10.000000000000000, 0.50000000000000000,
8676 8.0000000000000000, 0.50000000000000000 },
8677 { 1.9146603020550739, 10.000000000000000, 0.50000000000000000,
8678 8.0000000000000000, 0.60000000000000009 },
8679 { 2.4617931307620298, 10.000000000000000, 0.50000000000000000,
8680 8.0000000000000000, 0.69999999999999996 },
8681 { 3.7267799624996498, 10.000000000000000, 0.50000000000000000,
8682 8.0000000000000000, 0.80000000000000004 },
8683 { 9.3880118036248401, 10.000000000000000, 0.50000000000000000,
8684 8.0000000000000000, 0.89999999999999991 },
8686 const double toler184
= 2.5000000000000020e-13;
8688 // Test data for a=10.000000000000000, b=0.50000000000000000, c=10.000000000000000.
8689 // max(|f - f_GSL|): 4.4408920985006262e-16
8690 // max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
8691 const testcase_hyperg
<double>
8694 { 0.72547625011001171, 10.000000000000000, 0.50000000000000000,
8695 10.000000000000000, -0.90000000000000002 },
8696 { 0.74535599249992990, 10.000000000000000, 0.50000000000000000,
8697 10.000000000000000, -0.80000000000000004 },
8698 { 0.76696498884737041, 10.000000000000000, 0.50000000000000000,
8699 10.000000000000000, -0.69999999999999996 },
8700 { 0.79056941504209477, 10.000000000000000, 0.50000000000000000,
8701 10.000000000000000, -0.59999999999999998 },
8702 { 0.81649658092772603, 10.000000000000000, 0.50000000000000000,
8703 10.000000000000000, -0.50000000000000000 },
8704 { 0.84515425472851657, 10.000000000000000, 0.50000000000000000,
8705 10.000000000000000, -0.40000000000000002 },
8706 { 0.87705801930702920, 10.000000000000000, 0.50000000000000000,
8707 10.000000000000000, -0.30000000000000004 },
8708 { 0.91287092917527690, 10.000000000000000, 0.50000000000000000,
8709 10.000000000000000, -0.19999999999999996 },
8710 { 0.95346258924559224, 10.000000000000000, 0.50000000000000000,
8711 10.000000000000000, -0.099999999999999978 },
8712 { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
8713 10.000000000000000, 0.0000000000000000 },
8714 { 1.0540925533894598, 10.000000000000000, 0.50000000000000000,
8715 10.000000000000000, 0.10000000000000009 },
8716 { 1.1180339887498949, 10.000000000000000, 0.50000000000000000,
8717 10.000000000000000, 0.19999999999999996 },
8718 { 1.1952286093343938, 10.000000000000000, 0.50000000000000000,
8719 10.000000000000000, 0.30000000000000004 },
8720 { 1.2909944487358056, 10.000000000000000, 0.50000000000000000,
8721 10.000000000000000, 0.39999999999999991 },
8722 { 1.4142135623730949, 10.000000000000000, 0.50000000000000000,
8723 10.000000000000000, 0.50000000000000000 },
8724 { 1.5811388300841900, 10.000000000000000, 0.50000000000000000,
8725 10.000000000000000, 0.60000000000000009 },
8726 { 1.8257418583505536, 10.000000000000000, 0.50000000000000000,
8727 10.000000000000000, 0.69999999999999996 },
8728 { 2.2360679774997898, 10.000000000000000, 0.50000000000000000,
8729 10.000000000000000, 0.80000000000000004 },
8730 { 3.1622776601683782, 10.000000000000000, 0.50000000000000000,
8731 10.000000000000000, 0.89999999999999991 },
8733 const double toler185
= 2.5000000000000020e-13;
8735 // Test data for a=10.000000000000000, b=1.0000000000000000, c=2.0000000000000000.
8736 // max(|f - f_GSL|): 2.0861625671386719e-07
8737 // max(|f - f_GSL| / |f_GSL|): 1.6897916810721311e-15
8738 const testcase_hyperg
<double>
8741 { 0.12307420104127866, 10.000000000000000, 1.0000000000000000,
8742 2.0000000000000000, -0.90000000000000002 },
8743 { 0.13818870041457434, 10.000000000000000, 1.0000000000000000,
8744 2.0000000000000000, -0.80000000000000004 },
8745 { 0.15739165631811705, 10.000000000000000, 1.0000000000000000,
8746 2.0000000000000000, -0.69999999999999996 },
8747 { 0.18249038606882081, 10.000000000000000, 1.0000000000000000,
8748 2.0000000000000000, -0.59999999999999998 },
8749 { 0.21644171225027795, 10.000000000000000, 1.0000000000000000,
8750 2.0000000000000000, -0.50000000000000000 },
8751 { 0.26433326159804132, 10.000000000000000, 1.0000000000000000,
8752 2.0000000000000000, -0.40000000000000002 },
8753 { 0.33544459430654539, 10.000000000000000, 1.0000000000000000,
8754 2.0000000000000000, -0.30000000000000004 },
8755 { 0.44788516696232511, 10.000000000000000, 1.0000000000000000,
8756 2.0000000000000000, -0.19999999999999996 },
8757 { 0.63989153514168373, 10.000000000000000, 1.0000000000000000,
8758 2.0000000000000000, -0.099999999999999978 },
8759 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
8760 2.0000000000000000, 0.0000000000000000 },
8761 { 1.7568608796813312, 10.000000000000000, 1.0000000000000000,
8762 2.0000000000000000, 0.10000000000000009 },
8763 { 3.5836558871799027, 10.000000000000000, 1.0000000000000000,
8764 2.0000000000000000, 0.19999999999999996 },
8765 { 8.8077526749963226, 10.000000000000000, 1.0000000000000000,
8766 2.0000000000000000, 0.30000000000000004 },
8767 { 27.285841702089190, 10.000000000000000, 1.0000000000000000,
8768 2.0000000000000000, 0.39999999999999991 },
8769 { 113.55555555555557, 10.000000000000000, 1.0000000000000000,
8770 2.0000000000000000, 0.50000000000000000 },
8771 { 706.24023437500091, 10.000000000000000, 1.0000000000000000,
8772 2.0000000000000000, 0.60000000000000009 },
8773 { 8064.1687976651992, 10.000000000000000, 1.0000000000000000,
8774 2.0000000000000000, 0.69999999999999996 },
8775 { 271267.22222222196, 10.000000000000000, 1.0000000000000000,
8776 2.0000000000000000, 0.80000000000000004 },
8777 { 123456789.99999890, 10.000000000000000, 1.0000000000000000,
8778 2.0000000000000000, 0.89999999999999991 },
8780 const double toler186
= 2.5000000000000020e-13;
8782 // Test data for a=10.000000000000000, b=1.0000000000000000, c=4.0000000000000000.
8783 // max(|f - f_GSL|): 2.6193447411060333e-10
8784 // max(|f - f_GSL| / |f_GSL|): 1.6039867544159931e-15
8785 const testcase_hyperg
<double>
8788 { 0.28363728383055781, 10.000000000000000, 1.0000000000000000,
8789 4.0000000000000000, -0.90000000000000002 },
8790 { 0.30933003169808387, 10.000000000000000, 1.0000000000000000,
8791 4.0000000000000000, -0.80000000000000004 },
8792 { 0.33998437757128797, 10.000000000000000, 1.0000000000000000,
8793 4.0000000000000000, -0.69999999999999996 },
8794 { 0.37713553224291113, 10.000000000000000, 1.0000000000000000,
8795 4.0000000000000000, -0.59999999999999998 },
8796 { 0.42299736538419669, 10.000000000000000, 1.0000000000000000,
8797 4.0000000000000000, -0.50000000000000000 },
8798 { 0.48086597727600067, 10.000000000000000, 1.0000000000000000,
8799 4.0000000000000000, -0.40000000000000002 },
8800 { 0.55583495759293045, 10.000000000000000, 1.0000000000000000,
8801 4.0000000000000000, -0.30000000000000004 },
8802 { 0.65612850114039678, 10.000000000000000, 1.0000000000000000,
8803 4.0000000000000000, -0.19999999999999996 },
8804 { 0.79573668772968142, 10.000000000000000, 1.0000000000000000,
8805 4.0000000000000000, -0.099999999999999978 },
8806 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
8807 4.0000000000000000, 0.0000000000000000 },
8808 { 1.3184712058058303, 10.000000000000000, 1.0000000000000000,
8809 4.0000000000000000, 0.10000000000000009 },
8810 { 1.8576958065941214, 10.000000000000000, 1.0000000000000000,
8811 4.0000000000000000, 0.19999999999999996 },
8812 { 2.8759509651764228, 10.000000000000000, 1.0000000000000000,
8813 4.0000000000000000, 0.30000000000000004 },
8814 { 5.1046225531822182, 10.000000000000000, 1.0000000000000000,
8815 4.0000000000000000, 0.39999999999999991 },
8816 { 11.095238095238095, 10.000000000000000, 1.0000000000000000,
8817 4.0000000000000000, 0.50000000000000000 },
8818 { 32.797154017857174, 10.000000000000000, 1.0000000000000000,
8819 4.0000000000000000, 0.60000000000000009 },
8820 { 158.01935680536477, 10.000000000000000, 1.0000000000000000,
8821 4.0000000000000000, 0.69999999999999996 },
8822 { 1815.9523809523814, 10.000000000000000, 1.0000000000000000,
8823 4.0000000000000000, 0.80000000000000004 },
8824 { 163302.14285714156, 10.000000000000000, 1.0000000000000000,
8825 4.0000000000000000, 0.89999999999999991 },
8827 const double toler187
= 2.5000000000000020e-13;
8829 // Test data for a=10.000000000000000, b=1.0000000000000000, c=6.0000000000000000.
8830 // max(|f - f_GSL|): 2.0463630789890885e-12
8831 // max(|f - f_GSL| / |f_GSL|): 1.5238873992472010e-15
8832 const testcase_hyperg
<double>
8835 { 0.39006633302741811, 10.000000000000000, 1.0000000000000000,
8836 6.0000000000000000, -0.90000000000000002 },
8837 { 0.41898885698103278, 10.000000000000000, 1.0000000000000000,
8838 6.0000000000000000, -0.80000000000000004 },
8839 { 0.45245557983812590, 10.000000000000000, 1.0000000000000000,
8840 6.0000000000000000, -0.69999999999999996 },
8841 { 0.49160548618861627, 10.000000000000000, 1.0000000000000000,
8842 6.0000000000000000, -0.59999999999999998 },
8843 { 0.53798419230517991, 10.000000000000000, 1.0000000000000000,
8844 6.0000000000000000, -0.50000000000000000 },
8845 { 0.59373881442067322, 10.000000000000000, 1.0000000000000000,
8846 6.0000000000000000, -0.40000000000000002 },
8847 { 0.66193391357076126, 10.000000000000000, 1.0000000000000000,
8848 6.0000000000000000, -0.30000000000000004 },
8849 { 0.74708402736952118, 10.000000000000000, 1.0000000000000000,
8850 6.0000000000000000, -0.19999999999999996 },
8851 { 0.85609281019430605, 10.000000000000000, 1.0000000000000000,
8852 6.0000000000000000, -0.099999999999999978 },
8853 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
8854 6.0000000000000000, 0.0000000000000000 },
8855 { 1.1974451135148187, 10.000000000000000, 1.0000000000000000,
8856 6.0000000000000000, 0.10000000000000009 },
8857 { 1.4820886036706347, 10.000000000000000, 1.0000000000000000,
8858 6.0000000000000000, 0.19999999999999996 },
8859 { 1.9201183180477521, 10.000000000000000, 1.0000000000000000,
8860 6.0000000000000000, 0.30000000000000004 },
8861 { 2.6569338297733336, 10.000000000000000, 1.0000000000000000,
8862 6.0000000000000000, 0.39999999999999991 },
8863 { 4.0634920634920650, 10.000000000000000, 1.0000000000000000,
8864 6.0000000000000000, 0.50000000000000000 },
8865 { 7.3102678571428568, 10.000000000000000, 1.0000000000000000,
8866 6.0000000000000000, 0.60000000000000009 },
8867 { 17.512574302697733, 10.000000000000000, 1.0000000000000000,
8868 6.0000000000000000, 0.69999999999999996 },
8869 { 74.206349206349131, 10.000000000000000, 1.0000000000000000,
8870 6.0000000000000000, 0.80000000000000004 },
8871 { 1342.8571428571363, 10.000000000000000, 1.0000000000000000,
8872 6.0000000000000000, 0.89999999999999991 },
8874 const double toler188
= 2.5000000000000020e-13;
8876 // Test data for a=10.000000000000000, b=1.0000000000000000, c=8.0000000000000000.
8877 // max(|f - f_GSL|): 7.8159700933611020e-14
8878 // max(|f - f_GSL| / |f_GSL|): 1.4210854715202060e-15
8879 const testcase_hyperg
<double>
8882 { 0.46726928123633210, 10.000000000000000, 1.0000000000000000,
8883 8.0000000000000000, -0.90000000000000002 },
8884 { 0.49687547629934464, 10.000000000000000, 1.0000000000000000,
8885 8.0000000000000000, -0.80000000000000004 },
8886 { 0.53045208856322223, 10.000000000000000, 1.0000000000000000,
8887 8.0000000000000000, -0.69999999999999996 },
8888 { 0.56884765624999989, 10.000000000000000, 1.0000000000000000,
8889 8.0000000000000000, -0.59999999999999998 },
8890 { 0.61316872427983504, 10.000000000000000, 1.0000000000000000,
8891 8.0000000000000000, -0.50000000000000000 },
8892 { 0.66488500161969566, 10.000000000000000, 1.0000000000000000,
8893 8.0000000000000000, -0.40000000000000002 },
8894 { 0.72598998634501577, 10.000000000000000, 1.0000000000000000,
8895 8.0000000000000000, -0.30000000000000004 },
8896 { 0.79925411522633760, 10.000000000000000, 1.0000000000000000,
8897 8.0000000000000000, -0.19999999999999996 },
8898 { 0.88863845062192182, 10.000000000000000, 1.0000000000000000,
8899 8.0000000000000000, -0.099999999999999978 },
8900 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
8901 8.0000000000000000, 0.0000000000000000 },
8902 { 1.1423563481176653, 10.000000000000000, 1.0000000000000000,
8903 8.0000000000000000, 0.10000000000000009 },
8904 { 1.3302951388888888, 10.000000000000000, 1.0000000000000000,
8905 8.0000000000000000, 0.19999999999999996 },
8906 { 1.5889212827988335, 10.000000000000000, 1.0000000000000000,
8907 8.0000000000000000, 0.30000000000000004 },
8908 { 1.9650205761316870, 10.000000000000000, 1.0000000000000000,
8909 8.0000000000000000, 0.39999999999999991 },
8910 { 2.5555555555555549, 10.000000000000000, 1.0000000000000000,
8911 8.0000000000000000, 0.50000000000000000 },
8912 { 3.5937500000000013, 10.000000000000000, 1.0000000000000000,
8913 8.0000000000000000, 0.60000000000000009 },
8914 { 5.7818930041152203, 10.000000000000000, 1.0000000000000000,
8915 8.0000000000000000, 0.69999999999999996 },
8916 { 12.222222222222220, 10.000000000000000, 1.0000000000000000,
8917 8.0000000000000000, 0.80000000000000004 },
8918 { 54.999999999999780, 10.000000000000000, 1.0000000000000000,
8919 8.0000000000000000, 0.89999999999999991 },
8921 const double toler189
= 2.5000000000000020e-13;
8923 // Test data for a=10.000000000000000, b=1.0000000000000000, c=10.000000000000000.
8924 // max(|f - f_GSL|): 1.7763568394002505e-15
8925 // max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
8926 const testcase_hyperg
<double>
8929 { 0.52631578947368429, 10.000000000000000, 1.0000000000000000,
8930 10.000000000000000, -0.90000000000000002 },
8931 { 0.55555555555555558, 10.000000000000000, 1.0000000000000000,
8932 10.000000000000000, -0.80000000000000004 },
8933 { 0.58823529411764708, 10.000000000000000, 1.0000000000000000,
8934 10.000000000000000, -0.69999999999999996 },
8935 { 0.62500000000000000, 10.000000000000000, 1.0000000000000000,
8936 10.000000000000000, -0.59999999999999998 },
8937 { 0.66666666666666663, 10.000000000000000, 1.0000000000000000,
8938 10.000000000000000, -0.50000000000000000 },
8939 { 0.71428571428571430, 10.000000000000000, 1.0000000000000000,
8940 10.000000000000000, -0.40000000000000002 },
8941 { 0.76923076923076927, 10.000000000000000, 1.0000000000000000,
8942 10.000000000000000, -0.30000000000000004 },
8943 { 0.83333333333333337, 10.000000000000000, 1.0000000000000000,
8944 10.000000000000000, -0.19999999999999996 },
8945 { 0.90909090909090906, 10.000000000000000, 1.0000000000000000,
8946 10.000000000000000, -0.099999999999999978 },
8947 { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
8948 10.000000000000000, 0.0000000000000000 },
8949 { 1.1111111111111112, 10.000000000000000, 1.0000000000000000,
8950 10.000000000000000, 0.10000000000000009 },
8951 { 1.2500000000000000, 10.000000000000000, 1.0000000000000000,
8952 10.000000000000000, 0.19999999999999996 },
8953 { 1.4285714285714286, 10.000000000000000, 1.0000000000000000,
8954 10.000000000000000, 0.30000000000000004 },
8955 { 1.6666666666666663, 10.000000000000000, 1.0000000000000000,
8956 10.000000000000000, 0.39999999999999991 },
8957 { 2.0000000000000000, 10.000000000000000, 1.0000000000000000,
8958 10.000000000000000, 0.50000000000000000 },
8959 { 2.5000000000000004, 10.000000000000000, 1.0000000000000000,
8960 10.000000000000000, 0.60000000000000009 },
8961 { 3.3333333333333330, 10.000000000000000, 1.0000000000000000,
8962 10.000000000000000, 0.69999999999999996 },
8963 { 5.0000000000000009, 10.000000000000000, 1.0000000000000000,
8964 10.000000000000000, 0.80000000000000004 },
8965 { 9.9999999999999929, 10.000000000000000, 1.0000000000000000,
8966 10.000000000000000, 0.89999999999999991 },
8968 const double toler190
= 2.5000000000000020e-13;
8970 // Test data for a=10.000000000000000, b=2.0000000000000000, c=2.0000000000000000.
8971 // max(|f - f_GSL|): 2.2888183593750000e-05
8972 // max(|f - f_GSL| / |f_GSL|): 2.8610229492187516e-15
8973 const testcase_hyperg
<double>
8976 { 0.0016310376661280216, 10.000000000000000, 2.0000000000000000,
8977 2.0000000000000000, -0.90000000000000002 },
8978 { 0.0028007538972582421, 10.000000000000000, 2.0000000000000000,
8979 2.0000000000000000, -0.80000000000000004 },
8980 { 0.0049603324681551939, 10.000000000000000, 2.0000000000000000,
8981 2.0000000000000000, -0.69999999999999996 },
8982 { 0.0090949470177292789, 10.000000000000000, 2.0000000000000000,
8983 2.0000000000000000, -0.59999999999999998 },
8984 { 0.017341529915832606, 10.000000000000000, 2.0000000000000000,
8985 2.0000000000000000, -0.50000000000000000 },
8986 { 0.034571613033607777, 10.000000000000000, 2.0000000000000000,
8987 2.0000000000000000, -0.40000000000000002 },
8988 { 0.072538150286405714, 10.000000000000000, 2.0000000000000000,
8989 2.0000000000000000, -0.30000000000000004 },
8990 { 0.16150558288984579, 10.000000000000000, 2.0000000000000000,
8991 2.0000000000000000, -0.19999999999999996 },
8992 { 0.38554328942953148, 10.000000000000000, 2.0000000000000000,
8993 2.0000000000000000, -0.099999999999999978 },
8994 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
8995 2.0000000000000000, 0.0000000000000000 },
8996 { 2.8679719907924444, 10.000000000000000, 2.0000000000000000,
8997 2.0000000000000000, 0.10000000000000009 },
8998 { 9.3132257461547816, 10.000000000000000, 2.0000000000000000,
8999 2.0000000000000000, 0.19999999999999996 },
9000 { 35.401331746414378, 10.000000000000000, 2.0000000000000000,
9001 2.0000000000000000, 0.30000000000000004 },
9002 { 165.38171687920172, 10.000000000000000, 2.0000000000000000,
9003 2.0000000000000000, 0.39999999999999991 },
9004 { 1024.0000000000000, 10.000000000000000, 2.0000000000000000,
9005 2.0000000000000000, 0.50000000000000000 },
9006 { 9536.7431640625200, 10.000000000000000, 2.0000000000000000,
9007 2.0000000000000000, 0.60000000000000009 },
9008 { 169350.87808430271, 10.000000000000000, 2.0000000000000000,
9009 2.0000000000000000, 0.69999999999999996 },
9010 { 9765624.9999999944, 10.000000000000000, 2.0000000000000000,
9011 2.0000000000000000, 0.80000000000000004 },
9012 { 9999999999.9999332, 10.000000000000000, 2.0000000000000000,
9013 2.0000000000000000, 0.89999999999999991 },
9015 const double toler191
= 2.5000000000000020e-13;
9017 // Test data for a=10.000000000000000, b=2.0000000000000000, c=4.0000000000000000.
9018 // max(|f - f_GSL|): 1.4901161193847656e-08
9019 // max(|f - f_GSL| / |f_GSL|): 1.4958811384436855e-15
9020 const testcase_hyperg
<double>
9023 { 0.071191280690193537, 10.000000000000000, 2.0000000000000000,
9024 4.0000000000000000, -0.90000000000000002 },
9025 { 0.085646504654238384, 10.000000000000000, 2.0000000000000000,
9026 4.0000000000000000, -0.80000000000000004 },
9027 { 0.10478215656371109, 10.000000000000000, 2.0000000000000000,
9028 4.0000000000000000, -0.69999999999999996 },
9029 { 0.13074816337653578, 10.000000000000000, 2.0000000000000000,
9030 4.0000000000000000, -0.59999999999999998 },
9031 { 0.16701141666848118, 10.000000000000000, 2.0000000000000000,
9032 4.0000000000000000, -0.50000000000000000 },
9033 { 0.21939323375313968, 10.000000000000000, 2.0000000000000000,
9034 4.0000000000000000, -0.40000000000000002 },
9035 { 0.29813515331786616, 10.000000000000000, 2.0000000000000000,
9036 4.0000000000000000, -0.30000000000000004 },
9037 { 0.42225974638874397, 10.000000000000000, 2.0000000000000000,
9038 4.0000000000000000, -0.19999999999999996 },
9039 { 0.62942145962174878, 10.000000000000000, 2.0000000000000000,
9040 4.0000000000000000, -0.099999999999999978 },
9041 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9042 4.0000000000000000, 0.0000000000000000 },
9043 { 1.7218685262373197, 10.000000000000000, 2.0000000000000000,
9044 4.0000000000000000, 0.10000000000000009 },
9045 { 3.2855760483514689, 10.000000000000000, 2.0000000000000000,
9046 4.0000000000000000, 0.19999999999999996 },
9047 { 7.1616652508907093, 10.000000000000000, 2.0000000000000000,
9048 4.0000000000000000, 0.30000000000000004 },
9049 { 18.612326808485907, 10.000000000000000, 2.0000000000000000,
9050 4.0000000000000000, 0.39999999999999991 },
9051 { 61.476190476190474, 10.000000000000000, 2.0000000000000000,
9052 4.0000000000000000, 0.50000000000000000 },
9053 { 286.27580915178623, 10.000000000000000, 2.0000000000000000,
9054 4.0000000000000000, 0.60000000000000009 },
9055 { 2274.9441142102296, 10.000000000000000, 2.0000000000000000,
9056 4.0000000000000000, 0.69999999999999996 },
9057 { 47229.761904761865, 10.000000000000000, 2.0000000000000000,
9058 4.0000000000000000, 0.80000000000000004 },
9059 { 9961460.7142856438, 10.000000000000000, 2.0000000000000000,
9060 4.0000000000000000, 0.89999999999999991 },
9062 const double toler192
= 2.5000000000000020e-13;
9064 // Test data for a=10.000000000000000, b=2.0000000000000000, c=6.0000000000000000.
9065 // max(|f - f_GSL|): 8.7311491370201111e-11
9066 // max(|f - f_GSL| / |f_GSL|): 1.5843951771650368e-15
9067 const testcase_hyperg
<double>
9070 { 0.14747230019381058, 10.000000000000000, 2.0000000000000000,
9071 6.0000000000000000, -0.90000000000000002 },
9072 { 0.17073600100690609, 10.000000000000000, 2.0000000000000000,
9073 6.0000000000000000, -0.80000000000000004 },
9074 { 0.19982795745135354, 10.000000000000000, 2.0000000000000000,
9075 6.0000000000000000, -0.69999999999999996 },
9076 { 0.23681776864188053, 10.000000000000000, 2.0000000000000000,
9077 6.0000000000000000, -0.59999999999999998 },
9078 { 0.28475624360398011, 10.000000000000000, 2.0000000000000000,
9079 6.0000000000000000, -0.50000000000000000 },
9080 { 0.34827500743063133, 10.000000000000000, 2.0000000000000000,
9081 6.0000000000000000, -0.40000000000000002 },
9082 { 0.43464829159684687, 10.000000000000000, 2.0000000000000000,
9083 6.0000000000000000, -0.30000000000000004 },
9084 { 0.55576053438064787, 10.000000000000000, 2.0000000000000000,
9085 6.0000000000000000, -0.19999999999999996 },
9086 { 0.73195020913445530, 10.000000000000000, 2.0000000000000000,
9087 6.0000000000000000, -0.099999999999999978 },
9088 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9089 6.0000000000000000, 0.0000000000000000 },
9090 { 1.4310223867822929, 10.000000000000000, 2.0000000000000000,
9091 6.0000000000000000, 0.10000000000000009 },
9092 { 2.1742563399057540, 10.000000000000000, 2.0000000000000000,
9093 6.0000000000000000, 0.19999999999999996 },
9094 { 3.5769231236256043, 10.000000000000000, 2.0000000000000000,
9095 6.0000000000000000, 0.30000000000000004 },
9096 { 6.5620441134844363, 10.000000000000000, 2.0000000000000000,
9097 6.0000000000000000, 0.39999999999999991 },
9098 { 14.063492063492063, 10.000000000000000, 2.0000000000000000,
9099 6.0000000000000000, 0.50000000000000000 },
9100 { 38.085937500000036, 10.000000000000000, 2.0000000000000000,
9101 6.0000000000000000, 0.60000000000000009 },
9102 { 150.92973632068282, 10.000000000000000, 2.0000000000000000,
9103 6.0000000000000000, 0.69999999999999996 },
9104 { 1212.3015873015852, 10.000000000000000, 2.0000000000000000,
9105 6.0000000000000000, 0.80000000000000004 },
9106 { 55107.142857142389, 10.000000000000000, 2.0000000000000000,
9107 6.0000000000000000, 0.89999999999999991 },
9109 const double toler193
= 2.5000000000000020e-13;
9111 // Test data for a=10.000000000000000, b=2.0000000000000000, c=8.0000000000000000.
9112 // max(|f - f_GSL|): 1.8189894035458565e-12
9113 // max(|f - f_GSL| / |f_GSL|): 1.4848893090170350e-15
9114 const testcase_hyperg
<double>
9117 { 0.21658059714090577, 10.000000000000000, 2.0000000000000000,
9118 8.0000000000000000, -0.90000000000000002 },
9119 { 0.24513539602702861, 10.000000000000000, 2.0000000000000000,
9120 8.0000000000000000, -0.80000000000000004 },
9121 { 0.27967018274845046, 10.000000000000000, 2.0000000000000000,
9122 8.0000000000000000, -0.69999999999999996 },
9123 { 0.32196044921875022, 10.000000000000000, 2.0000000000000000,
9124 8.0000000000000000, -0.59999999999999998 },
9125 { 0.37448559670781911, 10.000000000000000, 2.0000000000000000,
9126 8.0000000000000000, -0.50000000000000000 },
9127 { 0.44078856032208824, 10.000000000000000, 2.0000000000000000,
9128 8.0000000000000000, -0.40000000000000002 },
9129 { 0.52606701446027793, 10.000000000000000, 2.0000000000000000,
9130 8.0000000000000000, -0.30000000000000004 },
9131 { 0.63818158436213956, 10.000000000000000, 2.0000000000000000,
9132 8.0000000000000000, -0.19999999999999996 },
9133 { 0.78944971882612769, 10.000000000000000, 2.0000000000000000,
9134 8.0000000000000000, -0.099999999999999978 },
9135 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9136 8.0000000000000000, 0.0000000000000000 },
9137 { 1.3044251384443430, 10.000000000000000, 2.0000000000000000,
9138 8.0000000000000000, 0.10000000000000009 },
9139 { 1.7659505208333335, 10.000000000000000, 2.0000000000000000,
9140 8.0000000000000000, 0.19999999999999996 },
9141 { 2.5093710953769270, 10.000000000000000, 2.0000000000000000,
9142 8.0000000000000000, 0.30000000000000004 },
9143 { 3.8065843621399158, 10.000000000000000, 2.0000000000000000,
9144 8.0000000000000000, 0.39999999999999991 },
9145 { 6.3333333333333313, 10.000000000000000, 2.0000000000000000,
9146 8.0000000000000000, 0.50000000000000000 },
9147 { 12.109375000000004, 10.000000000000000, 2.0000000000000000,
9148 8.0000000000000000, 0.60000000000000009 },
9149 { 29.115226337448540, 10.000000000000000, 2.0000000000000000,
9150 8.0000000000000000, 0.69999999999999996 },
9151 { 108.33333333333330, 10.000000000000000, 2.0000000000000000,
9152 8.0000000000000000, 0.80000000000000004 },
9153 { 1224.9999999999923, 10.000000000000000, 2.0000000000000000,
9154 8.0000000000000000, 0.89999999999999991 },
9156 const double toler194
= 2.5000000000000020e-13;
9158 // Test data for a=10.000000000000000, b=2.0000000000000000, c=10.000000000000000.
9159 // max(|f - f_GSL|): 4.2632564145606011e-14
9160 // max(|f - f_GSL| / |f_GSL|): 4.2632564145606064e-16
9161 const testcase_hyperg
<double>
9164 { 0.27700831024930750, 10.000000000000000, 2.0000000000000000,
9165 10.000000000000000, -0.90000000000000002 },
9166 { 0.30864197530864196, 10.000000000000000, 2.0000000000000000,
9167 10.000000000000000, -0.80000000000000004 },
9168 { 0.34602076124567477, 10.000000000000000, 2.0000000000000000,
9169 10.000000000000000, -0.69999999999999996 },
9170 { 0.39062499999999994, 10.000000000000000, 2.0000000000000000,
9171 10.000000000000000, -0.59999999999999998 },
9172 { 0.44444444444444442, 10.000000000000000, 2.0000000000000000,
9173 10.000000000000000, -0.50000000000000000 },
9174 { 0.51020408163265307, 10.000000000000000, 2.0000000000000000,
9175 10.000000000000000, -0.40000000000000002 },
9176 { 0.59171597633136097, 10.000000000000000, 2.0000000000000000,
9177 10.000000000000000, -0.30000000000000004 },
9178 { 0.69444444444444453, 10.000000000000000, 2.0000000000000000,
9179 10.000000000000000, -0.19999999999999996 },
9180 { 0.82644628099173545, 10.000000000000000, 2.0000000000000000,
9181 10.000000000000000, -0.099999999999999978 },
9182 { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
9183 10.000000000000000, 0.0000000000000000 },
9184 { 1.2345679012345681, 10.000000000000000, 2.0000000000000000,
9185 10.000000000000000, 0.10000000000000009 },
9186 { 1.5624999999999998, 10.000000000000000, 2.0000000000000000,
9187 10.000000000000000, 0.19999999999999996 },
9188 { 2.0408163265306127, 10.000000000000000, 2.0000000000000000,
9189 10.000000000000000, 0.30000000000000004 },
9190 { 2.7777777777777768, 10.000000000000000, 2.0000000000000000,
9191 10.000000000000000, 0.39999999999999991 },
9192 { 4.0000000000000000, 10.000000000000000, 2.0000000000000000,
9193 10.000000000000000, 0.50000000000000000 },
9194 { 6.2500000000000036, 10.000000000000000, 2.0000000000000000,
9195 10.000000000000000, 0.60000000000000009 },
9196 { 11.111111111111109, 10.000000000000000, 2.0000000000000000,
9197 10.000000000000000, 0.69999999999999996 },
9198 { 25.000000000000007, 10.000000000000000, 2.0000000000000000,
9199 10.000000000000000, 0.80000000000000004 },
9200 { 99.999999999999872, 10.000000000000000, 2.0000000000000000,
9201 10.000000000000000, 0.89999999999999991 },
9203 const double toler195
= 2.5000000000000020e-13;
9205 // Test data for a=10.000000000000000, b=5.0000000000000000, c=2.0000000000000000.
9206 // max(|f - f_GSL|): 0.81250000000000000
9207 // max(|f - f_GSL| / |f_GSL|): 1.8182428501096805e-15
9208 const testcase_hyperg
<double>
9211 { 0.00063586451658060813, 10.000000000000000, 5.0000000000000000,
9212 2.0000000000000000, -0.90000000000000002 },
9213 { 0.0010334743461763829, 10.000000000000000, 5.0000000000000000,
9214 2.0000000000000000, -0.80000000000000004 },
9215 { 0.0015326246054669763, 10.000000000000000, 5.0000000000000000,
9216 2.0000000000000000, -0.69999999999999996 },
9217 { 0.0019007018181583513, 10.000000000000000, 5.0000000000000000,
9218 2.0000000000000000, -0.59999999999999998 },
9219 { 0.0012845577715431562, 10.000000000000000, 5.0000000000000000,
9220 2.0000000000000000, -0.50000000000000000 },
9221 { -0.0027213806178057538, 10.000000000000000, 5.0000000000000000,
9222 2.0000000000000000, -0.40000000000000002 },
9223 { -0.015121744574954058, 10.000000000000000, 5.0000000000000000,
9224 2.0000000000000000, -0.30000000000000004 },
9225 { -0.036637840562974290, 10.000000000000000, 5.0000000000000000,
9226 2.0000000000000000, -0.19999999999999996 },
9227 { 0.019117849062621605, 10.000000000000000, 5.0000000000000000,
9228 2.0000000000000000, -0.099999999999999978 },
9229 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9230 2.0000000000000000, 0.0000000000000000 },
9231 { 9.8116901852350615, 10.000000000000000, 5.0000000000000000,
9232 2.0000000000000000, 0.10000000000000009 },
9233 { 84.255589172244044, 10.000000000000000, 5.0000000000000000,
9234 2.0000000000000000, 0.19999999999999996 },
9235 { 773.87517619421294, 10.000000000000000, 5.0000000000000000,
9236 2.0000000000000000, 0.30000000000000004 },
9237 { 8556.9725363053585, 10.000000000000000, 5.0000000000000000,
9238 2.0000000000000000, 0.39999999999999991 },
9239 { 129023.99999999996, 10.000000000000000, 5.0000000000000000,
9240 2.0000000000000000, 0.50000000000000000 },
9241 { 3174543.3807373112, 10.000000000000000, 5.0000000000000000,
9242 2.0000000000000000, 0.60000000000000009 },
9243 { 175133896.95814410, 10.000000000000000, 5.0000000000000000,
9244 2.0000000000000000, 0.69999999999999996 },
9245 { 43564453125.000061, 10.000000000000000, 5.0000000000000000,
9246 2.0000000000000000, 0.80000000000000004 },
9247 { 446859999999993.50, 10.000000000000000, 5.0000000000000000,
9248 2.0000000000000000, 0.89999999999999991 },
9250 const double toler196
= 2.5000000000000020e-13;
9252 // Test data for a=10.000000000000000, b=5.0000000000000000, c=4.0000000000000000.
9253 // max(|f - f_GSL|): 0.00039672851562500000
9254 // max(|f - f_GSL| / |f_GSL|): 1.6882064494681041e-15
9255 const testcase_hyperg
<double>
9258 { -0.00030045430691814646, 10.000000000000000, 5.0000000000000000,
9259 4.0000000000000000, -0.90000000000000002 },
9260 { -0.00031119487747322054, 10.000000000000000, 5.0000000000000000,
9261 4.0000000000000000, -0.80000000000000004 },
9262 { -0.00014589213141656318, 10.000000000000000, 5.0000000000000000,
9263 4.0000000000000000, -0.69999999999999996 },
9264 { 0.00056843418860824636, 10.000000000000000, 5.0000000000000000,
9265 4.0000000000000000, -0.59999999999999998 },
9266 { 0.0028902549859721747, 10.000000000000000, 5.0000000000000000,
9267 4.0000000000000000, -0.50000000000000000 },
9268 { 0.0098776037238878477, 10.000000000000000, 5.0000000000000000,
9269 4.0000000000000000, -0.40000000000000002 },
9270 { 0.030689217428863869, 10.000000000000000, 5.0000000000000000,
9271 4.0000000000000000, -0.30000000000000004 },
9272 { 0.094211590019076558, 10.000000000000000, 5.0000000000000000,
9273 4.0000000000000000, -0.19999999999999996 },
9274 { 0.29791981455918370, 10.000000000000000, 5.0000000000000000,
9275 4.0000000000000000, -0.099999999999999978 },
9276 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9277 4.0000000000000000, 0.0000000000000000 },
9278 { 3.6646308771236793, 10.000000000000000, 5.0000000000000000,
9279 4.0000000000000000, 0.10000000000000009 },
9280 { 15.133991837501521, 10.000000000000000, 5.0000000000000000,
9281 4.0000000000000000, 0.19999999999999996 },
9282 { 73.331330046144089, 10.000000000000000, 5.0000000000000000,
9283 4.0000000000000000, 0.30000000000000004 },
9284 { 441.01791167787133, 10.000000000000000, 5.0000000000000000,
9285 4.0000000000000000, 0.39999999999999991 },
9286 { 3583.9999999999991, 10.000000000000000, 5.0000000000000000,
9287 4.0000000000000000, 0.50000000000000000 },
9288 { 45299.530029296984, 10.000000000000000, 5.0000000000000000,
9289 4.0000000000000000, 0.60000000000000009 },
9290 { 1157231.0002427341, 10.000000000000000, 5.0000000000000000,
9291 4.0000000000000000, 0.69999999999999996 },
9292 { 107421875.00000016, 10.000000000000000, 5.0000000000000000,
9293 4.0000000000000000, 0.80000000000000004 },
9294 { 234999999999.99734, 10.000000000000000, 5.0000000000000000,
9295 4.0000000000000000, 0.89999999999999991 },
9297 const double toler197
= 2.5000000000000020e-13;
9299 // Test data for a=10.000000000000000, b=5.0000000000000000, c=6.0000000000000000.
9300 // max(|f - f_GSL|): 9.5367431640625000e-07
9301 // max(|f - f_GSL| / |f_GSL|): 1.6314276114917867e-15
9302 const testcase_hyperg
<double>
9305 { 0.0058530497315413248, 10.000000000000000, 5.0000000000000000,
9306 6.0000000000000000, -0.90000000000000002 },
9307 { 0.0088526869356855397, 10.000000000000000, 5.0000000000000000,
9308 6.0000000000000000, -0.80000000000000004 },
9309 { 0.013770987983442959, 10.000000000000000, 5.0000000000000000,
9310 6.0000000000000000, -0.69999999999999996 },
9311 { 0.022108932690960776, 10.000000000000000, 5.0000000000000000,
9312 6.0000000000000000, -0.59999999999999998 },
9313 { 0.036786236450921550, 10.000000000000000, 5.0000000000000000,
9314 6.0000000000000000, -0.50000000000000000 },
9315 { 0.063750669040426505, 10.000000000000000, 5.0000000000000000,
9316 6.0000000000000000, -0.40000000000000002 },
9317 { 0.11577228680714462, 10.000000000000000, 5.0000000000000000,
9318 6.0000000000000000, -0.30000000000000004 },
9319 { 0.22197573416125760, 10.000000000000000, 5.0000000000000000,
9320 6.0000000000000000, -0.19999999999999996 },
9321 { 0.45361312968415324, 10.000000000000000, 5.0000000000000000,
9322 6.0000000000000000, -0.099999999999999978 },
9323 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9324 6.0000000000000000, 0.0000000000000000 },
9325 { 2.4162889363082747, 10.000000000000000, 5.0000000000000000,
9326 6.0000000000000000, 0.10000000000000009 },
9327 { 6.5381564791240399, 10.000000000000000, 5.0000000000000000,
9328 6.0000000000000000, 0.19999999999999996 },
9329 { 20.415771011498428, 10.000000000000000, 5.0000000000000000,
9330 6.0000000000000000, 0.30000000000000004 },
9331 { 76.870682056629221, 10.000000000000000, 5.0000000000000000,
9332 6.0000000000000000, 0.39999999999999991 },
9333 { 373.58730158730162, 10.000000000000000, 5.0000000000000000,
9334 6.0000000000000000, 0.50000000000000000 },
9335 { 2626.2555803571477, 10.000000000000000, 5.0000000000000000,
9336 6.0000000000000000, 0.60000000000000009 },
9337 { 33060.960671081048, 10.000000000000000, 5.0000000000000000,
9338 6.0000000000000000, 0.69999999999999996 },
9339 { 1203521.8253968258, 10.000000000000000, 5.0000000000000000,
9340 6.0000000000000000, 0.80000000000000004 },
9341 { 584564285.71427989, 10.000000000000000, 5.0000000000000000,
9342 6.0000000000000000, 0.89999999999999991 },
9344 const double toler198
= 2.5000000000000020e-13;
9346 // Test data for a=10.000000000000000, b=5.0000000000000000, c=8.0000000000000000.
9347 // max(|f - f_GSL|): 7.4505805969238281e-09
9348 // max(|f - f_GSL| / |f_GSL|): 1.6196914341138888e-15
9349 const testcase_hyperg
<double>
9352 { 0.020248990107069573, 10.000000000000000, 5.0000000000000000,
9353 8.0000000000000000, -0.90000000000000002 },
9354 { 0.027876687750502366, 10.000000000000000, 5.0000000000000000,
9355 8.0000000000000000, -0.80000000000000004 },
9356 { 0.039154648888447607, 10.000000000000000, 5.0000000000000000,
9357 8.0000000000000000, -0.69999999999999996 },
9358 { 0.056251883506774715, 10.000000000000000, 5.0000000000000000,
9359 8.0000000000000000, -0.59999999999999998 },
9360 { 0.082914189910074473, 10.000000000000000, 5.0000000000000000,
9361 8.0000000000000000, -0.50000000000000000 },
9362 { 0.12585357817786455, 10.000000000000000, 5.0000000000000000,
9363 8.0000000000000000, -0.40000000000000002 },
9364 { 0.19761423206224954, 10.000000000000000, 5.0000000000000000,
9365 8.0000000000000000, -0.30000000000000004 },
9366 { 0.32280443863359237, 10.000000000000000, 5.0000000000000000,
9367 8.0000000000000000, -0.19999999999999996 },
9368 { 0.55250024062839420, 10.000000000000000, 5.0000000000000000,
9369 8.0000000000000000, -0.099999999999999978 },
9370 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9371 8.0000000000000000, 0.0000000000000000 },
9372 { 1.9374297986599267, 10.000000000000000, 5.0000000000000000,
9373 8.0000000000000000, 0.10000000000000009 },
9374 { 4.0849049886067696, 10.000000000000000, 5.0000000000000000,
9375 8.0000000000000000, 0.19999999999999996 },
9376 { 9.5926988633258983, 10.000000000000000, 5.0000000000000000,
9377 8.0000000000000000, 0.30000000000000004 },
9378 { 25.958314281359531, 10.000000000000000, 5.0000000000000000,
9379 8.0000000000000000, 0.39999999999999991 },
9380 { 85.333333333333300, 10.000000000000000, 5.0000000000000000,
9381 8.0000000000000000, 0.50000000000000000 },
9382 { 372.31445312500028, 10.000000000000000, 5.0000000000000000,
9383 8.0000000000000000, 0.60000000000000009 },
9384 { 2545.3436976070675, 10.000000000000000, 5.0000000000000000,
9385 8.0000000000000000, 0.69999999999999996 },
9386 { 39583.333333333343, 10.000000000000000, 5.0000000000000000,
9387 8.0000000000000000, 0.80000000000000004 },
9388 { 4599999.9999999627, 10.000000000000000, 5.0000000000000000,
9389 8.0000000000000000, 0.89999999999999991 },
9391 const double toler199
= 2.5000000000000020e-13;
9393 // Test data for a=10.000000000000000, b=5.0000000000000000, c=10.000000000000000.
9394 // max(|f - f_GSL|): 1.1641532182693481e-10
9395 // max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
9396 const testcase_hyperg
<double>
9399 { 0.040386107340619266, 10.000000000000000, 5.0000000000000000,
9400 10.000000000000000, -0.90000000000000002 },
9401 { 0.052922149401344633, 10.000000000000000, 5.0000000000000000,
9402 10.000000000000000, -0.80000000000000004 },
9403 { 0.070429627772374270, 10.000000000000000, 5.0000000000000000,
9404 10.000000000000000, -0.69999999999999996 },
9405 { 0.095367431640624972, 10.000000000000000, 5.0000000000000000,
9406 10.000000000000000, -0.59999999999999998 },
9407 { 0.13168724279835387, 10.000000000000000, 5.0000000000000000,
9408 10.000000000000000, -0.50000000000000000 },
9409 { 0.18593443208187066, 10.000000000000000, 5.0000000000000000,
9410 10.000000000000000, -0.40000000000000002 },
9411 { 0.26932907434290437, 10.000000000000000, 5.0000000000000000,
9412 10.000000000000000, -0.30000000000000004 },
9413 { 0.40187757201646096, 10.000000000000000, 5.0000000000000000,
9414 10.000000000000000, -0.19999999999999996 },
9415 { 0.62092132305915493, 10.000000000000000, 5.0000000000000000,
9416 10.000000000000000, -0.099999999999999978 },
9417 { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
9418 10.000000000000000, 0.0000000000000000 },
9419 { 1.6935087808430296, 10.000000000000000, 5.0000000000000000,
9420 10.000000000000000, 0.10000000000000009 },
9421 { 3.0517578124999991, 10.000000000000000, 5.0000000000000000,
9422 10.000000000000000, 0.19999999999999996 },
9423 { 5.9499018266198629, 10.000000000000000, 5.0000000000000000,
9424 10.000000000000000, 0.30000000000000004 },
9425 { 12.860082304526737, 10.000000000000000, 5.0000000000000000,
9426 10.000000000000000, 0.39999999999999991 },
9427 { 32.000000000000000, 10.000000000000000, 5.0000000000000000,
9428 10.000000000000000, 0.50000000000000000 },
9429 { 97.656250000000114, 10.000000000000000, 5.0000000000000000,
9430 10.000000000000000, 0.60000000000000009 },
9431 { 411.52263374485580, 10.000000000000000, 5.0000000000000000,
9432 10.000000000000000, 0.69999999999999996 },
9433 { 3124.9999999999991, 10.000000000000000, 5.0000000000000000,
9434 10.000000000000000, 0.80000000000000004 },
9435 { 99999.999999999665, 10.000000000000000, 5.0000000000000000,
9436 10.000000000000000, 0.89999999999999991 },
9438 const double toler200
= 2.5000000000000020e-13;
9440 // Test data for a=10.000000000000000, b=10.000000000000000, c=2.0000000000000000.
9441 // max(|f - f_GSL|): 3407872.0000000000
9442 // max(|f - f_GSL| / |f_GSL|): 1.8642431677286335e-15
9443 const testcase_hyperg
<double>
9446 { 2.3388730079478156e-05, 10.000000000000000, 10.000000000000000,
9447 2.0000000000000000, -0.90000000000000002 },
9448 { -2.3204970759764180e-05, 10.000000000000000, 10.000000000000000,
9449 2.0000000000000000, -0.80000000000000004 },
9450 { -0.00016219730505521665, 10.000000000000000, 10.000000000000000,
9451 2.0000000000000000, -0.69999999999999996 },
9452 { -0.00044366962360922366, 10.000000000000000, 10.000000000000000,
9453 2.0000000000000000, -0.59999999999999998 },
9454 { -0.00071863577205453773, 10.000000000000000, 10.000000000000000,
9455 2.0000000000000000, -0.50000000000000000 },
9456 { 4.4378596544533363e-05, 10.000000000000000, 10.000000000000000,
9457 2.0000000000000000, -0.40000000000000002 },
9458 { 0.0044446568070623509, 10.000000000000000, 10.000000000000000,
9459 2.0000000000000000, -0.30000000000000004 },
9460 { 0.0071045155183571615, 10.000000000000000, 10.000000000000000,
9461 2.0000000000000000, -0.19999999999999996 },
9462 { -0.049961558159890306, 10.000000000000000, 10.000000000000000,
9463 2.0000000000000000, -0.099999999999999978 },
9464 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
9465 2.0000000000000000, 0.0000000000000000 },
9466 { 51.305449964107403, 10.000000000000000, 10.000000000000000,
9467 2.0000000000000000, 0.10000000000000009 },
9468 { 1435.9545414461309, 10.000000000000000, 10.000000000000000,
9469 2.0000000000000000, 0.19999999999999996 },
9470 { 39657.913058984115, 10.000000000000000, 10.000000000000000,
9471 2.0000000000000000, 0.30000000000000004 },
9472 { 1346016.4468570501, 10.000000000000000, 10.000000000000000,
9473 2.0000000000000000, 0.39999999999999991 },
9474 { 68086556.444444403, 10.000000000000000, 10.000000000000000,
9475 2.0000000000000000, 0.50000000000000000 },
9476 { 6646235808.7301531, 10.000000000000000, 10.000000000000000,
9477 2.0000000000000000, 0.60000000000000009 },
9478 { 1954852335479.9702, 10.000000000000000, 10.000000000000000,
9479 2.0000000000000000, 0.69999999999999996 },
9480 { 4573796225043418.0, 10.000000000000000, 10.000000000000000,
9481 2.0000000000000000, 0.80000000000000004 },
9482 { 1.8280190368899683e+21, 10.000000000000000, 10.000000000000000,
9483 2.0000000000000000, 0.89999999999999991 },
9485 const double toler201
= 2.5000000000000020e-13;
9487 // Test data for a=10.000000000000000, b=10.000000000000000, c=4.0000000000000000.
9488 // max(|f - f_GSL|): 832.00000000000000
9489 // max(|f - f_GSL| / |f_GSL|): 1.7889121078953977e-15
9490 const testcase_hyperg
<double>
9493 { 1.3504013648914116e-05, 10.000000000000000, 10.000000000000000,
9494 4.0000000000000000, -0.90000000000000002 },
9495 { 3.1753432098506483e-05, 10.000000000000000, 10.000000000000000,
9496 4.0000000000000000, -0.80000000000000004 },
9497 { 6.2032098207654132e-05, 10.000000000000000, 10.000000000000000,
9498 4.0000000000000000, -0.69999999999999996 },
9499 { 8.8747213942816339e-05, 10.000000000000000, 10.000000000000000,
9500 4.0000000000000000, -0.59999999999999998 },
9501 { 1.0478094697613739e-05, 10.000000000000000, 10.000000000000000,
9502 4.0000000000000000, -0.50000000000000000 },
9503 { -0.00055998751005986670, 10.000000000000000, 10.000000000000000,
9504 4.0000000000000000, -0.40000000000000002 },
9505 { -0.0024718654966575881, 10.000000000000000, 10.000000000000000,
9506 4.0000000000000000, -0.30000000000000004 },
9507 { -0.0027000264053620069, 10.000000000000000, 10.000000000000000,
9508 4.0000000000000000, -0.19999999999999996 },
9509 { 0.066515394406810743, 10.000000000000000, 10.000000000000000,
9510 4.0000000000000000, -0.099999999999999978 },
9511 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
9512 4.0000000000000000, 0.0000000000000000 },
9513 { 11.579200866389527, 10.000000000000000, 10.000000000000000,
9514 4.0000000000000000, 0.10000000000000009 },
9515 { 137.50750548795256, 10.000000000000000, 10.000000000000000,
9516 4.0000000000000000, 0.19999999999999996 },
9517 { 1901.3196072993419, 10.000000000000000, 10.000000000000000,
9518 4.0000000000000000, 0.30000000000000004 },
9519 { 34210.659507137796, 10.000000000000000, 10.000000000000000,
9520 4.0000000000000000, 0.39999999999999991 },
9521 { 920588.19047619053, 10.000000000000000, 10.000000000000000,
9522 4.0000000000000000, 0.50000000000000000 },
9523 { 45876220.933028772, 10.000000000000000, 10.000000000000000,
9524 4.0000000000000000, 0.60000000000000009 },
9525 { 6234608574.0963297, 10.000000000000000, 10.000000000000000,
9526 4.0000000000000000, 0.69999999999999996 },
9527 { 5445391090029.7783, 10.000000000000000, 10.000000000000000,
9528 4.0000000000000000, 0.80000000000000004 },
9529 { 4.6508713107142163e+17, 10.000000000000000, 10.000000000000000,
9530 4.0000000000000000, 0.89999999999999991 },
9532 const double toler202
= 2.5000000000000020e-13;
9534 // Test data for a=10.000000000000000, b=10.000000000000000, c=6.0000000000000000.
9535 // max(|f - f_GSL|): 0.93750000000000000
9536 // max(|f - f_GSL| / |f_GSL|): 1.8742262123209408e-15
9537 const testcase_hyperg
<double>
9540 { -2.6846726901509877e-05, 10.000000000000000, 10.000000000000000,
9541 6.0000000000000000, -0.90000000000000002 },
9542 { -4.7817237144298244e-05, 10.000000000000000, 10.000000000000000,
9543 6.0000000000000000, -0.80000000000000004 },
9544 { -7.2908121941826117e-05, 10.000000000000000, 10.000000000000000,
9545 6.0000000000000000, -0.69999999999999996 },
9546 { -6.0427853197636777e-05, 10.000000000000000, 10.000000000000000,
9547 6.0000000000000000, -0.59999999999999998 },
9548 { 0.00020559720946644960, 10.000000000000000, 10.000000000000000,
9549 6.0000000000000000, -0.50000000000000000 },
9550 { 0.0017056910683366346, 10.000000000000000, 10.000000000000000,
9551 6.0000000000000000, -0.40000000000000002 },
9552 { 0.0088037230970528183, 10.000000000000000, 10.000000000000000,
9553 6.0000000000000000, -0.30000000000000004 },
9554 { 0.041510819735141528, 10.000000000000000, 10.000000000000000,
9555 6.0000000000000000, -0.19999999999999996 },
9556 { 0.19754880805677244, 10.000000000000000, 10.000000000000000,
9557 6.0000000000000000, -0.099999999999999978 },
9558 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
9559 6.0000000000000000, 0.0000000000000000 },
9560 { 5.6130947302779246, 10.000000000000000, 10.000000000000000,
9561 6.0000000000000000, 0.10000000000000009 },
9562 { 36.475357196722442, 10.000000000000000, 10.000000000000000,
9563 6.0000000000000000, 0.19999999999999996 },
9564 { 289.29483001400672, 10.000000000000000, 10.000000000000000,
9565 6.0000000000000000, 0.30000000000000004 },
9566 { 3010.8676549536503, 10.000000000000000, 10.000000000000000,
9567 6.0000000000000000, 0.39999999999999991 },
9568 { 45844.317460317419, 10.000000000000000, 10.000000000000000,
9569 6.0000000000000000, 0.50000000000000000 },
9570 { 1221852.6431492427, 10.000000000000000, 10.000000000000000,
9571 6.0000000000000000, 0.60000000000000009 },
9572 { 79585968.928968787, 10.000000000000000, 10.000000000000000,
9573 6.0000000000000000, 0.69999999999999996 },
9574 { 26733475942.460335, 10.000000000000000, 10.000000000000000,
9575 6.0000000000000000, 0.80000000000000004 },
9576 { 500206428571421.19, 10.000000000000000, 10.000000000000000,
9577 6.0000000000000000, 0.89999999999999991 },
9579 const double toler203
= 2.5000000000000020e-13;
9581 // Test data for a=10.000000000000000, b=10.000000000000000, c=8.0000000000000000.
9582 // max(|f - f_GSL|): 0.0024414062500000000
9583 // max(|f - f_GSL| / |f_GSL|): 1.6580008488964534e-15
9584 const testcase_hyperg
<double>
9587 { 0.00025866179054283083, 10.000000000000000, 10.000000000000000,
9588 8.0000000000000000, -0.90000000000000002 },
9589 { 0.00053402577739226583, 10.000000000000000, 10.000000000000000,
9590 8.0000000000000000, -0.80000000000000004 },
9591 { 0.0011390075227239291, 10.000000000000000, 10.000000000000000,
9592 8.0000000000000000, -0.69999999999999996 },
9593 { 0.0025224267119482941, 10.000000000000000, 10.000000000000000,
9594 8.0000000000000000, -0.59999999999999998 },
9595 { 0.0058340332124251458, 10.000000000000000, 10.000000000000000,
9596 8.0000000000000000, -0.50000000000000000 },
9597 { 0.014189256143045500, 10.000000000000000, 10.000000000000000,
9598 8.0000000000000000, -0.40000000000000002 },
9599 { 0.036590990011337692, 10.000000000000000, 10.000000000000000,
9600 8.0000000000000000, -0.30000000000000004 },
9601 { 0.10106560781146991, 10.000000000000000, 10.000000000000000,
9602 8.0000000000000000, -0.19999999999999996 },
9603 { 0.30278778538531392, 10.000000000000000, 10.000000000000000,
9604 8.0000000000000000, -0.099999999999999978 },
9605 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
9606 8.0000000000000000, 0.0000000000000000 },
9607 { 3.7187249990350599, 10.000000000000000, 10.000000000000000,
9608 8.0000000000000000, 0.10000000000000009 },
9609 { 16.023275545901704, 10.000000000000000, 10.000000000000000,
9610 8.0000000000000000, 0.19999999999999996 },
9611 { 83.265377219882822, 10.000000000000000, 10.000000000000000,
9612 8.0000000000000000, 0.30000000000000004 },
9613 { 553.31413918843987, 10.000000000000000, 10.000000000000000,
9614 8.0000000000000000, 0.39999999999999991 },
9615 { 5148.4444444444416, 10.000000000000000, 10.000000000000000,
9616 8.0000000000000000, 0.50000000000000000 },
9617 { 78082.084655761908, 10.000000000000000, 10.000000000000000,
9618 8.0000000000000000, 0.60000000000000009 },
9619 { 2565874.8781353114, 10.000000000000000, 10.000000000000000,
9620 8.0000000000000000, 0.69999999999999996 },
9621 { 346137152.77777809, 10.000000000000000, 10.000000000000000,
9622 8.0000000000000000, 0.80000000000000004 },
9623 { 1472499999999.9834, 10.000000000000000, 10.000000000000000,
9624 8.0000000000000000, 0.89999999999999991 },
9626 const double toler204
= 2.5000000000000020e-13;
9628 // Test data for a=10.000000000000000, b=10.000000000000000, c=10.000000000000000.
9629 // max(|f - f_GSL|): 2.2888183593750000e-05
9630 // max(|f - f_GSL| / |f_GSL|): 2.8610229492187516e-15
9631 const testcase_hyperg
<double>
9634 { 0.0016310376661280216, 10.000000000000000, 10.000000000000000,
9635 10.000000000000000, -0.90000000000000002 },
9636 { 0.0028007538972582421, 10.000000000000000, 10.000000000000000,
9637 10.000000000000000, -0.80000000000000004 },
9638 { 0.0049603324681551939, 10.000000000000000, 10.000000000000000,
9639 10.000000000000000, -0.69999999999999996 },
9640 { 0.0090949470177292789, 10.000000000000000, 10.000000000000000,
9641 10.000000000000000, -0.59999999999999998 },
9642 { 0.017341529915832606, 10.000000000000000, 10.000000000000000,
9643 10.000000000000000, -0.50000000000000000 },
9644 { 0.034571613033607777, 10.000000000000000, 10.000000000000000,
9645 10.000000000000000, -0.40000000000000002 },
9646 { 0.072538150286405714, 10.000000000000000, 10.000000000000000,
9647 10.000000000000000, -0.30000000000000004 },
9648 { 0.16150558288984579, 10.000000000000000, 10.000000000000000,
9649 10.000000000000000, -0.19999999999999996 },
9650 { 0.38554328942953148, 10.000000000000000, 10.000000000000000,
9651 10.000000000000000, -0.099999999999999978 },
9652 { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
9653 10.000000000000000, 0.0000000000000000 },
9654 { 2.8679719907924444, 10.000000000000000, 10.000000000000000,
9655 10.000000000000000, 0.10000000000000009 },
9656 { 9.3132257461547816, 10.000000000000000, 10.000000000000000,
9657 10.000000000000000, 0.19999999999999996 },
9658 { 35.401331746414378, 10.000000000000000, 10.000000000000000,
9659 10.000000000000000, 0.30000000000000004 },
9660 { 165.38171687920172, 10.000000000000000, 10.000000000000000,
9661 10.000000000000000, 0.39999999999999991 },
9662 { 1024.0000000000000, 10.000000000000000, 10.000000000000000,
9663 10.000000000000000, 0.50000000000000000 },
9664 { 9536.7431640625200, 10.000000000000000, 10.000000000000000,
9665 10.000000000000000, 0.60000000000000009 },
9666 { 169350.87808430271, 10.000000000000000, 10.000000000000000,
9667 10.000000000000000, 0.69999999999999996 },
9668 { 9765624.9999999944, 10.000000000000000, 10.000000000000000,
9669 10.000000000000000, 0.80000000000000004 },
9670 { 9999999999.9999332, 10.000000000000000, 10.000000000000000,
9671 10.000000000000000, 0.89999999999999991 },
9673 const double toler205
= 2.5000000000000020e-13;
9675 // Test data for a=10.000000000000000, b=20.000000000000000, c=2.0000000000000000.
9676 // max(|f - f_GSL|): 2.5940733853654057e+18
9677 // max(|f - f_GSL| / |f_GSL|): 1.8312596334405405e-15
9678 const testcase_hyperg
<double>
9681 { -2.1776535312781759e-07, 10.000000000000000, 20.000000000000000,
9682 2.0000000000000000, -0.90000000000000002 },
9683 { -2.9128833151630439e-06, 10.000000000000000, 20.000000000000000,
9684 2.0000000000000000, -0.80000000000000004 },
9685 { -9.4755553429932710e-06, 10.000000000000000, 20.000000000000000,
9686 2.0000000000000000, -0.69999999999999996 },
9687 { -1.2844297353852837e-05, 10.000000000000000, 20.000000000000000,
9688 2.0000000000000000, -0.59999999999999998 },
9689 { 3.6576965483549205e-05, 10.000000000000000, 20.000000000000000,
9690 2.0000000000000000, -0.50000000000000000 },
9691 { 0.00020847453890689954, 10.000000000000000, 20.000000000000000,
9692 2.0000000000000000, -0.40000000000000002 },
9693 { -0.00022868510398160936, 10.000000000000000, 20.000000000000000,
9694 2.0000000000000000, -0.30000000000000004 },
9695 { -0.0021855513841943421, 10.000000000000000, 20.000000000000000,
9696 2.0000000000000000, -0.19999999999999996 },
9697 { 0.014662111759334568, 10.000000000000000, 20.000000000000000,
9698 2.0000000000000000, -0.099999999999999978 },
9699 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
9700 2.0000000000000000, 0.0000000000000000 },
9701 { 746.44776348798098, 10.000000000000000, 20.000000000000000,
9702 2.0000000000000000, 0.10000000000000009 },
9703 { 136080.48445225612, 10.000000000000000, 20.000000000000000,
9704 2.0000000000000000, 0.19999999999999996 },
9705 { 23094279.597826406, 10.000000000000000, 20.000000000000000,
9706 2.0000000000000000, 0.30000000000000004 },
9707 { 5315913395.5545301, 10.000000000000000, 20.000000000000000,
9708 2.0000000000000000, 0.39999999999999991 },
9709 { 2261935718399.9990, 10.000000000000000, 20.000000000000000,
9710 2.0000000000000000, 0.50000000000000000 },
9711 { 2669150854828235.0, 10.000000000000000, 20.000000000000000,
9712 2.0000000000000000, 0.60000000000000009 },
9713 { 1.7499363099365994e+19, 10.000000000000000, 20.000000000000000,
9714 2.0000000000000000, 0.69999999999999996 },
9715 { 2.8881518494606140e+24, 10.000000000000000, 20.000000000000000,
9716 2.0000000000000000, 0.80000000000000004 },
9717 { 1.4165513933661626e+33, 10.000000000000000, 20.000000000000000,
9718 2.0000000000000000, 0.89999999999999991 },
9720 const double toler206
= 2.5000000000000020e-13;
9722 // Test data for a=10.000000000000000, b=20.000000000000000, c=4.0000000000000000.
9723 // max(|f - f_GSL|): 299067162755072.00
9724 // max(|f - f_GSL| / |f_GSL|): 2.1129345912024644e-15
9725 const testcase_hyperg
<double>
9728 { 1.7149006966334498e-07, 10.000000000000000, 20.000000000000000,
9729 4.0000000000000000, -0.90000000000000002 },
9730 { 3.2399324906563845e-07, 10.000000000000000, 20.000000000000000,
9731 4.0000000000000000, -0.80000000000000004 },
9732 { 1.6015317699713284e-07, 10.000000000000000, 20.000000000000000,
9733 4.0000000000000000, -0.69999999999999996 },
9734 { -2.0500917201273337e-06, 10.000000000000000, 20.000000000000000,
9735 4.0000000000000000, -0.59999999999999998 },
9736 { -1.0175546788592665e-05, 10.000000000000000, 20.000000000000000,
9737 4.0000000000000000, -0.50000000000000000 },
9738 { -1.1720101988158874e-05, 10.000000000000000, 20.000000000000000,
9739 4.0000000000000000, -0.40000000000000002 },
9740 { 0.00014199637113975139, 10.000000000000000, 20.000000000000000,
9741 4.0000000000000000, -0.30000000000000004 },
9742 { 0.00021263363640641769, 10.000000000000000, 20.000000000000000,
9743 4.0000000000000000, -0.19999999999999996 },
9744 { -0.0072649256698439626, 10.000000000000000, 20.000000000000000,
9745 4.0000000000000000, -0.099999999999999978 },
9746 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
9747 4.0000000000000000, 0.0000000000000000 },
9748 { 90.430293772869618, 10.000000000000000, 20.000000000000000,
9749 4.0000000000000000, 0.10000000000000009 },
9750 { 6248.1455940292308, 10.000000000000000, 20.000000000000000,
9751 4.0000000000000000, 0.19999999999999996 },
9752 { 501143.39852548984, 10.000000000000000, 20.000000000000000,
9753 4.0000000000000000, 0.30000000000000004 },
9754 { 58852027.356439680, 10.000000000000000, 20.000000000000000,
9755 4.0000000000000000, 0.39999999999999991 },
9756 { 12942923093.333330, 10.000000000000000, 20.000000000000000,
9757 4.0000000000000000, 0.50000000000000000 },
9758 { 7618073993853.6592, 10.000000000000000, 20.000000000000000,
9759 4.0000000000000000, 0.60000000000000009 },
9760 { 22630251562549288., 10.000000000000000, 20.000000000000000,
9761 4.0000000000000000, 0.69999999999999996 },
9762 { 1.3708372433980356e+21, 10.000000000000000, 20.000000000000000,
9763 4.0000000000000000, 0.80000000000000004 },
9764 { 1.4154113619999653e+29, 10.000000000000000, 20.000000000000000,
9765 4.0000000000000000, 0.89999999999999991 },
9767 const double toler207
= 2.5000000000000020e-13;
9769 // Test data for a=10.000000000000000, b=20.000000000000000, c=6.0000000000000000.
9770 // max(|f - f_GSL|): 103079215104.00000
9771 // max(|f - f_GSL| / |f_GSL|): 1.8869870511942065e-15
9772 const testcase_hyperg
<double>
9775 { -1.6667473284194196e-08, 10.000000000000000, 20.000000000000000,
9776 6.0000000000000000, -0.90000000000000002 },
9777 { 8.6214843496406671e-08, 10.000000000000000, 20.000000000000000,
9778 6.0000000000000000, -0.80000000000000004 },
9779 { 5.7778331275185146e-07, 10.000000000000000, 20.000000000000000,
9780 6.0000000000000000, -0.69999999999999996 },
9781 { 2.1911400502042259e-06, 10.000000000000000, 20.000000000000000,
9782 6.0000000000000000, -0.59999999999999998 },
9783 { 4.7440049217199358e-06, 10.000000000000000, 20.000000000000000,
9784 6.0000000000000000, -0.50000000000000000 },
9785 { -1.0564233315113883e-05, 10.000000000000000, 20.000000000000000,
9786 6.0000000000000000, -0.40000000000000002 },
9787 { -0.00017990026051873263, 10.000000000000000, 20.000000000000000,
9788 6.0000000000000000, -0.30000000000000004 },
9789 { -0.00027618146288724629, 10.000000000000000, 20.000000000000000,
9790 6.0000000000000000, -0.19999999999999996 },
9791 { 0.030606019577723666, 10.000000000000000, 20.000000000000000,
9792 6.0000000000000000, -0.099999999999999978 },
9793 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
9794 6.0000000000000000, 0.0000000000000000 },
9795 { 27.832854169493341, 10.000000000000000, 20.000000000000000,
9796 6.0000000000000000, 0.10000000000000009 },
9797 { 874.00624088575228, 10.000000000000000, 20.000000000000000,
9798 6.0000000000000000, 0.19999999999999996 },
9799 { 36049.199340831554, 10.000000000000000, 20.000000000000000,
9800 6.0000000000000000, 0.30000000000000004 },
9801 { 2270967.7298624986, 10.000000000000000, 20.000000000000000,
9802 6.0000000000000000, 0.39999999999999991 },
9803 { 266979100.44444439, 10.000000000000000, 20.000000000000000,
9804 6.0000000000000000, 0.50000000000000000 },
9805 { 80311224337.493027, 10.000000000000000, 20.000000000000000,
9806 6.0000000000000000, 0.60000000000000009 },
9807 { 110111693103799.72, 10.000000000000000, 20.000000000000000,
9808 6.0000000000000000, 0.69999999999999996 },
9809 { 2.4838871426052618e+18, 10.000000000000000, 20.000000000000000,
9810 6.0000000000000000, 0.80000000000000004 },
9811 { 5.4626349999998603e+25, 10.000000000000000, 20.000000000000000,
9812 6.0000000000000000, 0.89999999999999991 },
9814 const double toler208
= 2.5000000000000020e-13;
9816 // Test data for a=10.000000000000000, b=20.000000000000000, c=8.0000000000000000.
9817 // max(|f - f_GSL|): 100663296.00000000
9818 // max(|f - f_GSL| / |f_GSL|): 1.9414329026037087e-15
9819 const testcase_hyperg
<double>
9822 { -1.5843795889906876e-07, 10.000000000000000, 20.000000000000000,
9823 8.0000000000000000, -0.90000000000000002 },
9824 { -5.4877276002864784e-07, 10.000000000000000, 20.000000000000000,
9825 8.0000000000000000, -0.80000000000000004 },
9826 { -1.7169507967699695e-06, 10.000000000000000, 20.000000000000000,
9827 8.0000000000000000, -0.69999999999999996 },
9828 { -4.5236439749819329e-06, 10.000000000000000, 20.000000000000000,
9829 8.0000000000000000, -0.59999999999999998 },
9830 { -5.5690492560381956e-06, 10.000000000000000, 20.000000000000000,
9831 8.0000000000000000, -0.50000000000000000 },
9832 { 5.6914115607022928e-05, 10.000000000000000, 20.000000000000000,
9833 8.0000000000000000, -0.40000000000000002 },
9834 { 0.00082507252097525810, 10.000000000000000, 20.000000000000000,
9835 8.0000000000000000, -0.30000000000000004 },
9836 { 0.0085739249288230429, 10.000000000000000, 20.000000000000000,
9837 8.0000000000000000, -0.19999999999999996 },
9838 { 0.088244357683754687, 10.000000000000000, 20.000000000000000,
9839 8.0000000000000000, -0.099999999999999978 },
9840 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
9841 8.0000000000000000, 0.0000000000000000 },
9842 { 13.387208440156897, 10.000000000000000, 20.000000000000000,
9843 8.0000000000000000, 0.10000000000000009 },
9844 { 226.77895441155110, 10.000000000000000, 20.000000000000000,
9845 8.0000000000000000, 0.19999999999999996 },
9846 { 5281.5716482686785, 10.000000000000000, 20.000000000000000,
9847 8.0000000000000000, 0.30000000000000004 },
9848 { 189431.77762850464, 10.000000000000000, 20.000000000000000,
9849 8.0000000000000000, 0.39999999999999991 },
9850 { 12408149.333333332, 10.000000000000000, 20.000000000000000,
9851 8.0000000000000000, 0.50000000000000000 },
9852 { 1966782292.5839682, 10.000000000000000, 20.000000000000000,
9853 8.0000000000000000, 0.60000000000000009 },
9854 { 1274123112205.7495, 10.000000000000000, 20.000000000000000,
9855 8.0000000000000000, 0.69999999999999996 },
9856 { 10903676350911508., 10.000000000000000, 20.000000000000000,
9857 8.0000000000000000, 0.80000000000000004 },
9858 { 5.1849999999998819e+22, 10.000000000000000, 20.000000000000000,
9859 8.0000000000000000, 0.89999999999999991 },
9861 const double toler209
= 2.5000000000000020e-13;
9863 // Test data for a=10.000000000000000, b=20.000000000000000, c=10.000000000000000.
9864 // max(|f - f_GSL|): 425984.00000000000
9865 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
9866 const testcase_hyperg
<double>
9869 { 2.6602838683283435e-06, 10.000000000000000, 20.000000000000000,
9870 10.000000000000000, -0.90000000000000002 },
9871 { 7.8442223930072316e-06, 10.000000000000000, 20.000000000000000,
9872 10.000000000000000, -0.80000000000000004 },
9873 { 2.4604898194634598e-05, 10.000000000000000, 20.000000000000000,
9874 10.000000000000000, -0.69999999999999996 },
9875 { 8.2718061255302686e-05, 10.000000000000000, 20.000000000000000,
9876 10.000000000000000, -0.59999999999999998 },
9877 { 0.00030072865982171723, 10.000000000000000, 20.000000000000000,
9878 10.000000000000000, -0.50000000000000000 },
9879 { 0.0011951964277455193, 10.000000000000000, 20.000000000000000,
9880 10.000000000000000, -0.40000000000000002 },
9881 { 0.0052617832469731814, 10.000000000000000, 20.000000000000000,
9882 10.000000000000000, -0.30000000000000004 },
9883 { 0.026084053304588847, 10.000000000000000, 20.000000000000000,
9884 10.000000000000000, -0.19999999999999996 },
9885 { 0.14864362802414346, 10.000000000000000, 20.000000000000000,
9886 10.000000000000000, -0.099999999999999978 },
9887 { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
9888 10.000000000000000, 0.0000000000000000 },
9889 { 8.2252633399699757, 10.000000000000000, 20.000000000000000,
9890 10.000000000000000, 0.10000000000000009 },
9891 { 86.736173798840269, 10.000000000000000, 20.000000000000000,
9892 10.000000000000000, 0.19999999999999996 },
9893 { 1253.2542894196865, 10.000000000000000, 20.000000000000000,
9894 10.000000000000000, 0.30000000000000004 },
9895 { 27351.112277912434, 10.000000000000000, 20.000000000000000,
9896 10.000000000000000, 0.39999999999999991 },
9897 { 1048576.0000000000, 10.000000000000000, 20.000000000000000,
9898 10.000000000000000, 0.50000000000000000 },
9899 { 90949470.177293226, 10.000000000000000, 20.000000000000000,
9900 10.000000000000000, 0.60000000000000009 },
9901 { 28679719907.924358, 10.000000000000000, 20.000000000000000,
9902 10.000000000000000, 0.69999999999999996 },
9903 { 95367431640624.906, 10.000000000000000, 20.000000000000000,
9904 10.000000000000000, 0.80000000000000004 },
9905 { 9.9999999999998657e+19, 10.000000000000000, 20.000000000000000,
9906 10.000000000000000, 0.89999999999999991 },
9908 const double toler210
= 5.0000000000000039e-13;
9910 // Test data for a=20.000000000000000, b=0.0000000000000000, c=2.0000000000000000.
9911 // max(|f - f_GSL|): 0.0000000000000000
9912 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
9913 const testcase_hyperg
<double>
9916 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9917 2.0000000000000000, -0.90000000000000002 },
9918 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9919 2.0000000000000000, -0.80000000000000004 },
9920 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9921 2.0000000000000000, -0.69999999999999996 },
9922 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9923 2.0000000000000000, -0.59999999999999998 },
9924 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9925 2.0000000000000000, -0.50000000000000000 },
9926 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9927 2.0000000000000000, -0.40000000000000002 },
9928 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9929 2.0000000000000000, -0.30000000000000004 },
9930 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9931 2.0000000000000000, -0.19999999999999996 },
9932 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9933 2.0000000000000000, -0.099999999999999978 },
9934 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9935 2.0000000000000000, 0.0000000000000000 },
9936 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9937 2.0000000000000000, 0.10000000000000009 },
9938 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9939 2.0000000000000000, 0.19999999999999996 },
9940 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9941 2.0000000000000000, 0.30000000000000004 },
9942 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9943 2.0000000000000000, 0.39999999999999991 },
9944 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9945 2.0000000000000000, 0.50000000000000000 },
9946 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9947 2.0000000000000000, 0.60000000000000009 },
9948 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9949 2.0000000000000000, 0.69999999999999996 },
9950 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9951 2.0000000000000000, 0.80000000000000004 },
9952 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9953 2.0000000000000000, 0.89999999999999991 },
9955 const double toler211
= 2.5000000000000020e-13;
9957 // Test data for a=20.000000000000000, b=0.0000000000000000, c=4.0000000000000000.
9958 // max(|f - f_GSL|): 0.0000000000000000
9959 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
9960 const testcase_hyperg
<double>
9963 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9964 4.0000000000000000, -0.90000000000000002 },
9965 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9966 4.0000000000000000, -0.80000000000000004 },
9967 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9968 4.0000000000000000, -0.69999999999999996 },
9969 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9970 4.0000000000000000, -0.59999999999999998 },
9971 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9972 4.0000000000000000, -0.50000000000000000 },
9973 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9974 4.0000000000000000, -0.40000000000000002 },
9975 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9976 4.0000000000000000, -0.30000000000000004 },
9977 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9978 4.0000000000000000, -0.19999999999999996 },
9979 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9980 4.0000000000000000, -0.099999999999999978 },
9981 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9982 4.0000000000000000, 0.0000000000000000 },
9983 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9984 4.0000000000000000, 0.10000000000000009 },
9985 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9986 4.0000000000000000, 0.19999999999999996 },
9987 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9988 4.0000000000000000, 0.30000000000000004 },
9989 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9990 4.0000000000000000, 0.39999999999999991 },
9991 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9992 4.0000000000000000, 0.50000000000000000 },
9993 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9994 4.0000000000000000, 0.60000000000000009 },
9995 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9996 4.0000000000000000, 0.69999999999999996 },
9997 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
9998 4.0000000000000000, 0.80000000000000004 },
9999 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10000 4.0000000000000000, 0.89999999999999991 },
10002 const double toler212
= 2.5000000000000020e-13;
10004 // Test data for a=20.000000000000000, b=0.0000000000000000, c=6.0000000000000000.
10005 // max(|f - f_GSL|): 0.0000000000000000
10006 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10007 const testcase_hyperg
<double>
10010 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10011 6.0000000000000000, -0.90000000000000002 },
10012 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10013 6.0000000000000000, -0.80000000000000004 },
10014 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10015 6.0000000000000000, -0.69999999999999996 },
10016 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10017 6.0000000000000000, -0.59999999999999998 },
10018 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10019 6.0000000000000000, -0.50000000000000000 },
10020 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10021 6.0000000000000000, -0.40000000000000002 },
10022 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10023 6.0000000000000000, -0.30000000000000004 },
10024 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10025 6.0000000000000000, -0.19999999999999996 },
10026 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10027 6.0000000000000000, -0.099999999999999978 },
10028 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10029 6.0000000000000000, 0.0000000000000000 },
10030 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10031 6.0000000000000000, 0.10000000000000009 },
10032 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10033 6.0000000000000000, 0.19999999999999996 },
10034 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10035 6.0000000000000000, 0.30000000000000004 },
10036 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10037 6.0000000000000000, 0.39999999999999991 },
10038 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10039 6.0000000000000000, 0.50000000000000000 },
10040 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10041 6.0000000000000000, 0.60000000000000009 },
10042 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10043 6.0000000000000000, 0.69999999999999996 },
10044 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10045 6.0000000000000000, 0.80000000000000004 },
10046 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10047 6.0000000000000000, 0.89999999999999991 },
10049 const double toler213
= 2.5000000000000020e-13;
10051 // Test data for a=20.000000000000000, b=0.0000000000000000, c=8.0000000000000000.
10052 // max(|f - f_GSL|): 0.0000000000000000
10053 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10054 const testcase_hyperg
<double>
10057 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10058 8.0000000000000000, -0.90000000000000002 },
10059 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10060 8.0000000000000000, -0.80000000000000004 },
10061 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10062 8.0000000000000000, -0.69999999999999996 },
10063 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10064 8.0000000000000000, -0.59999999999999998 },
10065 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10066 8.0000000000000000, -0.50000000000000000 },
10067 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10068 8.0000000000000000, -0.40000000000000002 },
10069 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10070 8.0000000000000000, -0.30000000000000004 },
10071 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10072 8.0000000000000000, -0.19999999999999996 },
10073 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10074 8.0000000000000000, -0.099999999999999978 },
10075 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10076 8.0000000000000000, 0.0000000000000000 },
10077 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10078 8.0000000000000000, 0.10000000000000009 },
10079 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10080 8.0000000000000000, 0.19999999999999996 },
10081 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10082 8.0000000000000000, 0.30000000000000004 },
10083 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10084 8.0000000000000000, 0.39999999999999991 },
10085 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10086 8.0000000000000000, 0.50000000000000000 },
10087 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10088 8.0000000000000000, 0.60000000000000009 },
10089 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10090 8.0000000000000000, 0.69999999999999996 },
10091 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10092 8.0000000000000000, 0.80000000000000004 },
10093 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10094 8.0000000000000000, 0.89999999999999991 },
10096 const double toler214
= 2.5000000000000020e-13;
10098 // Test data for a=20.000000000000000, b=0.0000000000000000, c=10.000000000000000.
10099 // max(|f - f_GSL|): 0.0000000000000000
10100 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
10101 const testcase_hyperg
<double>
10104 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10105 10.000000000000000, -0.90000000000000002 },
10106 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10107 10.000000000000000, -0.80000000000000004 },
10108 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10109 10.000000000000000, -0.69999999999999996 },
10110 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10111 10.000000000000000, -0.59999999999999998 },
10112 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10113 10.000000000000000, -0.50000000000000000 },
10114 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10115 10.000000000000000, -0.40000000000000002 },
10116 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10117 10.000000000000000, -0.30000000000000004 },
10118 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10119 10.000000000000000, -0.19999999999999996 },
10120 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10121 10.000000000000000, -0.099999999999999978 },
10122 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10123 10.000000000000000, 0.0000000000000000 },
10124 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10125 10.000000000000000, 0.10000000000000009 },
10126 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10127 10.000000000000000, 0.19999999999999996 },
10128 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10129 10.000000000000000, 0.30000000000000004 },
10130 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10131 10.000000000000000, 0.39999999999999991 },
10132 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10133 10.000000000000000, 0.50000000000000000 },
10134 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10135 10.000000000000000, 0.60000000000000009 },
10136 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10137 10.000000000000000, 0.69999999999999996 },
10138 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10139 10.000000000000000, 0.80000000000000004 },
10140 { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
10141 10.000000000000000, 0.89999999999999991 },
10143 const double toler215
= 2.5000000000000020e-13;
10145 // Test data for a=20.000000000000000, b=0.50000000000000000, c=2.0000000000000000.
10146 // max(|f - f_GSL|): 48.000000000000000
10147 // max(|f - f_GSL| / |f_GSL|): 1.8556481344875154e-15
10148 const testcase_hyperg
<double>
10151 { 0.26690449940521549, 20.000000000000000, 0.50000000000000000,
10152 2.0000000000000000, -0.90000000000000002 },
10153 { 0.28252302866181833, 20.000000000000000, 0.50000000000000000,
10154 2.0000000000000000, -0.80000000000000004 },
10155 { 0.30123616141153836, 20.000000000000000, 0.50000000000000000,
10156 2.0000000000000000, -0.69999999999999996 },
10157 { 0.32421384687602633, 20.000000000000000, 0.50000000000000000,
10158 2.0000000000000000, -0.59999999999999998 },
10159 { 0.35334630811776774, 20.000000000000000, 0.50000000000000000,
10160 2.0000000000000000, -0.50000000000000000 },
10161 { 0.39191793127467028, 20.000000000000000, 0.50000000000000000,
10162 2.0000000000000000, -0.40000000000000002 },
10163 { 0.44620488618129195, 20.000000000000000, 0.50000000000000000,
10164 2.0000000000000000, -0.30000000000000004 },
10165 { 0.52980896919265719, 20.000000000000000, 0.50000000000000000,
10166 2.0000000000000000, -0.19999999999999996 },
10167 { 0.67754711477562324, 20.000000000000000, 0.50000000000000000,
10168 2.0000000000000000, -0.099999999999999978 },
10169 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10170 2.0000000000000000, 0.0000000000000000 },
10171 { 1.9567557771780317, 20.000000000000000, 0.50000000000000000,
10172 2.0000000000000000, 0.10000000000000009 },
10173 { 6.1816042148333086, 20.000000000000000, 0.50000000000000000,
10174 2.0000000000000000, 0.19999999999999996 },
10175 { 35.653088618561227, 20.000000000000000, 0.50000000000000000,
10176 2.0000000000000000, 0.30000000000000004 },
10177 { 377.51482843179906, 20.000000000000000, 0.50000000000000000,
10178 2.0000000000000000, 0.39999999999999991 },
10179 { 7645.8816551195359, 20.000000000000000, 0.50000000000000000,
10180 2.0000000000000000, 0.50000000000000000 },
10181 { 354791.74537980522, 20.000000000000000, 0.50000000000000000,
10182 2.0000000000000000, 0.60000000000000009 },
10183 { 57009889.966638684, 20.000000000000000, 0.50000000000000000,
10184 2.0000000000000000, 0.69999999999999996 },
10185 { 83771357024.863937, 20.000000000000000, 0.50000000000000000,
10186 2.0000000000000000, 0.80000000000000004 },
10187 { 25866972896376408., 20.000000000000000, 0.50000000000000000,
10188 2.0000000000000000, 0.89999999999999991 },
10190 const double toler216
= 2.5000000000000020e-13;
10192 // Test data for a=20.000000000000000, b=0.50000000000000000, c=4.0000000000000000.
10193 // max(|f - f_GSL|): 0.011718750000000000
10194 // max(|f - f_GSL| / |f_GSL|): 1.7519521419034139e-15
10195 const testcase_hyperg
<double>
10198 { 0.40342659436153389, 20.000000000000000, 0.50000000000000000,
10199 4.0000000000000000, -0.90000000000000002 },
10200 { 0.42420571192034318, 20.000000000000000, 0.50000000000000000,
10201 4.0000000000000000, -0.80000000000000004 },
10202 { 0.44852768286073041, 20.000000000000000, 0.50000000000000000,
10203 4.0000000000000000, -0.69999999999999996 },
10204 { 0.47751245808592863, 20.000000000000000, 0.50000000000000000,
10205 4.0000000000000000, -0.59999999999999998 },
10206 { 0.51283632632707765, 20.000000000000000, 0.50000000000000000,
10207 4.0000000000000000, -0.50000000000000000 },
10208 { 0.55713468814894329, 20.000000000000000, 0.50000000000000000,
10209 4.0000000000000000, -0.40000000000000002 },
10210 { 0.61481320817757334, 20.000000000000000, 0.50000000000000000,
10211 4.0000000000000000, -0.30000000000000004 },
10212 { 0.69383483410097213, 20.000000000000000, 0.50000000000000000,
10213 4.0000000000000000, -0.19999999999999996 },
10214 { 0.81012002526006044, 20.000000000000000, 0.50000000000000000,
10215 4.0000000000000000, -0.099999999999999978 },
10216 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10217 4.0000000000000000, 0.0000000000000000 },
10218 { 1.3622225506603911, 20.000000000000000, 0.50000000000000000,
10219 4.0000000000000000, 0.10000000000000009 },
10220 { 2.2349513086109001, 20.000000000000000, 0.50000000000000000,
10221 4.0000000000000000, 0.19999999999999996 },
10222 { 5.1864917536761723, 20.000000000000000, 0.50000000000000000,
10223 4.0000000000000000, 0.30000000000000004 },
10224 { 21.020560423779411, 20.000000000000000, 0.50000000000000000,
10225 4.0000000000000000, 0.39999999999999991 },
10226 { 175.19649997100612, 20.000000000000000, 0.50000000000000000,
10227 4.0000000000000000, 0.50000000000000000 },
10228 { 3467.1587803688708, 20.000000000000000, 0.50000000000000000,
10229 4.0000000000000000, 0.60000000000000009 },
10230 { 225003.88683445856, 20.000000000000000, 0.50000000000000000,
10231 4.0000000000000000, 0.69999999999999996 },
10232 { 110837674.65652709, 20.000000000000000, 0.50000000000000000,
10233 4.0000000000000000, 0.80000000000000004 },
10234 { 6688966964170.6807, 20.000000000000000, 0.50000000000000000,
10235 4.0000000000000000, 0.89999999999999991 },
10237 const double toler217
= 2.5000000000000020e-13;
10239 // Test data for a=20.000000000000000, b=0.50000000000000000, c=6.0000000000000000.
10240 // max(|f - f_GSL|): 1.4305114746093750e-05
10241 // max(|f - f_GSL| / |f_GSL|): 1.9261147266354006e-15
10242 const testcase_hyperg
<double>
10245 { 0.48716309885816822, 20.000000000000000, 0.50000000000000000,
10246 6.0000000000000000, -0.90000000000000002 },
10247 { 0.50965859152542337, 20.000000000000000, 0.50000000000000000,
10248 6.0000000000000000, -0.80000000000000004 },
10249 { 0.53554809210658938, 20.000000000000000, 0.50000000000000000,
10250 6.0000000000000000, -0.69999999999999996 },
10251 { 0.56576689207507136, 20.000000000000000, 0.50000000000000000,
10252 6.0000000000000000, -0.59999999999999998 },
10253 { 0.60164849637133655, 20.000000000000000, 0.50000000000000000,
10254 6.0000000000000000, -0.50000000000000000 },
10255 { 0.64516711595404364, 20.000000000000000, 0.50000000000000000,
10256 6.0000000000000000, -0.40000000000000002 },
10257 { 0.69938278735493520, 20.000000000000000, 0.50000000000000000,
10258 6.0000000000000000, -0.30000000000000004 },
10259 { 0.76931621518401860, 20.000000000000000, 0.50000000000000000,
10260 6.0000000000000000, -0.19999999999999996 },
10261 { 0.86381808725530662, 20.000000000000000, 0.50000000000000000,
10262 6.0000000000000000, -0.099999999999999978 },
10263 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10264 6.0000000000000000, 0.0000000000000000 },
10265 { 1.2152051956815531, 20.000000000000000, 0.50000000000000000,
10266 6.0000000000000000, 0.10000000000000009 },
10267 { 1.6052546785425543, 20.000000000000000, 0.50000000000000000,
10268 6.0000000000000000, 0.19999999999999996 },
10269 { 2.4765586046012635, 20.000000000000000, 0.50000000000000000,
10270 6.0000000000000000, 0.30000000000000004 },
10271 { 5.1564492216997486, 20.000000000000000, 0.50000000000000000,
10272 6.0000000000000000, 0.39999999999999991 },
10273 { 18.446158392136365, 20.000000000000000, 0.50000000000000000,
10274 6.0000000000000000, 0.50000000000000000 },
10275 { 150.44577670123971, 20.000000000000000, 0.50000000000000000,
10276 6.0000000000000000, 0.60000000000000009 },
10277 { 3862.6317400115768, 20.000000000000000, 0.50000000000000000,
10278 6.0000000000000000, 0.69999999999999996 },
10279 { 632428.34833625401, 20.000000000000000, 0.50000000000000000,
10280 6.0000000000000000, 0.80000000000000004 },
10281 { 7426927663.3808765, 20.000000000000000, 0.50000000000000000,
10282 6.0000000000000000, 0.89999999999999991 },
10284 const double toler218
= 2.5000000000000020e-13;
10286 // Test data for a=20.000000000000000, b=0.50000000000000000, c=8.0000000000000000.
10287 // max(|f - f_GSL|): 4.0978193283081055e-08
10288 // max(|f - f_GSL| / |f_GSL|): 1.7692881266931737e-15
10289 const testcase_hyperg
<double>
10292 { 0.54703266209548373, 20.000000000000000, 0.50000000000000000,
10293 8.0000000000000000, -0.90000000000000002 },
10294 { 0.56997321774144960, 20.000000000000000, 0.50000000000000000,
10295 8.0000000000000000, -0.80000000000000004 },
10296 { 0.59603026159654982, 20.000000000000000, 0.50000000000000000,
10297 8.0000000000000000, -0.69999999999999996 },
10298 { 0.62596978851120511, 20.000000000000000, 0.50000000000000000,
10299 8.0000000000000000, -0.59999999999999998 },
10300 { 0.66084565876898915, 20.000000000000000, 0.50000000000000000,
10301 8.0000000000000000, -0.50000000000000000 },
10302 { 0.70215256667232873, 20.000000000000000, 0.50000000000000000,
10303 8.0000000000000000, -0.40000000000000002 },
10304 { 0.75208916592008557, 20.000000000000000, 0.50000000000000000,
10305 8.0000000000000000, -0.30000000000000004 },
10306 { 0.81403631111658625, 20.000000000000000, 0.50000000000000000,
10307 8.0000000000000000, -0.19999999999999996 },
10308 { 0.89348608489854597, 20.000000000000000, 0.50000000000000000,
10309 8.0000000000000000, -0.099999999999999978 },
10310 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10311 8.0000000000000000, 0.0000000000000000 },
10312 { 1.1517793185139173, 20.000000000000000, 0.50000000000000000,
10313 8.0000000000000000, 0.10000000000000009 },
10314 { 1.3878110313656598, 20.000000000000000, 0.50000000000000000,
10315 8.0000000000000000, 0.19999999999999996 },
10316 { 1.8061071794572381, 20.000000000000000, 0.50000000000000000,
10317 8.0000000000000000, 0.30000000000000004 },
10318 { 2.7148594517859586, 20.000000000000000, 0.50000000000000000,
10319 8.0000000000000000, 0.39999999999999991 },
10320 { 5.4529435709049361, 20.000000000000000, 0.50000000000000000,
10321 8.0000000000000000, 0.50000000000000000 },
10322 { 19.487310275377109, 20.000000000000000, 0.50000000000000000,
10323 8.0000000000000000, 0.60000000000000009 },
10324 { 191.69079165937470, 20.000000000000000, 0.50000000000000000,
10325 8.0000000000000000, 0.69999999999999996 },
10326 { 10218.543981792311, 20.000000000000000, 0.50000000000000000,
10327 8.0000000000000000, 0.80000000000000004 },
10328 { 23160836.646583911, 20.000000000000000, 0.50000000000000000,
10329 8.0000000000000000, 0.89999999999999991 },
10331 const double toler219
= 2.5000000000000020e-13;
10333 // Test data for a=20.000000000000000, b=0.50000000000000000, c=10.000000000000000.
10334 // max(|f - f_GSL|): 2.9103830456733704e-10
10335 // max(|f - f_GSL| / |f_GSL|): 1.6694673196526831e-15
10336 const testcase_hyperg
<double>
10339 { 0.59292067298616025, 20.000000000000000, 0.50000000000000000,
10340 10.000000000000000, -0.90000000000000002 },
10341 { 0.61572496720679892, 20.000000000000000, 0.50000000000000000,
10342 10.000000000000000, -0.80000000000000004 },
10343 { 0.64135339122875590, 20.000000000000000, 0.50000000000000000,
10344 10.000000000000000, -0.69999999999999996 },
10345 { 0.67043457419280461, 20.000000000000000, 0.50000000000000000,
10346 10.000000000000000, -0.59999999999999998 },
10347 { 0.70380956268170969, 20.000000000000000, 0.50000000000000000,
10348 10.000000000000000, -0.50000000000000000 },
10349 { 0.74263251901495220, 20.000000000000000, 0.50000000000000000,
10350 10.000000000000000, -0.40000000000000002 },
10351 { 0.78853555445528256, 20.000000000000000, 0.50000000000000000,
10352 10.000000000000000, -0.30000000000000004 },
10353 { 0.84391122775673755, 20.000000000000000, 0.50000000000000000,
10354 10.000000000000000, -0.19999999999999996 },
10355 { 0.91242401018807373, 20.000000000000000, 0.50000000000000000,
10356 10.000000000000000, -0.099999999999999978 },
10357 { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
10358 10.000000000000000, 0.0000000000000000 },
10359 { 1.1169059681274873, 20.000000000000000, 0.50000000000000000,
10360 10.000000000000000, 0.10000000000000009 },
10361 { 1.2825928301302667, 20.000000000000000, 0.50000000000000000,
10362 10.000000000000000, 0.19999999999999996 },
10363 { 1.5385937789924939, 20.000000000000000, 0.50000000000000000,
10364 10.000000000000000, 0.30000000000000004 },
10365 { 1.9895771187893898, 20.000000000000000, 0.50000000000000000,
10366 10.000000000000000, 0.39999999999999991 },
10367 { 2.9707335806970168, 20.000000000000000, 0.50000000000000000,
10368 10.000000000000000, 0.50000000000000000 },
10369 { 6.0299506157180467, 20.000000000000000, 0.50000000000000000,
10370 10.000000000000000, 0.60000000000000009 },
10371 { 24.259090336955577, 20.000000000000000, 0.50000000000000000,
10372 10.000000000000000, 0.69999999999999996 },
10373 { 406.27267173257223, 20.000000000000000, 0.50000000000000000,
10374 10.000000000000000, 0.80000000000000004 },
10375 { 174330.03997220192, 20.000000000000000, 0.50000000000000000,
10376 10.000000000000000, 0.89999999999999991 },
10378 const double toler220
= 2.5000000000000020e-13;
10380 // Test data for a=20.000000000000000, b=1.0000000000000000, c=2.0000000000000000.
10381 // max(|f - f_GSL|): 1024.0000000000000
10382 // max(|f - f_GSL| / |f_GSL|): 1.7510400000000382e-15
10383 const testcase_hyperg
<double>
10386 { 0.058479236576646311, 20.000000000000000, 1.0000000000000000,
10387 2.0000000000000000, -0.90000000000000002 },
10388 { 0.065788544763137821, 20.000000000000000, 1.0000000000000000,
10389 2.0000000000000000, -0.80000000000000004 },
10390 { 0.075184824937824482, 20.000000000000000, 1.0000000000000000,
10391 2.0000000000000000, -0.69999999999999996 },
10392 { 0.087707688693157121, 20.000000000000000, 1.0000000000000000,
10393 2.0000000000000000, -0.59999999999999998 },
10394 { 0.10521567442213345, 20.000000000000000, 1.0000000000000000,
10395 2.0000000000000000, -0.50000000000000000 },
10396 { 0.13135877960541550, 20.000000000000000, 1.0000000000000000,
10397 2.0000000000000000, -0.40000000000000002 },
10398 { 0.17423854066297098, 20.000000000000000, 1.0000000000000000,
10399 2.0000000000000000, -0.30000000000000004 },
10400 { 0.25492082527223520, 20.000000000000000, 1.0000000000000000,
10401 2.0000000000000000, -0.19999999999999996 },
10402 { 0.44025895219654843, 20.000000000000000, 1.0000000000000000,
10403 2.0000000000000000, -0.099999999999999978 },
10404 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
10405 2.0000000000000000, 0.0000000000000000 },
10406 { 3.3698615820910360, 20.000000000000000, 1.0000000000000000,
10407 2.0000000000000000, 0.10000000000000009 },
10408 { 17.997089220808483, 20.000000000000000, 1.0000000000000000,
10409 2.0000000000000000, 0.19999999999999996 },
10410 { 153.73298291118951, 20.000000000000000, 1.0000000000000000,
10411 2.0000000000000000, 0.30000000000000004 },
10412 { 2159.1667587825627, 20.000000000000000, 1.0000000000000000,
10413 2.0000000000000000, 0.39999999999999991 },
10414 { 55188.105263157879, 20.000000000000000, 1.0000000000000000,
10415 2.0000000000000000, 0.50000000000000000 },
10416 { 3191209.3921857267, 20.000000000000000, 1.0000000000000000,
10417 2.0000000000000000, 0.60000000000000009 },
10418 { 646910975.29152656, 20.000000000000000, 1.0000000000000000,
10419 2.0000000000000000, 0.69999999999999996 },
10420 { 1254834626850.2659, 20.000000000000000, 1.0000000000000000,
10421 2.0000000000000000, 0.80000000000000004 },
10422 { 5.8479532163741414e+17, 20.000000000000000, 1.0000000000000000,
10423 2.0000000000000000, 0.89999999999999991 },
10425 const double toler221
= 2.5000000000000020e-13;
10427 // Test data for a=20.000000000000000, b=1.0000000000000000, c=4.0000000000000000.
10428 // max(|f - f_GSL|): 0.21875000000000000
10429 // max(|f - f_GSL| / |f_GSL|): 1.5452521875000274e-15
10430 const testcase_hyperg
<double>
10433 { 0.15519511120894958, 20.000000000000000, 1.0000000000000000,
10434 4.0000000000000000, -0.90000000000000002 },
10435 { 0.17197165701692893, 20.000000000000000, 1.0000000000000000,
10436 4.0000000000000000, -0.80000000000000004 },
10437 { 0.19276847315207329, 20.000000000000000, 1.0000000000000000,
10438 4.0000000000000000, -0.69999999999999996 },
10439 { 0.21920107206179093, 20.000000000000000, 1.0000000000000000,
10440 4.0000000000000000, -0.59999999999999998 },
10441 { 0.25386158960390576, 20.000000000000000, 1.0000000000000000,
10442 4.0000000000000000, -0.50000000000000000 },
10443 { 0.30115970686600674, 20.000000000000000, 1.0000000000000000,
10444 4.0000000000000000, -0.40000000000000002 },
10445 { 0.36916408142057106, 20.000000000000000, 1.0000000000000000,
10446 4.0000000000000000, -0.30000000000000004 },
10447 { 0.47406175901569547, 20.000000000000000, 1.0000000000000000,
10448 4.0000000000000000, -0.19999999999999996 },
10449 { 0.65237908266239919, 20.000000000000000, 1.0000000000000000,
10450 4.0000000000000000, -0.099999999999999978 },
10451 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
10452 4.0000000000000000, 0.0000000000000000 },
10453 { 1.8227213362622299, 20.000000000000000, 1.0000000000000000,
10454 4.0000000000000000, 0.10000000000000009 },
10455 { 4.3716358339791332, 20.000000000000000, 1.0000000000000000,
10456 4.0000000000000000, 0.19999999999999996 },
10457 { 15.670841312959222, 20.000000000000000, 1.0000000000000000,
10458 4.0000000000000000, 0.30000000000000004 },
10459 { 94.742651122760179, 20.000000000000000, 1.0000000000000000,
10460 4.0000000000000000, 0.39999999999999991 },
10461 { 1081.7275541795671, 20.000000000000000, 1.0000000000000000,
10462 4.0000000000000000, 0.50000000000000000 },
10463 { 27809.787731465960, 20.000000000000000, 1.0000000000000000,
10464 4.0000000000000000, 0.60000000000000009 },
10465 { 2329811.1715181042, 20.000000000000000, 1.0000000000000000,
10466 4.0000000000000000, 0.69999999999999996 },
10467 { 1537787532.6780224, 20.000000000000000, 1.0000000000000000,
10468 4.0000000000000000, 0.80000000000000004 },
10469 { 141562653506999.88, 20.000000000000000, 1.0000000000000000,
10470 4.0000000000000000, 0.89999999999999991 },
10472 const double toler222
= 2.5000000000000020e-13;
10474 // Test data for a=20.000000000000000, b=1.0000000000000000, c=6.0000000000000000.
10475 // max(|f - f_GSL|): 0.00024414062500000000
10476 // max(|f - f_GSL| / |f_GSL|): 1.6763226855512825e-15
10477 const testcase_hyperg
<double>
10480 { 0.23253645591196551, 20.000000000000000, 1.0000000000000000,
10481 6.0000000000000000, -0.90000000000000002 },
10482 { 0.25484220947068342, 20.000000000000000, 1.0000000000000000,
10483 6.0000000000000000, -0.80000000000000004 },
10484 { 0.28181987881113812, 20.000000000000000, 1.0000000000000000,
10485 6.0000000000000000, -0.69999999999999996 },
10486 { 0.31508211677735770, 20.000000000000000, 1.0000000000000000,
10487 6.0000000000000000, -0.59999999999999998 },
10488 { 0.35706285886959610, 20.000000000000000, 1.0000000000000000,
10489 6.0000000000000000, -0.50000000000000000 },
10490 { 0.41160053409238206, 20.000000000000000, 1.0000000000000000,
10491 6.0000000000000000, -0.40000000000000002 },
10492 { 0.48508083111181960, 20.000000000000000, 1.0000000000000000,
10493 6.0000000000000000, -0.30000000000000004 },
10494 { 0.58885194371375260, 20.000000000000000, 1.0000000000000000,
10495 6.0000000000000000, -0.19999999999999996 },
10496 { 0.74482241684585782, 20.000000000000000, 1.0000000000000000,
10497 6.0000000000000000, -0.099999999999999978 },
10498 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
10499 6.0000000000000000, 0.0000000000000000 },
10500 { 1.4700356864367146, 20.000000000000000, 1.0000000000000000,
10501 6.0000000000000000, 0.10000000000000009 },
10502 { 2.4955144453055143, 20.000000000000000, 1.0000000000000000,
10503 6.0000000000000000, 0.19999999999999996 },
10504 { 5.3506594845833471, 20.000000000000000, 1.0000000000000000,
10505 6.0000000000000000, 0.30000000000000004 },
10506 { 16.618413752184221, 20.000000000000000, 1.0000000000000000,
10507 6.0000000000000000, 0.39999999999999991 },
10508 { 89.310629514963878, 20.000000000000000, 1.0000000000000000,
10509 6.0000000000000000, 0.50000000000000000 },
10510 { 1029.3439900542960, 20.000000000000000, 1.0000000000000000,
10511 6.0000000000000000, 0.60000000000000009 },
10512 { 35659.847863372350, 20.000000000000000, 1.0000000000000000,
10513 6.0000000000000000, 0.69999999999999996 },
10514 { 8009309.6233230168, 20.000000000000000, 1.0000000000000000,
10515 6.0000000000000000, 0.80000000000000004 },
10516 { 145640590027.39731, 20.000000000000000, 1.0000000000000000,
10517 6.0000000000000000, 0.89999999999999991 },
10519 const double toler223
= 2.5000000000000020e-13;
10521 // Test data for a=20.000000000000000, b=1.0000000000000000, c=8.0000000000000000.
10522 // max(|f - f_GSL|): 7.1525573730468750e-07
10523 // max(|f - f_GSL| / |f_GSL|): 1.7237966704608456e-15
10524 const testcase_hyperg
<double>
10527 { 0.29614148314592509, 20.000000000000000, 1.0000000000000000,
10528 8.0000000000000000, -0.90000000000000002 },
10529 { 0.32176277356430805, 20.000000000000000, 1.0000000000000000,
10530 8.0000000000000000, -0.80000000000000004 },
10531 { 0.35217870475550511, 20.000000000000000, 1.0000000000000000,
10532 8.0000000000000000, -0.69999999999999996 },
10533 { 0.38885270445515113, 20.000000000000000, 1.0000000000000000,
10534 8.0000000000000000, -0.59999999999999998 },
10535 { 0.43389978380608418, 20.000000000000000, 1.0000000000000000,
10536 8.0000000000000000, -0.50000000000000000 },
10537 { 0.49048612522269458, 20.000000000000000, 1.0000000000000000,
10538 8.0000000000000000, -0.40000000000000002 },
10539 { 0.56355539635634599, 20.000000000000000, 1.0000000000000000,
10540 8.0000000000000000, -0.30000000000000004 },
10541 { 0.66123153239117671, 20.000000000000000, 1.0000000000000000,
10542 8.0000000000000000, -0.19999999999999996 },
10543 { 0.79773363961895416, 20.000000000000000, 1.0000000000000000,
10544 8.0000000000000000, -0.099999999999999978 },
10545 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
10546 8.0000000000000000, 0.0000000000000000 },
10547 { 1.3245132157016595, 20.000000000000000, 1.0000000000000000,
10548 8.0000000000000000, 0.10000000000000009 },
10549 { 1.9065148749742076, 20.000000000000000, 1.0000000000000000,
10550 8.0000000000000000, 0.19999999999999996 },
10551 { 3.1328798652457452, 20.000000000000000, 1.0000000000000000,
10552 8.0000000000000000, 0.30000000000000004 },
10553 { 6.4172532944033476, 20.000000000000000, 1.0000000000000000,
10554 8.0000000000000000, 0.39999999999999991 },
10555 { 19.071683734222436, 20.000000000000000, 1.0000000000000000,
10556 8.0000000000000000, 0.50000000000000000 },
10557 { 104.41989641582512, 20.000000000000000, 1.0000000000000000,
10558 8.0000000000000000, 0.60000000000000009 },
10559 { 1510.5743992324240, 20.000000000000000, 1.0000000000000000,
10560 8.0000000000000000, 0.69999999999999996 },
10561 { 115518.14360562043, 20.000000000000000, 1.0000000000000000,
10562 8.0000000000000000, 0.80000000000000004 },
10563 { 414930455.29173034, 20.000000000000000, 1.0000000000000000,
10564 8.0000000000000000, 0.89999999999999991 },
10566 const double toler224
= 2.5000000000000020e-13;
10568 // Test data for a=20.000000000000000, b=1.0000000000000000, c=10.000000000000000.
10569 // max(|f - f_GSL|): 4.6566128730773926e-09
10570 // max(|f - f_GSL| / |f_GSL|): 1.6665618165272271e-15
10571 const testcase_hyperg
<double>
10574 { 0.34954259539177701, 20.000000000000000, 1.0000000000000000,
10575 10.000000000000000, -0.90000000000000002 },
10576 { 0.37714038609235134, 20.000000000000000, 1.0000000000000000,
10577 10.000000000000000, -0.80000000000000004 },
10578 { 0.40942091659748781, 20.000000000000000, 1.0000000000000000,
10579 10.000000000000000, -0.69999999999999996 },
10580 { 0.44767109606846422, 20.000000000000000, 1.0000000000000000,
10581 10.000000000000000, -0.59999999999999998 },
10582 { 0.49368984777532227, 20.000000000000000, 1.0000000000000000,
10583 10.000000000000000, -0.50000000000000000 },
10584 { 0.55006638216982295, 20.000000000000000, 1.0000000000000000,
10585 10.000000000000000, -0.40000000000000002 },
10586 { 0.62065830207408890, 20.000000000000000, 1.0000000000000000,
10587 10.000000000000000, -0.30000000000000004 },
10588 { 0.71145554513583764, 20.000000000000000, 1.0000000000000000,
10589 10.000000000000000, -0.19999999999999996 },
10590 { 0.83223839666914623, 20.000000000000000, 1.0000000000000000,
10591 10.000000000000000, -0.099999999999999978 },
10592 { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
10593 10.000000000000000, 0.0000000000000000 },
10594 { 1.2466748028187731, 20.000000000000000, 1.0000000000000000,
10595 10.000000000000000, 0.10000000000000009 },
10596 { 1.6386752725021749, 20.000000000000000, 1.0000000000000000,
10597 10.000000000000000, 0.19999999999999996 },
10598 { 2.3340068725479681, 20.000000000000000, 1.0000000000000000,
10599 10.000000000000000, 0.30000000000000004 },
10600 { 3.7848108613132054, 20.000000000000000, 1.0000000000000000,
10601 10.000000000000000, 0.39999999999999991 },
10602 { 7.6754638550304133, 20.000000000000000, 1.0000000000000000,
10603 10.000000000000000, 0.50000000000000000 },
10604 { 23.344217312927277, 20.000000000000000, 1.0000000000000000,
10605 10.000000000000000, 0.60000000000000009 },
10606 { 149.83491198246921, 20.000000000000000, 1.0000000000000000,
10607 10.000000000000000, 0.69999999999999996 },
10608 { 3936.9253501916060, 20.000000000000000, 1.0000000000000000,
10609 10.000000000000000, 0.80000000000000004 },
10610 { 2794143.5036480185, 20.000000000000000, 1.0000000000000000,
10611 10.000000000000000, 0.89999999999999991 },
10613 const double toler225
= 2.5000000000000020e-13;
10615 // Test data for a=20.000000000000000, b=2.0000000000000000, c=2.0000000000000000.
10616 // max(|f - f_GSL|): 425984.00000000000
10617 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
10618 const testcase_hyperg
<double>
10621 { 2.6602838683283435e-06, 20.000000000000000, 2.0000000000000000,
10622 2.0000000000000000, -0.90000000000000002 },
10623 { 7.8442223930072316e-06, 20.000000000000000, 2.0000000000000000,
10624 2.0000000000000000, -0.80000000000000004 },
10625 { 2.4604898194634598e-05, 20.000000000000000, 2.0000000000000000,
10626 2.0000000000000000, -0.69999999999999996 },
10627 { 8.2718061255302686e-05, 20.000000000000000, 2.0000000000000000,
10628 2.0000000000000000, -0.59999999999999998 },
10629 { 0.00030072865982171723, 20.000000000000000, 2.0000000000000000,
10630 2.0000000000000000, -0.50000000000000000 },
10631 { 0.0011951964277455193, 20.000000000000000, 2.0000000000000000,
10632 2.0000000000000000, -0.40000000000000002 },
10633 { 0.0052617832469731814, 20.000000000000000, 2.0000000000000000,
10634 2.0000000000000000, -0.30000000000000004 },
10635 { 0.026084053304588847, 20.000000000000000, 2.0000000000000000,
10636 2.0000000000000000, -0.19999999999999996 },
10637 { 0.14864362802414346, 20.000000000000000, 2.0000000000000000,
10638 2.0000000000000000, -0.099999999999999978 },
10639 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
10640 2.0000000000000000, 0.0000000000000000 },
10641 { 8.2252633399699757, 20.000000000000000, 2.0000000000000000,
10642 2.0000000000000000, 0.10000000000000009 },
10643 { 86.736173798840269, 20.000000000000000, 2.0000000000000000,
10644 2.0000000000000000, 0.19999999999999996 },
10645 { 1253.2542894196865, 20.000000000000000, 2.0000000000000000,
10646 2.0000000000000000, 0.30000000000000004 },
10647 { 27351.112277912434, 20.000000000000000, 2.0000000000000000,
10648 2.0000000000000000, 0.39999999999999991 },
10649 { 1048576.0000000000, 20.000000000000000, 2.0000000000000000,
10650 2.0000000000000000, 0.50000000000000000 },
10651 { 90949470.177293226, 20.000000000000000, 2.0000000000000000,
10652 2.0000000000000000, 0.60000000000000009 },
10653 { 28679719907.924358, 20.000000000000000, 2.0000000000000000,
10654 2.0000000000000000, 0.69999999999999996 },
10655 { 95367431640624.906, 20.000000000000000, 2.0000000000000000,
10656 2.0000000000000000, 0.80000000000000004 },
10657 { 9.9999999999998657e+19, 20.000000000000000, 2.0000000000000000,
10658 2.0000000000000000, 0.89999999999999991 },
10660 const double toler226
= 5.0000000000000039e-13;
10662 // Test data for a=20.000000000000000, b=2.0000000000000000, c=4.0000000000000000.
10663 // max(|f - f_GSL|): 40.000000000000000
10664 // max(|f - f_GSL| / |f_GSL|): 1.8712609271523571e-15
10665 const testcase_hyperg
<double>
10668 { 0.018828092583720632, 20.000000000000000, 2.0000000000000000,
10669 4.0000000000000000, -0.90000000000000002 },
10670 { 0.023381944060455365, 20.000000000000000, 2.0000000000000000,
10671 4.0000000000000000, -0.80000000000000004 },
10672 { 0.029789623984280887, 20.000000000000000, 2.0000000000000000,
10673 4.0000000000000000, -0.69999999999999996 },
10674 { 0.039191021482500567, 20.000000000000000, 2.0000000000000000,
10675 4.0000000000000000, -0.59999999999999998 },
10676 { 0.053727813036721528, 20.000000000000000, 2.0000000000000000,
10677 4.0000000000000000, -0.50000000000000000 },
10678 { 0.077762010061669079, 20.000000000000000, 2.0000000000000000,
10679 4.0000000000000000, -0.40000000000000002 },
10680 { 0.12110505620123306, 20.000000000000000, 2.0000000000000000,
10681 4.0000000000000000, -0.30000000000000004 },
10682 { 0.20870149809080582, 20.000000000000000, 2.0000000000000000,
10683 4.0000000000000000, -0.19999999999999996 },
10684 { 0.41429234328785763, 20.000000000000000, 2.0000000000000000,
10685 4.0000000000000000, -0.099999999999999978 },
10686 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
10687 4.0000000000000000, 0.0000000000000000 },
10688 { 3.1308087404153113, 20.000000000000000, 2.0000000000000000,
10689 4.0000000000000000, 0.10000000000000009 },
10690 { 13.586180626453050, 20.000000000000000, 2.0000000000000000,
10691 4.0000000000000000, 0.19999999999999996 },
10692 { 87.117304082784415, 20.000000000000000, 2.0000000000000000,
10693 4.0000000000000000, 0.30000000000000004 },
10694 { 889.26474381242826, 20.000000000000000, 2.0000000000000000,
10695 4.0000000000000000, 0.39999999999999991 },
10696 { 16231.913312693494, 20.000000000000000, 2.0000000000000000,
10697 4.0000000000000000, 0.50000000000000000 },
10698 { 653537.51168945129, 20.000000000000000, 2.0000000000000000,
10699 4.0000000000000000, 0.60000000000000009 },
10700 { 87756230.793848589, 20.000000000000000, 2.0000000000000000,
10701 4.0000000000000000, 0.69999999999999996 },
10702 { 101493977171.74945, 20.000000000000000, 2.0000000000000000,
10703 4.0000000000000000, 0.80000000000000004 },
10704 { 21375960679556916., 20.000000000000000, 2.0000000000000000,
10705 4.0000000000000000, 0.89999999999999991 },
10707 const double toler227
= 2.5000000000000020e-13;
10709 // Test data for a=20.000000000000000, b=2.0000000000000000, c=6.0000000000000000.
10710 // max(|f - f_GSL|): 0.031250000000000000
10711 // max(|f - f_GSL| / |f_GSL|): 1.6379336164122315e-15
10712 const testcase_hyperg
<double>
10715 { 0.049200410661854238, 20.000000000000000, 2.0000000000000000,
10716 6.0000000000000000, -0.90000000000000002 },
10717 { 0.059460876757152607, 20.000000000000000, 2.0000000000000000,
10718 6.0000000000000000, -0.80000000000000004 },
10719 { 0.073244762686653225, 20.000000000000000, 2.0000000000000000,
10720 6.0000000000000000, -0.69999999999999996 },
10721 { 0.092334626017932769, 20.000000000000000, 2.0000000000000000,
10722 6.0000000000000000, -0.59999999999999998 },
10723 { 0.11976760350696856, 20.000000000000000, 2.0000000000000000,
10724 6.0000000000000000, -0.50000000000000000 },
10725 { 0.16102414609169408, 20.000000000000000, 2.0000000000000000,
10726 6.0000000000000000, -0.40000000000000002 },
10727 { 0.22670456785796225, 20.000000000000000, 2.0000000000000000,
10728 6.0000000000000000, -0.30000000000000004 },
10729 { 0.33912903252727361, 20.000000000000000, 2.0000000000000000,
10730 6.0000000000000000, -0.19999999999999996 },
10731 { 0.55049794600858049, 20.000000000000000, 2.0000000000000000,
10732 6.0000000000000000, -0.099999999999999978 },
10733 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
10734 6.0000000000000000, 0.0000000000000000 },
10735 { 2.1254722872032232, 20.000000000000000, 2.0000000000000000,
10736 6.0000000000000000, 0.10000000000000009 },
10737 { 5.6261213886736172, 20.000000000000000, 2.0000000000000000,
10738 6.0000000000000000, 0.19999999999999996 },
10739 { 20.137315891130996, 20.000000000000000, 2.0000000000000000,
10740 6.0000000000000000, 0.30000000000000004 },
10741 { 108.04381584643853, 20.000000000000000, 2.0000000000000000,
10742 6.0000000000000000, 0.39999999999999991 },
10743 { 992.41692466460245, 20.000000000000000, 2.0000000000000000,
10744 6.0000000000000000, 0.50000000000000000 },
10745 { 19055.363816004465, 20.000000000000000, 2.0000000000000000,
10746 6.0000000000000000, 0.60000000000000009 },
10747 { 1105471.9504312086, 20.000000000000000, 2.0000000000000000,
10748 6.0000000000000000, 0.69999999999999996 },
10749 { 448521363.90608919, 20.000000000000000, 2.0000000000000000,
10750 6.0000000000000000, 0.80000000000000004 },
10751 { 19078917293639.004, 20.000000000000000, 2.0000000000000000,
10752 6.0000000000000000, 0.89999999999999991 },
10754 const double toler228
= 2.5000000000000020e-13;
10756 // Test data for a=20.000000000000000, b=2.0000000000000000, c=8.0000000000000000.
10757 // max(|f - f_GSL|): 8.3923339843750000e-05
10758 // max(|f - f_GSL| / |f_GSL|): 1.8221514326727084e-15
10759 const testcase_hyperg
<double>
10762 { 0.083753547015334884, 20.000000000000000, 2.0000000000000000,
10763 8.0000000000000000, -0.90000000000000002 },
10764 { 0.099238444687035743, 20.000000000000000, 2.0000000000000000,
10765 8.0000000000000000, -0.80000000000000004 },
10766 { 0.11938294012867748, 20.000000000000000, 2.0000000000000000,
10767 8.0000000000000000, -0.69999999999999996 },
10768 { 0.14622683905023329, 20.000000000000000, 2.0000000000000000,
10769 8.0000000000000000, -0.59999999999999998 },
10770 { 0.18303556733713028, 20.000000000000000, 2.0000000000000000,
10771 8.0000000000000000, -0.50000000000000000 },
10772 { 0.23527764069382412, 20.000000000000000, 2.0000000000000000,
10773 8.0000000000000000, -0.40000000000000002 },
10774 { 0.31261681740827085, 20.000000000000000, 2.0000000000000000,
10775 8.0000000000000000, -0.30000000000000004 },
10776 { 0.43327581880538862, 20.000000000000000, 2.0000000000000000,
10777 8.0000000000000000, -0.19999999999999996 },
10778 { 0.63445840637296680, 20.000000000000000, 2.0000000000000000,
10779 8.0000000000000000, -0.099999999999999978 },
10780 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
10781 8.0000000000000000, 0.0000000000000000 },
10782 { 1.7438842395813297, 20.000000000000000, 2.0000000000000000,
10783 8.0000000000000000, 0.10000000000000009 },
10784 { 3.5070840938209269, 20.000000000000000, 2.0000000000000000,
10785 8.0000000000000000, 0.19999999999999996 },
10786 { 8.6573372006089713, 20.000000000000000, 2.0000000000000000,
10787 8.0000000000000000, 0.30000000000000004 },
10788 { 28.779342118408906, 20.000000000000000, 2.0000000000000000,
10789 8.0000000000000000, 0.39999999999999991 },
10790 { 147.50178613955714, 20.000000000000000, 2.0000000000000000,
10791 8.0000000000000000, 0.50000000000000000 },
10792 { 1427.1686016136398, 20.000000000000000, 2.0000000000000000,
10793 8.0000000000000000, 0.60000000000000009 },
10794 { 36780.643714655642, 20.000000000000000, 2.0000000000000000,
10795 8.0000000000000000, 0.69999999999999996 },
10796 { 5313869.6058585485, 20.000000000000000, 2.0000000000000000,
10797 8.0000000000000000, 0.80000000000000004 },
10798 { 46057280607.381966, 20.000000000000000, 2.0000000000000000,
10799 8.0000000000000000, 0.89999999999999991 },
10801 const double toler229
= 2.5000000000000020e-13;
10803 // Test data for a=20.000000000000000, b=2.0000000000000000, c=10.000000000000000.
10804 // max(|f - f_GSL|): 5.0663948059082031e-07
10805 // max(|f - f_GSL| / |f_GSL|): 1.9925479281070174e-15
10806 const testcase_hyperg
<double>
10809 { 0.11920045035073676, 20.000000000000000, 2.0000000000000000,
10810 10.000000000000000, -0.90000000000000002 },
10811 { 0.13907946814302777, 20.000000000000000, 2.0000000000000000,
10812 10.000000000000000, -0.80000000000000004 },
10813 { 0.16431439792559696, 20.000000000000000, 2.0000000000000000,
10814 10.000000000000000, -0.69999999999999996 },
10815 { 0.19698796016986989, 20.000000000000000, 2.0000000000000000,
10816 10.000000000000000, -0.59999999999999998 },
10817 { 0.24028510928790547, 20.000000000000000, 2.0000000000000000,
10818 10.000000000000000, -0.50000000000000000 },
10819 { 0.29926031296483113, 20.000000000000000, 2.0000000000000000,
10820 10.000000000000000, -0.40000000000000002 },
10821 { 0.38229327814229153, 20.000000000000000, 2.0000000000000000,
10822 10.000000000000000, -0.30000000000000004 },
10823 { 0.50402047283093132, 20.000000000000000, 2.0000000000000000,
10824 10.000000000000000, -0.19999999999999996 },
10825 { 0.69167261179586526, 20.000000000000000, 2.0000000000000000,
10826 10.000000000000000, -0.099999999999999978 },
10827 { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
10828 10.000000000000000, 0.0000000000000000 },
10829 { 1.5503152253394308, 20.000000000000000, 2.0000000000000000,
10830 10.000000000000000, 0.10000000000000009 },
10831 { 2.6469548193635797, 20.000000000000000, 2.0000000000000000,
10832 10.000000000000000, 0.19999999999999996 },
10833 { 5.1882631330566813, 20.000000000000000, 2.0000000000000000,
10834 10.000000000000000, 0.30000000000000004 },
10835 { 12.476792759124516, 20.000000000000000, 2.0000000000000000,
10836 10.000000000000000, 0.39999999999999991 },
10837 { 41.026391565091259, 20.000000000000000, 2.0000000000000000,
10838 10.000000000000000, 0.50000000000000000 },
10839 { 220.92584715988204, 20.000000000000000, 2.0000000000000000,
10840 10.000000000000000, 0.60000000000000009 },
10841 { 2677.0834450236207, 20.000000000000000, 2.0000000000000000,
10842 10.000000000000000, 0.69999999999999996 },
10843 { 141774.31260689779, 20.000000000000000, 2.0000000000000000,
10844 10.000000000000000, 0.80000000000000004 },
10845 { 254267148.83196995, 20.000000000000000, 2.0000000000000000,
10846 10.000000000000000, 0.89999999999999991 },
10848 const double toler230
= 2.5000000000000020e-13;
10850 // Test data for a=20.000000000000000, b=5.0000000000000000, c=2.0000000000000000.
10851 // max(|f - f_GSL|): 60129542144.000000
10852 // max(|f - f_GSL| / |f_GSL|): 2.0181355730233454e-15
10853 const testcase_hyperg
<double>
10856 { -1.8650300348790099e-05, 20.000000000000000, 5.0000000000000000,
10857 2.0000000000000000, -0.90000000000000002 },
10858 { -3.6488008415371319e-05, 20.000000000000000, 5.0000000000000000,
10859 2.0000000000000000, -0.80000000000000004 },
10860 { -6.4614776410961038e-05, 20.000000000000000, 5.0000000000000000,
10861 2.0000000000000000, -0.69999999999999996 },
10862 { -8.4495207102246549e-05, 20.000000000000000, 5.0000000000000000,
10863 2.0000000000000000, -0.59999999999999998 },
10864 { 2.2276197023825424e-05, 20.000000000000000, 5.0000000000000000,
10865 2.0000000000000000, -0.50000000000000000 },
10866 { 0.00070736115111447856, 20.000000000000000, 5.0000000000000000,
10867 2.0000000000000000, -0.40000000000000002 },
10868 { 0.0027829732057273854, 20.000000000000000, 5.0000000000000000,
10869 2.0000000000000000, -0.30000000000000004 },
10870 { 0.0013283545664371644, 20.000000000000000, 5.0000000000000000,
10871 2.0000000000000000, -0.19999999999999996 },
10872 { -0.041767631015048774, 20.000000000000000, 5.0000000000000000,
10873 2.0000000000000000, -0.099999999999999978 },
10874 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
10875 2.0000000000000000, 0.0000000000000000 },
10876 { 61.311496556100003, 20.000000000000000, 5.0000000000000000,
10877 2.0000000000000000, 0.10000000000000009 },
10878 { 2397.4420539085681, 20.000000000000000, 5.0000000000000000,
10879 2.0000000000000000, 0.19999999999999996 },
10880 { 103687.60998586559, 20.000000000000000, 5.0000000000000000,
10881 2.0000000000000000, 0.30000000000000004 },
10882 { 6247196.6451068865, 20.000000000000000, 5.0000000000000000,
10883 2.0000000000000000, 0.39999999999999991 },
10884 { 656408576.00000000, 20.000000000000000, 5.0000000000000000,
10885 2.0000000000000000, 0.50000000000000000 },
10886 { 165334768098.54715, 20.000000000000000, 5.0000000000000000,
10887 2.0000000000000000, 0.60000000000000009 },
10888 { 175097125520816.81, 20.000000000000000, 5.0000000000000000,
10889 2.0000000000000000, 0.69999999999999996 },
10890 { 2.6818275451660257e+18, 20.000000000000000, 5.0000000000000000,
10891 2.0000000000000000, 0.80000000000000004 },
10892 { 2.9794599999999321e+25, 20.000000000000000, 5.0000000000000000,
10893 2.0000000000000000, 0.89999999999999991 },
10895 const double toler231
= 2.5000000000000020e-13;
10897 // Test data for a=20.000000000000000, b=5.0000000000000000, c=4.0000000000000000.
10898 // max(|f - f_GSL|): 9437184.0000000000
10899 // max(|f - f_GSL| / |f_GSL|): 2.0515617391304744e-15
10900 const testcase_hyperg
<double>
10903 { -3.6403884516313627e-06, 20.000000000000000, 5.0000000000000000,
10904 4.0000000000000000, -0.90000000000000002 },
10905 { -9.5873829246491408e-06, 20.000000000000000, 5.0000000000000000,
10906 4.0000000000000000, -0.80000000000000004 },
10907 { -2.6052245147200097e-05, 20.000000000000000, 5.0000000000000000,
10908 4.0000000000000000, -0.69999999999999996 },
10909 { -7.2378303598384501e-05, 20.000000000000000, 5.0000000000000000,
10910 4.0000000000000000, -0.59999999999999998 },
10911 { -0.00020048577321417379, 20.000000000000000, 5.0000000000000000,
10912 4.0000000000000000, -0.50000000000000000 },
10913 { -0.00051222704046227391, 20.000000000000000, 5.0000000000000000,
10914 4.0000000000000000, -0.40000000000000002 },
10915 { -0.00080950511491898055, 20.000000000000000, 5.0000000000000000,
10916 4.0000000000000000, -0.30000000000000004 },
10917 { 0.0043473422174314250, 20.000000000000000, 5.0000000000000000,
10918 4.0000000000000000, -0.19999999999999996 },
10919 { 0.081078342558623853, 20.000000000000000, 5.0000000000000000,
10920 4.0000000000000000, -0.099999999999999978 },
10921 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
10922 4.0000000000000000, 0.0000000000000000 },
10923 { 12.794854084397739, 20.000000000000000, 5.0000000000000000,
10924 4.0000000000000000, 0.10000000000000009 },
10925 { 195.15639104739046, 20.000000000000000, 5.0000000000000000,
10926 4.0000000000000000, 0.19999999999999996 },
10927 { 3938.7991953190131, 20.000000000000000, 5.0000000000000000,
10928 4.0000000000000000, 0.30000000000000004 },
10929 { 118521.48653762060, 20.000000000000000, 5.0000000000000000,
10930 4.0000000000000000, 0.39999999999999991 },
10931 { 6291455.9999999972, 20.000000000000000, 5.0000000000000000,
10932 4.0000000000000000, 0.50000000000000000 },
10933 { 773070496.50699198, 20.000000000000000, 5.0000000000000000,
10934 4.0000000000000000, 0.60000000000000009 },
10935 { 363276452167.04102, 20.000000000000000, 5.0000000000000000,
10936 4.0000000000000000, 0.69999999999999996 },
10937 { 2002716064453133.0, 20.000000000000000, 5.0000000000000000,
10938 4.0000000000000000, 0.80000000000000004 },
10939 { 4.5999999999999109e+21, 20.000000000000000, 5.0000000000000000,
10940 4.0000000000000000, 0.89999999999999991 },
10942 const double toler232
= 2.5000000000000020e-13;
10944 // Test data for a=20.000000000000000, b=5.0000000000000000, c=6.0000000000000000.
10945 // max(|f - f_GSL|): 5120.0000000000000
10946 // max(|f - f_GSL| / |f_GSL|): 1.7944916193878923e-15
10947 const testcase_hyperg
<double>
10950 { 0.00014313323624053599, 20.000000000000000, 5.0000000000000000,
10951 6.0000000000000000, -0.90000000000000002 },
10952 { 0.00025426183473118769, 20.000000000000000, 5.0000000000000000,
10953 6.0000000000000000, -0.80000000000000004 },
10954 { 0.00048255612836437054, 20.000000000000000, 5.0000000000000000,
10955 6.0000000000000000, -0.69999999999999996 },
10956 { 0.00099096904674794185, 20.000000000000000, 5.0000000000000000,
10957 6.0000000000000000, -0.59999999999999998 },
10958 { 0.0022347805521915616, 20.000000000000000, 5.0000000000000000,
10959 6.0000000000000000, -0.50000000000000000 },
10960 { 0.0056271390060292845, 20.000000000000000, 5.0000000000000000,
10961 6.0000000000000000, -0.40000000000000002 },
10962 { 0.016109059519227316, 20.000000000000000, 5.0000000000000000,
10963 6.0000000000000000, -0.30000000000000004 },
10964 { 0.053453465775609076, 20.000000000000000, 5.0000000000000000,
10965 6.0000000000000000, -0.19999999999999996 },
10966 { 0.20995202901839263, 20.000000000000000, 5.0000000000000000,
10967 6.0000000000000000, -0.099999999999999978 },
10968 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
10969 6.0000000000000000, 0.0000000000000000 },
10970 { 5.9534372167648799, 20.000000000000000, 5.0000000000000000,
10971 6.0000000000000000, 0.10000000000000009 },
10972 { 46.157632071205875, 20.000000000000000, 5.0000000000000000,
10973 6.0000000000000000, 0.19999999999999996 },
10974 { 494.32074431164915, 20.000000000000000, 5.0000000000000000,
10975 6.0000000000000000, 0.30000000000000004 },
10976 { 7989.5277611775946, 20.000000000000000, 5.0000000000000000,
10977 6.0000000000000000, 0.39999999999999991 },
10978 { 224179.55830753347, 20.000000000000000, 5.0000000000000000,
10979 6.0000000000000000, 0.50000000000000000 },
10980 { 13848144.485282511, 20.000000000000000, 5.0000000000000000,
10981 6.0000000000000000, 0.60000000000000009 },
10982 { 2948587692.8891716, 20.000000000000000, 5.0000000000000000,
10983 6.0000000000000000, 0.69999999999999996 },
10984 { 5940513286161.6602, 20.000000000000000, 5.0000000000000000,
10985 6.0000000000000000, 0.80000000000000004 },
10986 { 2.8531757655945201e+18, 20.000000000000000, 5.0000000000000000,
10987 6.0000000000000000, 0.89999999999999991 },
10989 const double toler233
= 2.5000000000000020e-13;
10991 // Test data for a=20.000000000000000, b=5.0000000000000000, c=8.0000000000000000.
10992 // max(|f - f_GSL|): 7.0000000000000000
10993 // max(|f - f_GSL| / |f_GSL|): 1.5351977183414298e-15
10994 const testcase_hyperg
<double>
10997 { 0.0012492049968744917, 20.000000000000000, 5.0000000000000000,
10998 8.0000000000000000, -0.90000000000000002 },
10999 { 0.0019931241968014200, 20.000000000000000, 5.0000000000000000,
11000 8.0000000000000000, -0.80000000000000004 },
11001 { 0.0033203386861410844, 20.000000000000000, 5.0000000000000000,
11002 8.0000000000000000, -0.69999999999999996 },
11003 { 0.0058191894509856774, 20.000000000000000, 5.0000000000000000,
11004 8.0000000000000000, -0.59999999999999998 },
11005 { 0.010830090368313864, 20.000000000000000, 5.0000000000000000,
11006 8.0000000000000000, -0.50000000000000000 },
11007 { 0.021653062305192875, 20.000000000000000, 5.0000000000000000,
11008 8.0000000000000000, -0.40000000000000002 },
11009 { 0.047180821280919043, 20.000000000000000, 5.0000000000000000,
11010 8.0000000000000000, -0.30000000000000004 },
11011 { 0.11405637279736212, 20.000000000000000, 5.0000000000000000,
11012 8.0000000000000000, -0.19999999999999996 },
11013 { 0.31275468794721017, 20.000000000000000, 5.0000000000000000,
11014 8.0000000000000000, -0.099999999999999978 },
11015 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11016 8.0000000000000000, 0.0000000000000000 },
11017 { 3.8598904658643969, 20.000000000000000, 5.0000000000000000,
11018 8.0000000000000000, 0.10000000000000009 },
11019 { 18.806301417906667, 20.000000000000000, 5.0000000000000000,
11020 8.0000000000000000, 0.19999999999999996 },
11021 { 122.77054465017432, 20.000000000000000, 5.0000000000000000,
11022 8.0000000000000000, 0.30000000000000004 },
11023 { 1168.4762146808946, 20.000000000000000, 5.0000000000000000,
11024 8.0000000000000000, 0.39999999999999991 },
11025 { 18437.511788521082, 20.000000000000000, 5.0000000000000000,
11026 8.0000000000000000, 0.50000000000000000 },
11027 { 597441.79669264762, 20.000000000000000, 5.0000000000000000,
11028 8.0000000000000000, 0.60000000000000009 },
11029 { 59390411.369227782, 20.000000000000000, 5.0000000000000000,
11030 8.0000000000000000, 0.69999999999999996 },
11031 { 44681668993.361603, 20.000000000000000, 5.0000000000000000,
11032 8.0000000000000000, 0.80000000000000004 },
11033 { 4559673269683164.0, 20.000000000000000, 5.0000000000000000,
11034 8.0000000000000000, 0.89999999999999991 },
11036 const double toler234
= 2.5000000000000020e-13;
11038 // Test data for a=20.000000000000000, b=5.0000000000000000, c=10.000000000000000.
11039 // max(|f - f_GSL|): 0.029296875000000000
11040 // max(|f - f_GSL| / |f_GSL|): 1.8717083246628922e-15
11041 const testcase_hyperg
<double>
11044 { 0.0038867957051370739, 20.000000000000000, 5.0000000000000000,
11045 10.000000000000000, -0.90000000000000002 },
11046 { 0.0058484892597364235, 20.000000000000000, 5.0000000000000000,
11047 10.000000000000000, -0.80000000000000004 },
11048 { 0.0090987656053758189, 20.000000000000000, 5.0000000000000000,
11049 10.000000000000000, -0.69999999999999996 },
11050 { 0.014714392537270657, 20.000000000000000, 5.0000000000000000,
11051 10.000000000000000, -0.59999999999999998 },
11052 { 0.024900404542056772, 20.000000000000000, 5.0000000000000000,
11053 10.000000000000000, -0.50000000000000000 },
11054 { 0.044460184663785027, 20.000000000000000, 5.0000000000000000,
11055 10.000000000000000, -0.40000000000000002 },
11056 { 0.084638849196356780, 20.000000000000000, 5.0000000000000000,
11057 10.000000000000000, -0.30000000000000004 },
11058 { 0.17409058241291026, 20.000000000000000, 5.0000000000000000,
11059 10.000000000000000, -0.19999999999999996 },
11060 { 0.39357055823580767, 20.000000000000000, 5.0000000000000000,
11061 10.000000000000000, -0.099999999999999978 },
11062 { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
11063 10.000000000000000, 0.0000000000000000 },
11064 { 2.9410794636226596, 20.000000000000000, 5.0000000000000000,
11065 10.000000000000000, 0.10000000000000009 },
11066 { 10.417226071414344, 20.000000000000000, 5.0000000000000000,
11067 10.000000000000000, 0.19999999999999996 },
11068 { 46.930585873140835, 20.000000000000000, 5.0000000000000000,
11069 10.000000000000000, 0.30000000000000004 },
11070 { 290.76717121814852, 20.000000000000000, 5.0000000000000000,
11071 10.000000000000000, 0.39999999999999991 },
11072 { 2788.1641083374830, 20.000000000000000, 5.0000000000000000,
11073 10.000000000000000, 0.50000000000000000 },
11074 { 50228.117718560752, 20.000000000000000, 5.0000000000000000,
11075 10.000000000000000, 0.60000000000000009 },
11076 { 2433042.3476752634, 20.000000000000000, 5.0000000000000000,
11077 10.000000000000000, 0.69999999999999996 },
11078 { 705345246.77141762, 20.000000000000000, 5.0000000000000000,
11079 10.000000000000000, 0.80000000000000004 },
11080 { 15652478868616.762, 20.000000000000000, 5.0000000000000000,
11081 10.000000000000000, 0.89999999999999991 },
11083 const double toler235
= 2.5000000000000020e-13;
11085 // Test data for a=20.000000000000000, b=10.000000000000000, c=2.0000000000000000.
11086 // max(|f - f_GSL|): 2.5940733853654057e+18
11087 // max(|f - f_GSL| / |f_GSL|): 1.8312596334405405e-15
11088 const testcase_hyperg
<double>
11091 { -2.1776535312781759e-07, 20.000000000000000, 10.000000000000000,
11092 2.0000000000000000, -0.90000000000000002 },
11093 { -2.9128833151630439e-06, 20.000000000000000, 10.000000000000000,
11094 2.0000000000000000, -0.80000000000000004 },
11095 { -9.4755553429932710e-06, 20.000000000000000, 10.000000000000000,
11096 2.0000000000000000, -0.69999999999999996 },
11097 { -1.2844297353852837e-05, 20.000000000000000, 10.000000000000000,
11098 2.0000000000000000, -0.59999999999999998 },
11099 { 3.6576965483549205e-05, 20.000000000000000, 10.000000000000000,
11100 2.0000000000000000, -0.50000000000000000 },
11101 { 0.00020847453890689954, 20.000000000000000, 10.000000000000000,
11102 2.0000000000000000, -0.40000000000000002 },
11103 { -0.00022868510398160936, 20.000000000000000, 10.000000000000000,
11104 2.0000000000000000, -0.30000000000000004 },
11105 { -0.0021855513841943421, 20.000000000000000, 10.000000000000000,
11106 2.0000000000000000, -0.19999999999999996 },
11107 { 0.014662111759334568, 20.000000000000000, 10.000000000000000,
11108 2.0000000000000000, -0.099999999999999978 },
11109 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11110 2.0000000000000000, 0.0000000000000000 },
11111 { 746.44776348798098, 20.000000000000000, 10.000000000000000,
11112 2.0000000000000000, 0.10000000000000009 },
11113 { 136080.48445225612, 20.000000000000000, 10.000000000000000,
11114 2.0000000000000000, 0.19999999999999996 },
11115 { 23094279.597826406, 20.000000000000000, 10.000000000000000,
11116 2.0000000000000000, 0.30000000000000004 },
11117 { 5315913395.5545301, 20.000000000000000, 10.000000000000000,
11118 2.0000000000000000, 0.39999999999999991 },
11119 { 2261935718399.9990, 20.000000000000000, 10.000000000000000,
11120 2.0000000000000000, 0.50000000000000000 },
11121 { 2669150854828235.0, 20.000000000000000, 10.000000000000000,
11122 2.0000000000000000, 0.60000000000000009 },
11123 { 1.7499363099365994e+19, 20.000000000000000, 10.000000000000000,
11124 2.0000000000000000, 0.69999999999999996 },
11125 { 2.8881518494606140e+24, 20.000000000000000, 10.000000000000000,
11126 2.0000000000000000, 0.80000000000000004 },
11127 { 1.4165513933661626e+33, 20.000000000000000, 10.000000000000000,
11128 2.0000000000000000, 0.89999999999999991 },
11130 const double toler236
= 2.5000000000000020e-13;
11132 // Test data for a=20.000000000000000, b=10.000000000000000, c=4.0000000000000000.
11133 // max(|f - f_GSL|): 299067162755072.00
11134 // max(|f - f_GSL| / |f_GSL|): 2.1129345912024644e-15
11135 const testcase_hyperg
<double>
11138 { 1.7149006966334498e-07, 20.000000000000000, 10.000000000000000,
11139 4.0000000000000000, -0.90000000000000002 },
11140 { 3.2399324906563845e-07, 20.000000000000000, 10.000000000000000,
11141 4.0000000000000000, -0.80000000000000004 },
11142 { 1.6015317699713284e-07, 20.000000000000000, 10.000000000000000,
11143 4.0000000000000000, -0.69999999999999996 },
11144 { -2.0500917201273337e-06, 20.000000000000000, 10.000000000000000,
11145 4.0000000000000000, -0.59999999999999998 },
11146 { -1.0175546788592665e-05, 20.000000000000000, 10.000000000000000,
11147 4.0000000000000000, -0.50000000000000000 },
11148 { -1.1720101988158874e-05, 20.000000000000000, 10.000000000000000,
11149 4.0000000000000000, -0.40000000000000002 },
11150 { 0.00014199637113975139, 20.000000000000000, 10.000000000000000,
11151 4.0000000000000000, -0.30000000000000004 },
11152 { 0.00021263363640641769, 20.000000000000000, 10.000000000000000,
11153 4.0000000000000000, -0.19999999999999996 },
11154 { -0.0072649256698439626, 20.000000000000000, 10.000000000000000,
11155 4.0000000000000000, -0.099999999999999978 },
11156 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11157 4.0000000000000000, 0.0000000000000000 },
11158 { 90.430293772869618, 20.000000000000000, 10.000000000000000,
11159 4.0000000000000000, 0.10000000000000009 },
11160 { 6248.1455940292308, 20.000000000000000, 10.000000000000000,
11161 4.0000000000000000, 0.19999999999999996 },
11162 { 501143.39852548984, 20.000000000000000, 10.000000000000000,
11163 4.0000000000000000, 0.30000000000000004 },
11164 { 58852027.356439680, 20.000000000000000, 10.000000000000000,
11165 4.0000000000000000, 0.39999999999999991 },
11166 { 12942923093.333330, 20.000000000000000, 10.000000000000000,
11167 4.0000000000000000, 0.50000000000000000 },
11168 { 7618073993853.6592, 20.000000000000000, 10.000000000000000,
11169 4.0000000000000000, 0.60000000000000009 },
11170 { 22630251562549288., 20.000000000000000, 10.000000000000000,
11171 4.0000000000000000, 0.69999999999999996 },
11172 { 1.3708372433980356e+21, 20.000000000000000, 10.000000000000000,
11173 4.0000000000000000, 0.80000000000000004 },
11174 { 1.4154113619999653e+29, 20.000000000000000, 10.000000000000000,
11175 4.0000000000000000, 0.89999999999999991 },
11177 const double toler237
= 2.5000000000000020e-13;
11179 // Test data for a=20.000000000000000, b=10.000000000000000, c=6.0000000000000000.
11180 // max(|f - f_GSL|): 103079215104.00000
11181 // max(|f - f_GSL| / |f_GSL|): 1.8869870511942065e-15
11182 const testcase_hyperg
<double>
11185 { -1.6667473284194196e-08, 20.000000000000000, 10.000000000000000,
11186 6.0000000000000000, -0.90000000000000002 },
11187 { 8.6214843496406671e-08, 20.000000000000000, 10.000000000000000,
11188 6.0000000000000000, -0.80000000000000004 },
11189 { 5.7778331275185146e-07, 20.000000000000000, 10.000000000000000,
11190 6.0000000000000000, -0.69999999999999996 },
11191 { 2.1911400502042259e-06, 20.000000000000000, 10.000000000000000,
11192 6.0000000000000000, -0.59999999999999998 },
11193 { 4.7440049217199358e-06, 20.000000000000000, 10.000000000000000,
11194 6.0000000000000000, -0.50000000000000000 },
11195 { -1.0564233315113883e-05, 20.000000000000000, 10.000000000000000,
11196 6.0000000000000000, -0.40000000000000002 },
11197 { -0.00017990026051873263, 20.000000000000000, 10.000000000000000,
11198 6.0000000000000000, -0.30000000000000004 },
11199 { -0.00027618146288724629, 20.000000000000000, 10.000000000000000,
11200 6.0000000000000000, -0.19999999999999996 },
11201 { 0.030606019577723666, 20.000000000000000, 10.000000000000000,
11202 6.0000000000000000, -0.099999999999999978 },
11203 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11204 6.0000000000000000, 0.0000000000000000 },
11205 { 27.832854169493341, 20.000000000000000, 10.000000000000000,
11206 6.0000000000000000, 0.10000000000000009 },
11207 { 874.00624088575228, 20.000000000000000, 10.000000000000000,
11208 6.0000000000000000, 0.19999999999999996 },
11209 { 36049.199340831554, 20.000000000000000, 10.000000000000000,
11210 6.0000000000000000, 0.30000000000000004 },
11211 { 2270967.7298624986, 20.000000000000000, 10.000000000000000,
11212 6.0000000000000000, 0.39999999999999991 },
11213 { 266979100.44444439, 20.000000000000000, 10.000000000000000,
11214 6.0000000000000000, 0.50000000000000000 },
11215 { 80311224337.493027, 20.000000000000000, 10.000000000000000,
11216 6.0000000000000000, 0.60000000000000009 },
11217 { 110111693103799.72, 20.000000000000000, 10.000000000000000,
11218 6.0000000000000000, 0.69999999999999996 },
11219 { 2.4838871426052618e+18, 20.000000000000000, 10.000000000000000,
11220 6.0000000000000000, 0.80000000000000004 },
11221 { 5.4626349999998603e+25, 20.000000000000000, 10.000000000000000,
11222 6.0000000000000000, 0.89999999999999991 },
11224 const double toler238
= 2.5000000000000020e-13;
11226 // Test data for a=20.000000000000000, b=10.000000000000000, c=8.0000000000000000.
11227 // max(|f - f_GSL|): 100663296.00000000
11228 // max(|f - f_GSL| / |f_GSL|): 1.9414329026037087e-15
11229 const testcase_hyperg
<double>
11232 { -1.5843795889906876e-07, 20.000000000000000, 10.000000000000000,
11233 8.0000000000000000, -0.90000000000000002 },
11234 { -5.4877276002864784e-07, 20.000000000000000, 10.000000000000000,
11235 8.0000000000000000, -0.80000000000000004 },
11236 { -1.7169507967699695e-06, 20.000000000000000, 10.000000000000000,
11237 8.0000000000000000, -0.69999999999999996 },
11238 { -4.5236439749819329e-06, 20.000000000000000, 10.000000000000000,
11239 8.0000000000000000, -0.59999999999999998 },
11240 { -5.5690492560381956e-06, 20.000000000000000, 10.000000000000000,
11241 8.0000000000000000, -0.50000000000000000 },
11242 { 5.6914115607022928e-05, 20.000000000000000, 10.000000000000000,
11243 8.0000000000000000, -0.40000000000000002 },
11244 { 0.00082507252097525810, 20.000000000000000, 10.000000000000000,
11245 8.0000000000000000, -0.30000000000000004 },
11246 { 0.0085739249288230429, 20.000000000000000, 10.000000000000000,
11247 8.0000000000000000, -0.19999999999999996 },
11248 { 0.088244357683754687, 20.000000000000000, 10.000000000000000,
11249 8.0000000000000000, -0.099999999999999978 },
11250 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11251 8.0000000000000000, 0.0000000000000000 },
11252 { 13.387208440156897, 20.000000000000000, 10.000000000000000,
11253 8.0000000000000000, 0.10000000000000009 },
11254 { 226.77895441155110, 20.000000000000000, 10.000000000000000,
11255 8.0000000000000000, 0.19999999999999996 },
11256 { 5281.5716482686785, 20.000000000000000, 10.000000000000000,
11257 8.0000000000000000, 0.30000000000000004 },
11258 { 189431.77762850464, 20.000000000000000, 10.000000000000000,
11259 8.0000000000000000, 0.39999999999999991 },
11260 { 12408149.333333332, 20.000000000000000, 10.000000000000000,
11261 8.0000000000000000, 0.50000000000000000 },
11262 { 1966782292.5839682, 20.000000000000000, 10.000000000000000,
11263 8.0000000000000000, 0.60000000000000009 },
11264 { 1274123112205.7495, 20.000000000000000, 10.000000000000000,
11265 8.0000000000000000, 0.69999999999999996 },
11266 { 10903676350911508., 20.000000000000000, 10.000000000000000,
11267 8.0000000000000000, 0.80000000000000004 },
11268 { 5.1849999999998819e+22, 20.000000000000000, 10.000000000000000,
11269 8.0000000000000000, 0.89999999999999991 },
11271 const double toler239
= 2.5000000000000020e-13;
11273 // Test data for a=20.000000000000000, b=10.000000000000000, c=10.000000000000000.
11274 // max(|f - f_GSL|): 425984.00000000000
11275 // max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
11276 const testcase_hyperg
<double>
11279 { 2.6602838683283435e-06, 20.000000000000000, 10.000000000000000,
11280 10.000000000000000, -0.90000000000000002 },
11281 { 7.8442223930072316e-06, 20.000000000000000, 10.000000000000000,
11282 10.000000000000000, -0.80000000000000004 },
11283 { 2.4604898194634598e-05, 20.000000000000000, 10.000000000000000,
11284 10.000000000000000, -0.69999999999999996 },
11285 { 8.2718061255302686e-05, 20.000000000000000, 10.000000000000000,
11286 10.000000000000000, -0.59999999999999998 },
11287 { 0.00030072865982171723, 20.000000000000000, 10.000000000000000,
11288 10.000000000000000, -0.50000000000000000 },
11289 { 0.0011951964277455193, 20.000000000000000, 10.000000000000000,
11290 10.000000000000000, -0.40000000000000002 },
11291 { 0.0052617832469731814, 20.000000000000000, 10.000000000000000,
11292 10.000000000000000, -0.30000000000000004 },
11293 { 0.026084053304588847, 20.000000000000000, 10.000000000000000,
11294 10.000000000000000, -0.19999999999999996 },
11295 { 0.14864362802414346, 20.000000000000000, 10.000000000000000,
11296 10.000000000000000, -0.099999999999999978 },
11297 { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
11298 10.000000000000000, 0.0000000000000000 },
11299 { 8.2252633399699757, 20.000000000000000, 10.000000000000000,
11300 10.000000000000000, 0.10000000000000009 },
11301 { 86.736173798840269, 20.000000000000000, 10.000000000000000,
11302 10.000000000000000, 0.19999999999999996 },
11303 { 1253.2542894196865, 20.000000000000000, 10.000000000000000,
11304 10.000000000000000, 0.30000000000000004 },
11305 { 27351.112277912434, 20.000000000000000, 10.000000000000000,
11306 10.000000000000000, 0.39999999999999991 },
11307 { 1048576.0000000000, 20.000000000000000, 10.000000000000000,
11308 10.000000000000000, 0.50000000000000000 },
11309 { 90949470.177293226, 20.000000000000000, 10.000000000000000,
11310 10.000000000000000, 0.60000000000000009 },
11311 { 28679719907.924358, 20.000000000000000, 10.000000000000000,
11312 10.000000000000000, 0.69999999999999996 },
11313 { 95367431640624.906, 20.000000000000000, 10.000000000000000,
11314 10.000000000000000, 0.80000000000000004 },
11315 { 9.9999999999998657e+19, 20.000000000000000, 10.000000000000000,
11316 10.000000000000000, 0.89999999999999991 },
11318 const double toler240
= 5.0000000000000039e-13;
11320 // Test data for a=20.000000000000000, b=20.000000000000000, c=2.0000000000000000.
11321 // max(|f - f_GSL|): 8.1129638414606682e+31
11322 // max(|f - f_GSL| / |f_GSL|): 2.1657042453581189e-15
11323 const testcase_hyperg
<double>
11326 { 7.4612991227725660e-09, 20.000000000000000, 20.000000000000000,
11327 2.0000000000000000, -0.90000000000000002 },
11328 { 1.1006588952366092e-07, 20.000000000000000, 20.000000000000000,
11329 2.0000000000000000, -0.80000000000000004 },
11330 { 2.0126933732744113e-07, 20.000000000000000, 20.000000000000000,
11331 2.0000000000000000, -0.69999999999999996 },
11332 { -1.0013775379571396e-06, 20.000000000000000, 20.000000000000000,
11333 2.0000000000000000, -0.59999999999999998 },
11334 { -3.0371956856925611e-06, 20.000000000000000, 20.000000000000000,
11335 2.0000000000000000, -0.50000000000000000 },
11336 { 2.2012669924734483e-05, 20.000000000000000, 20.000000000000000,
11337 2.0000000000000000, -0.40000000000000002 },
11338 { -6.2415598025480351e-05, 20.000000000000000, 20.000000000000000,
11339 2.0000000000000000, -0.30000000000000004 },
11340 { 0.00033551320394368590, 20.000000000000000, 20.000000000000000,
11341 2.0000000000000000, -0.19999999999999996 },
11342 { -0.0062342152641436752, 20.000000000000000, 20.000000000000000,
11343 2.0000000000000000, -0.099999999999999978 },
11344 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
11345 2.0000000000000000, 0.0000000000000000 },
11346 { 34830.688900741610, 20.000000000000000, 20.000000000000000,
11347 2.0000000000000000, 0.10000000000000009 },
11348 { 67626221.263030857, 20.000000000000000, 20.000000000000000,
11349 2.0000000000000000, 0.19999999999999996 },
11350 { 102764604848.69762, 20.000000000000000, 20.000000000000000,
11351 2.0000000000000000, 0.30000000000000004 },
11352 { 220278355222373.38, 20.000000000000000, 20.000000000000000,
11353 2.0000000000000000, 0.39999999999999991 },
11354 { 1.0422324699794536e+18, 20.000000000000000, 20.000000000000000,
11355 2.0000000000000000, 0.50000000000000000 },
11356 { 1.9128731788368004e+22, 20.000000000000000, 20.000000000000000,
11357 2.0000000000000000, 0.60000000000000009 },
11358 { 3.5234592919485287e+27, 20.000000000000000, 20.000000000000000,
11359 2.0000000000000000, 0.69999999999999996 },
11360 { 5.0867023209025249e+34, 20.000000000000000, 20.000000000000000,
11361 2.0000000000000000, 0.80000000000000004 },
11362 { 3.7461088506658564e+46, 20.000000000000000, 20.000000000000000,
11363 2.0000000000000000, 0.89999999999999991 },
11365 const double toler241
= 2.5000000000000020e-13;
11367 // Test data for a=20.000000000000000, b=20.000000000000000, c=4.0000000000000000.
11368 // max(|f - f_GSL|): 4.3327901374988310e+27
11369 // max(|f - f_GSL| / |f_GSL|): 2.2075464057601018e-15
11370 const testcase_hyperg
<double>
11373 { -1.5895901122487120e-09, 20.000000000000000, 20.000000000000000,
11374 4.0000000000000000, -0.90000000000000002 },
11375 { -2.4403576191590296e-09, 20.000000000000000, 20.000000000000000,
11376 4.0000000000000000, -0.80000000000000004 },
11377 { 1.1622915284663225e-08, 20.000000000000000, 20.000000000000000,
11378 4.0000000000000000, -0.69999999999999996 },
11379 { 6.3899796223275262e-08, 20.000000000000000, 20.000000000000000,
11380 4.0000000000000000, -0.59999999999999998 },
11381 { -1.3503608350984134e-07, 20.000000000000000, 20.000000000000000,
11382 4.0000000000000000, -0.50000000000000000 },
11383 { -1.2198533623363349e-06, 20.000000000000000, 20.000000000000000,
11384 4.0000000000000000, -0.40000000000000002 },
11385 { 9.9086618119887468e-06, 20.000000000000000, 20.000000000000000,
11386 4.0000000000000000, -0.30000000000000004 },
11387 { -7.6797020080190715e-05, 20.000000000000000, 20.000000000000000,
11388 4.0000000000000000, -0.19999999999999996 },
11389 { 0.0013196405087170897, 20.000000000000000, 20.000000000000000,
11390 4.0000000000000000, -0.099999999999999978 },
11391 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
11392 4.0000000000000000, 0.0000000000000000 },
11393 { 2274.2044768143564, 20.000000000000000, 20.000000000000000,
11394 4.0000000000000000, 0.10000000000000009 },
11395 { 1611640.1560475440, 20.000000000000000, 20.000000000000000,
11396 4.0000000000000000, 0.19999999999999996 },
11397 { 1147063984.7359734, 20.000000000000000, 20.000000000000000,
11398 4.0000000000000000, 0.30000000000000004 },
11399 { 1253162497163.8311, 20.000000000000000, 20.000000000000000,
11400 4.0000000000000000, 0.39999999999999991 },
11401 { 3071321673390476.0, 20.000000000000000, 20.000000000000000,
11402 4.0000000000000000, 0.50000000000000000 },
11403 { 2.8221123559124324e+19, 20.000000000000000, 20.000000000000000,
11404 4.0000000000000000, 0.60000000000000009 },
11405 { 2.3658463807419519e+24, 20.000000000000000, 20.000000000000000,
11406 4.0000000000000000, 0.69999999999999996 },
11407 { 1.2596553731345468e+31, 20.000000000000000, 20.000000000000000,
11408 4.0000000000000000, 0.80000000000000004 },
11409 { 1.9627175792062075e+42, 20.000000000000000, 20.000000000000000,
11410 4.0000000000000000, 0.89999999999999991 },
11412 const double toler242
= 2.5000000000000020e-13;
11414 // Test data for a=20.000000000000000, b=20.000000000000000, c=6.0000000000000000.
11415 // max(|f - f_GSL|): 7.5557863725914323e+23
11416 // max(|f - f_GSL| / |f_GSL|): 1.9837376456390635e-15
11417 const testcase_hyperg
<double>
11420 { 8.0159783892777232e-11, 20.000000000000000, 20.000000000000000,
11421 6.0000000000000000, -0.90000000000000002 },
11422 { -6.4422705184649393e-10, 20.000000000000000, 20.000000000000000,
11423 6.0000000000000000, -0.80000000000000004 },
11424 { -3.7526132950808576e-09, 20.000000000000000, 20.000000000000000,
11425 6.0000000000000000, -0.69999999999999996 },
11426 { -1.7692034036274638e-09, 20.000000000000000, 20.000000000000000,
11427 6.0000000000000000, -0.59999999999999998 },
11428 { 7.9304558764774354e-08, 20.000000000000000, 20.000000000000000,
11429 6.0000000000000000, -0.50000000000000000 },
11430 { 5.9348070191507617e-08, 20.000000000000000, 20.000000000000000,
11431 6.0000000000000000, -0.40000000000000002 },
11432 { -3.5827694518409289e-06, 20.000000000000000, 20.000000000000000,
11433 6.0000000000000000, -0.30000000000000004 },
11434 { 4.4951490418031519e-05, 20.000000000000000, 20.000000000000000,
11435 6.0000000000000000, -0.19999999999999996 },
11436 { -0.0013716249406309328, 20.000000000000000, 20.000000000000000,
11437 6.0000000000000000, -0.099999999999999978 },
11438 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
11439 6.0000000000000000, 0.0000000000000000 },
11440 { 415.32493304415505, 20.000000000000000, 20.000000000000000,
11441 6.0000000000000000, 0.10000000000000009 },
11442 { 121300.42991518594, 20.000000000000000, 20.000000000000000,
11443 6.0000000000000000, 0.19999999999999996 },
11444 { 42725673.833462097, 20.000000000000000, 20.000000000000000,
11445 6.0000000000000000, 0.30000000000000004 },
11446 { 24588915328.261719, 20.000000000000000, 20.000000000000000,
11447 6.0000000000000000, 0.39999999999999991 },
11448 { 31929082412503.652, 20.000000000000000, 20.000000000000000,
11449 6.0000000000000000, 0.50000000000000000 },
11450 { 1.4934954443280477e+17, 20.000000000000000, 20.000000000000000,
11451 6.0000000000000000, 0.60000000000000009 },
11452 { 5.7726220597696125e+21, 20.000000000000000, 20.000000000000000,
11453 6.0000000000000000, 0.69999999999999996 },
11454 { 1.1454387824049374e+28, 20.000000000000000, 20.000000000000000,
11455 6.0000000000000000, 0.80000000000000004 },
11456 { 3.8088637321581534e+38, 20.000000000000000, 20.000000000000000,
11457 6.0000000000000000, 0.89999999999999991 },
11459 const double toler243
= 2.5000000000000020e-13;
11461 // Test data for a=20.000000000000000, b=20.000000000000000, c=8.0000000000000000.
11462 // max(|f - f_GSL|): 3.3204139332677193e+20
11463 // max(|f - f_GSL| / |f_GSL|): 1.9148846081415644e-15
11464 const testcase_hyperg
<double>
11467 { 1.0699067880816065e-10, 20.000000000000000, 20.000000000000000,
11468 8.0000000000000000, -0.90000000000000002 },
11469 { 5.4297771645951943e-10, 20.000000000000000, 20.000000000000000,
11470 8.0000000000000000, -0.80000000000000004 },
11471 { 9.7625476382187751e-10, 20.000000000000000, 20.000000000000000,
11472 8.0000000000000000, -0.69999999999999996 },
11473 { -6.7257763949908548e-09, 20.000000000000000, 20.000000000000000,
11474 8.0000000000000000, -0.59999999999999998 },
11475 { -5.4634571496409877e-08, 20.000000000000000, 20.000000000000000,
11476 8.0000000000000000, -0.50000000000000000 },
11477 { 1.4595644213797847e-07, 20.000000000000000, 20.000000000000000,
11478 8.0000000000000000, -0.40000000000000002 },
11479 { 3.3515966494792549e-06, 20.000000000000000, 20.000000000000000,
11480 8.0000000000000000, -0.30000000000000004 },
11481 { -6.5848086985738461e-05, 20.000000000000000, 20.000000000000000,
11482 8.0000000000000000, -0.19999999999999996 },
11483 { 0.0034800171306214847, 20.000000000000000, 20.000000000000000,
11484 8.0000000000000000, -0.099999999999999978 },
11485 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
11486 8.0000000000000000, 0.0000000000000000 },
11487 { 130.93865856750304, 20.000000000000000, 20.000000000000000,
11488 8.0000000000000000, 0.10000000000000009 },
11489 { 17850.203502975532, 20.000000000000000, 20.000000000000000,
11490 8.0000000000000000, 0.19999999999999996 },
11491 { 3307058.5655149994, 20.000000000000000, 20.000000000000000,
11492 8.0000000000000000, 0.30000000000000004 },
11493 { 1041065396.2302787, 20.000000000000000, 20.000000000000000,
11494 8.0000000000000000, 0.39999999999999991 },
11495 { 735221357488.41736, 20.000000000000000, 20.000000000000000,
11496 8.0000000000000000, 0.50000000000000000 },
11497 { 1785176805049585.2, 20.000000000000000, 20.000000000000000,
11498 8.0000000000000000, 0.60000000000000009 },
11499 { 3.2302829930269192e+19, 20.000000000000000, 20.000000000000000,
11500 8.0000000000000000, 0.69999999999999996 },
11501 { 2.4184909805178299e+25, 20.000000000000000, 20.000000000000000,
11502 8.0000000000000000, 0.80000000000000004 },
11503 { 1.7340021007794567e+35, 20.000000000000000, 20.000000000000000,
11504 8.0000000000000000, 0.89999999999999991 },
11506 const double toler244
= 2.5000000000000020e-13;
11508 // Test data for a=20.000000000000000, b=20.000000000000000, c=10.000000000000000.
11509 // max(|f - f_GSL|): 3.4227357168015770e+17
11510 // max(|f - f_GSL| / |f_GSL|): 2.2509396750115090e-15
11511 const testcase_hyperg
<double>
11514 { -1.7945360901577764e-10, 20.000000000000000, 20.000000000000000,
11515 10.000000000000000, -0.90000000000000002 },
11516 { -4.4440665776938741e-10, 20.000000000000000, 20.000000000000000,
11517 10.000000000000000, -0.80000000000000004 },
11518 { 6.6171615263373664e-10, 20.000000000000000, 20.000000000000000,
11519 10.000000000000000, -0.69999999999999996 },
11520 { 1.5453889374050929e-08, 20.000000000000000, 20.000000000000000,
11521 10.000000000000000, -0.59999999999999998 },
11522 { 7.5754083909301490e-08, 20.000000000000000, 20.000000000000000,
11523 10.000000000000000, -0.50000000000000000 },
11524 { -4.1113628642452120e-07, 20.000000000000000, 20.000000000000000,
11525 10.000000000000000, -0.40000000000000002 },
11526 { -9.5300704264471230e-06, 20.000000000000000, 20.000000000000000,
11527 10.000000000000000, -0.30000000000000004 },
11528 { 0.00016081533175773833, 20.000000000000000, 20.000000000000000,
11529 10.000000000000000, -0.19999999999999996 },
11530 { 0.017684650940379586, 20.000000000000000, 20.000000000000000,
11531 10.000000000000000, -0.099999999999999978 },
11532 { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
11533 10.000000000000000, 0.0000000000000000 },
11534 { 57.562247312454403, 20.000000000000000, 20.000000000000000,
11535 10.000000000000000, 0.10000000000000009 },
11536 { 4124.4159820362511, 20.000000000000000, 20.000000000000000,
11537 10.000000000000000, 0.19999999999999996 },
11538 { 428774.21436196787, 20.000000000000000, 20.000000000000000,
11539 10.000000000000000, 0.30000000000000004 },
11540 { 76996819.900892526, 20.000000000000000, 20.000000000000000,
11541 10.000000000000000, 0.39999999999999991 },
11542 { 30473174828.943691, 20.000000000000000, 20.000000000000000,
11543 10.000000000000000, 0.50000000000000000 },
11544 { 39291970835753.094, 20.000000000000000, 20.000000000000000,
11545 10.000000000000000, 0.60000000000000009 },
11546 { 3.3890331048069018e+17, 20.000000000000000, 20.000000000000000,
11547 10.000000000000000, 0.69999999999999996 },
11548 { 9.7157373454594049e+22, 20.000000000000000, 20.000000000000000,
11549 10.000000000000000, 0.80000000000000004 },
11550 { 1.5205808288860858e+32, 20.000000000000000, 20.000000000000000,
11551 10.000000000000000, 0.89999999999999991 },
11553 const double toler245
= 2.5000000000000020e-13;
11555 template<typename Tp
, unsigned int Num
>
11557 test(const testcase_hyperg
<Tp
> (&data
)[Num
], Tp toler
)
11559 bool test
__attribute__((unused
)) = true;
11560 const Tp eps
= std::numeric_limits
<Tp
>::epsilon();
11561 Tp max_abs_diff
= -Tp(1);
11562 Tp max_abs_frac
= -Tp(1);
11563 unsigned int num_datum
= Num
;
11564 for (unsigned int i
= 0; i
< num_datum
; ++i
)
11566 const Tp f
= __gnu_cxx::hyperg(data
[i
].a
, data
[i
].b
,
11567 data
[i
].c
, data
[i
].x
);
11568 const Tp f0
= data
[i
].f0
;
11569 const Tp diff
= f
- f0
;
11570 if (std::abs(diff
) > max_abs_diff
)
11571 max_abs_diff
= std::abs(diff
);
11572 if (std::abs(f0
) > Tp(10) * eps
&& std::abs(f
) > Tp(10) * eps
)
11574 const Tp frac
= diff
/ f0
;
11575 if (std::abs(frac
) > max_abs_frac
)
11576 max_abs_frac
= std::abs(frac
);
11579 VERIFY(max_abs_frac
< toler
);
11585 test(data001
, toler001
);
11586 test(data002
, toler002
);
11587 test(data003
, toler003
);
11588 test(data004
, toler004
);
11589 test(data005
, toler005
);
11590 test(data006
, toler006
);
11591 test(data007
, toler007
);
11592 test(data008
, toler008
);
11593 test(data009
, toler009
);
11594 test(data010
, toler010
);
11595 test(data011
, toler011
);
11596 test(data012
, toler012
);
11597 test(data013
, toler013
);
11598 test(data014
, toler014
);
11599 test(data015
, toler015
);
11600 test(data016
, toler016
);
11601 test(data017
, toler017
);
11602 test(data018
, toler018
);
11603 test(data019
, toler019
);
11604 test(data020
, toler020
);
11605 test(data021
, toler021
);
11606 test(data022
, toler022
);
11607 test(data023
, toler023
);
11608 test(data024
, toler024
);
11609 test(data025
, toler025
);
11610 test(data026
, toler026
);
11611 test(data027
, toler027
);
11612 test(data028
, toler028
);
11613 test(data029
, toler029
);
11614 test(data030
, toler030
);
11615 test(data031
, toler031
);
11616 test(data032
, toler032
);
11617 test(data033
, toler033
);
11618 test(data034
, toler034
);
11619 test(data035
, toler035
);
11620 test(data036
, toler036
);
11621 test(data037
, toler037
);
11622 test(data038
, toler038
);
11623 test(data039
, toler039
);
11624 test(data040
, toler040
);
11625 test(data041
, toler041
);
11626 test(data042
, toler042
);
11627 test(data043
, toler043
);
11628 test(data044
, toler044
);
11629 test(data045
, toler045
);
11630 test(data046
, toler046
);
11631 test(data047
, toler047
);
11632 test(data048
, toler048
);
11633 test(data049
, toler049
);
11634 test(data050
, toler050
);
11635 test(data051
, toler051
);
11636 test(data052
, toler052
);
11637 test(data053
, toler053
);
11638 test(data054
, toler054
);
11639 test(data055
, toler055
);
11640 test(data056
, toler056
);
11641 test(data057
, toler057
);
11642 test(data058
, toler058
);
11643 test(data059
, toler059
);
11644 test(data060
, toler060
);
11645 test(data061
, toler061
);
11646 test(data062
, toler062
);
11647 test(data063
, toler063
);
11648 test(data064
, toler064
);
11649 test(data065
, toler065
);
11650 test(data066
, toler066
);
11651 test(data067
, toler067
);
11652 test(data068
, toler068
);
11653 test(data069
, toler069
);
11654 test(data070
, toler070
);
11655 test(data071
, toler071
);
11656 test(data072
, toler072
);
11657 test(data073
, toler073
);
11658 test(data074
, toler074
);
11659 test(data075
, toler075
);
11660 test(data076
, toler076
);
11661 test(data077
, toler077
);
11662 test(data078
, toler078
);
11663 test(data079
, toler079
);
11664 test(data080
, toler080
);
11665 test(data081
, toler081
);
11666 test(data082
, toler082
);
11667 test(data083
, toler083
);
11668 test(data084
, toler084
);
11669 test(data085
, toler085
);
11670 test(data086
, toler086
);
11671 test(data087
, toler087
);
11672 test(data088
, toler088
);
11673 test(data089
, toler089
);
11674 test(data090
, toler090
);
11675 test(data091
, toler091
);
11676 test(data092
, toler092
);
11677 test(data093
, toler093
);
11678 test(data094
, toler094
);
11679 test(data095
, toler095
);
11680 test(data096
, toler096
);
11681 test(data097
, toler097
);
11682 test(data098
, toler098
);
11683 test(data099
, toler099
);
11684 test(data100
, toler100
);
11685 test(data101
, toler101
);
11686 test(data102
, toler102
);
11687 test(data103
, toler103
);
11688 test(data104
, toler104
);
11689 test(data105
, toler105
);
11690 test(data106
, toler106
);
11691 test(data107
, toler107
);
11692 test(data108
, toler108
);
11693 test(data109
, toler109
);
11694 test(data110
, toler110
);
11695 test(data111
, toler111
);
11696 test(data112
, toler112
);
11697 test(data113
, toler113
);
11698 test(data114
, toler114
);
11699 test(data115
, toler115
);
11700 test(data116
, toler116
);
11701 test(data117
, toler117
);
11702 test(data118
, toler118
);
11703 test(data119
, toler119
);
11704 test(data120
, toler120
);
11705 test(data121
, toler121
);
11706 test(data122
, toler122
);
11707 test(data123
, toler123
);
11708 test(data124
, toler124
);
11709 test(data125
, toler125
);
11710 test(data126
, toler126
);
11711 test(data127
, toler127
);
11712 test(data128
, toler128
);
11713 test(data129
, toler129
);
11714 test(data130
, toler130
);
11715 test(data131
, toler131
);
11716 test(data132
, toler132
);
11717 test(data133
, toler133
);
11718 test(data134
, toler134
);
11719 test(data135
, toler135
);
11720 test(data136
, toler136
);
11721 test(data137
, toler137
);
11722 test(data138
, toler138
);
11723 test(data139
, toler139
);
11724 test(data140
, toler140
);
11725 test(data141
, toler141
);
11726 test(data142
, toler142
);
11727 test(data143
, toler143
);
11728 test(data144
, toler144
);
11729 test(data145
, toler145
);
11730 test(data146
, toler146
);
11731 test(data147
, toler147
);
11732 test(data148
, toler148
);
11733 test(data149
, toler149
);
11734 test(data150
, toler150
);
11735 test(data151
, toler151
);
11736 test(data152
, toler152
);
11737 test(data153
, toler153
);
11738 test(data154
, toler154
);
11739 test(data155
, toler155
);
11740 test(data156
, toler156
);
11741 test(data157
, toler157
);
11742 test(data158
, toler158
);
11743 test(data159
, toler159
);
11744 test(data160
, toler160
);
11745 test(data161
, toler161
);
11746 test(data162
, toler162
);
11747 test(data163
, toler163
);
11748 test(data164
, toler164
);
11749 test(data165
, toler165
);
11750 test(data166
, toler166
);
11751 test(data167
, toler167
);
11752 test(data168
, toler168
);
11753 test(data169
, toler169
);
11754 test(data170
, toler170
);
11755 test(data171
, toler171
);
11756 test(data172
, toler172
);
11757 test(data173
, toler173
);
11758 test(data174
, toler174
);
11759 test(data175
, toler175
);
11760 test(data176
, toler176
);
11761 test(data177
, toler177
);
11762 test(data178
, toler178
);
11763 test(data179
, toler179
);
11764 test(data180
, toler180
);
11765 test(data181
, toler181
);
11766 test(data182
, toler182
);
11767 test(data183
, toler183
);
11768 test(data184
, toler184
);
11769 test(data185
, toler185
);
11770 test(data186
, toler186
);
11771 test(data187
, toler187
);
11772 test(data188
, toler188
);
11773 test(data189
, toler189
);
11774 test(data190
, toler190
);
11775 test(data191
, toler191
);
11776 test(data192
, toler192
);
11777 test(data193
, toler193
);
11778 test(data194
, toler194
);
11779 test(data195
, toler195
);
11780 test(data196
, toler196
);
11781 test(data197
, toler197
);
11782 test(data198
, toler198
);
11783 test(data199
, toler199
);
11784 test(data200
, toler200
);
11785 test(data201
, toler201
);
11786 test(data202
, toler202
);
11787 test(data203
, toler203
);
11788 test(data204
, toler204
);
11789 test(data205
, toler205
);
11790 test(data206
, toler206
);
11791 test(data207
, toler207
);
11792 test(data208
, toler208
);
11793 test(data209
, toler209
);
11794 test(data210
, toler210
);
11795 test(data211
, toler211
);
11796 test(data212
, toler212
);
11797 test(data213
, toler213
);
11798 test(data214
, toler214
);
11799 test(data215
, toler215
);
11800 test(data216
, toler216
);
11801 test(data217
, toler217
);
11802 test(data218
, toler218
);
11803 test(data219
, toler219
);
11804 test(data220
, toler220
);
11805 test(data221
, toler221
);
11806 test(data222
, toler222
);
11807 test(data223
, toler223
);
11808 test(data224
, toler224
);
11809 test(data225
, toler225
);
11810 test(data226
, toler226
);
11811 test(data227
, toler227
);
11812 test(data228
, toler228
);
11813 test(data229
, toler229
);
11814 test(data230
, toler230
);
11815 test(data231
, toler231
);
11816 test(data232
, toler232
);
11817 test(data233
, toler233
);
11818 test(data234
, toler234
);
11819 test(data235
, toler235
);
11820 test(data236
, toler236
);
11821 test(data237
, toler237
);
11822 test(data238
, toler238
);
11823 test(data239
, toler239
);
11824 test(data240
, toler240
);
11825 test(data241
, toler241
);
11826 test(data242
, toler242
);
11827 test(data243
, toler243
);
11828 test(data244
, toler244
);
11829 test(data245
, toler245
);