]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / tr1 / 5_numerical_facilities / special_functions / 16_hermite / check_value.cc
1 // { dg-do run { target c++11 } }
2 // { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
3 //
4 // Copyright (C) 2016-2022 Free Software Foundation, Inc.
5 //
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
10 // any later version.
11 //
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING3. If not see
19 // <http://www.gnu.org/licenses/>.
20
21 // hermite
22 // Compare against values generated by the GNU Scientific Library.
23 // The GSL can be found on the web: http://www.gnu.org/software/gsl/
24 #include <limits>
25 #include <tr1/cmath>
26 #if defined(__TEST_DEBUG)
27 # include <iostream>
28 # define VERIFY(A) \
29 if (!(A)) \
30 { \
31 std::cout << "line " << __LINE__ \
32 << " max_abs_frac = " << max_abs_frac \
33 << std::endl; \
34 }
35 #else
36 # include <testsuite_hooks.h>
37 #endif
38 #include <specfun_testcase.h>
39
40 // Test data for n=0.
41 // max(|f - f_GSL|): 0.0000000000000000 at index 0
42 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
43 // mean(f - f_GSL): 0.0000000000000000
44 // variance(f - f_GSL): 0.0000000000000000
45 // stddev(f - f_GSL): 0.0000000000000000
46 const testcase_hermite<double>
47 data001[201] =
48 {
49 { 1.0000000000000000, 0, -10.000000000000000, 0.0 },
50 { 1.0000000000000000, 0, -9.9000000000000004, 0.0 },
51 { 1.0000000000000000, 0, -9.8000000000000007, 0.0 },
52 { 1.0000000000000000, 0, -9.6999999999999993, 0.0 },
53 { 1.0000000000000000, 0, -9.5999999999999996, 0.0 },
54 { 1.0000000000000000, 0, -9.5000000000000000, 0.0 },
55 { 1.0000000000000000, 0, -9.4000000000000004, 0.0 },
56 { 1.0000000000000000, 0, -9.3000000000000007, 0.0 },
57 { 1.0000000000000000, 0, -9.1999999999999993, 0.0 },
58 { 1.0000000000000000, 0, -9.0999999999999996, 0.0 },
59 { 1.0000000000000000, 0, -9.0000000000000000, 0.0 },
60 { 1.0000000000000000, 0, -8.9000000000000004, 0.0 },
61 { 1.0000000000000000, 0, -8.8000000000000007, 0.0 },
62 { 1.0000000000000000, 0, -8.6999999999999993, 0.0 },
63 { 1.0000000000000000, 0, -8.5999999999999996, 0.0 },
64 { 1.0000000000000000, 0, -8.5000000000000000, 0.0 },
65 { 1.0000000000000000, 0, -8.4000000000000004, 0.0 },
66 { 1.0000000000000000, 0, -8.3000000000000007, 0.0 },
67 { 1.0000000000000000, 0, -8.1999999999999993, 0.0 },
68 { 1.0000000000000000, 0, -8.0999999999999996, 0.0 },
69 { 1.0000000000000000, 0, -8.0000000000000000, 0.0 },
70 { 1.0000000000000000, 0, -7.9000000000000004, 0.0 },
71 { 1.0000000000000000, 0, -7.7999999999999998, 0.0 },
72 { 1.0000000000000000, 0, -7.6999999999999993, 0.0 },
73 { 1.0000000000000000, 0, -7.5999999999999996, 0.0 },
74 { 1.0000000000000000, 0, -7.5000000000000000, 0.0 },
75 { 1.0000000000000000, 0, -7.4000000000000004, 0.0 },
76 { 1.0000000000000000, 0, -7.2999999999999998, 0.0 },
77 { 1.0000000000000000, 0, -7.1999999999999993, 0.0 },
78 { 1.0000000000000000, 0, -7.0999999999999996, 0.0 },
79 { 1.0000000000000000, 0, -7.0000000000000000, 0.0 },
80 { 1.0000000000000000, 0, -6.9000000000000004, 0.0 },
81 { 1.0000000000000000, 0, -6.7999999999999998, 0.0 },
82 { 1.0000000000000000, 0, -6.6999999999999993, 0.0 },
83 { 1.0000000000000000, 0, -6.5999999999999996, 0.0 },
84 { 1.0000000000000000, 0, -6.5000000000000000, 0.0 },
85 { 1.0000000000000000, 0, -6.4000000000000004, 0.0 },
86 { 1.0000000000000000, 0, -6.2999999999999998, 0.0 },
87 { 1.0000000000000000, 0, -6.1999999999999993, 0.0 },
88 { 1.0000000000000000, 0, -6.0999999999999996, 0.0 },
89 { 1.0000000000000000, 0, -6.0000000000000000, 0.0 },
90 { 1.0000000000000000, 0, -5.8999999999999995, 0.0 },
91 { 1.0000000000000000, 0, -5.7999999999999998, 0.0 },
92 { 1.0000000000000000, 0, -5.7000000000000002, 0.0 },
93 { 1.0000000000000000, 0, -5.5999999999999996, 0.0 },
94 { 1.0000000000000000, 0, -5.5000000000000000, 0.0 },
95 { 1.0000000000000000, 0, -5.3999999999999995, 0.0 },
96 { 1.0000000000000000, 0, -5.2999999999999998, 0.0 },
97 { 1.0000000000000000, 0, -5.1999999999999993, 0.0 },
98 { 1.0000000000000000, 0, -5.0999999999999996, 0.0 },
99 { 1.0000000000000000, 0, -5.0000000000000000, 0.0 },
100 { 1.0000000000000000, 0, -4.8999999999999995, 0.0 },
101 { 1.0000000000000000, 0, -4.7999999999999998, 0.0 },
102 { 1.0000000000000000, 0, -4.6999999999999993, 0.0 },
103 { 1.0000000000000000, 0, -4.5999999999999996, 0.0 },
104 { 1.0000000000000000, 0, -4.5000000000000000, 0.0 },
105 { 1.0000000000000000, 0, -4.3999999999999995, 0.0 },
106 { 1.0000000000000000, 0, -4.2999999999999998, 0.0 },
107 { 1.0000000000000000, 0, -4.1999999999999993, 0.0 },
108 { 1.0000000000000000, 0, -4.0999999999999996, 0.0 },
109 { 1.0000000000000000, 0, -4.0000000000000000, 0.0 },
110 { 1.0000000000000000, 0, -3.8999999999999995, 0.0 },
111 { 1.0000000000000000, 0, -3.7999999999999998, 0.0 },
112 { 1.0000000000000000, 0, -3.6999999999999993, 0.0 },
113 { 1.0000000000000000, 0, -3.5999999999999996, 0.0 },
114 { 1.0000000000000000, 0, -3.5000000000000000, 0.0 },
115 { 1.0000000000000000, 0, -3.3999999999999995, 0.0 },
116 { 1.0000000000000000, 0, -3.2999999999999998, 0.0 },
117 { 1.0000000000000000, 0, -3.1999999999999993, 0.0 },
118 { 1.0000000000000000, 0, -3.0999999999999996, 0.0 },
119 { 1.0000000000000000, 0, -3.0000000000000000, 0.0 },
120 { 1.0000000000000000, 0, -2.8999999999999995, 0.0 },
121 { 1.0000000000000000, 0, -2.7999999999999998, 0.0 },
122 { 1.0000000000000000, 0, -2.6999999999999993, 0.0 },
123 { 1.0000000000000000, 0, -2.5999999999999996, 0.0 },
124 { 1.0000000000000000, 0, -2.5000000000000000, 0.0 },
125 { 1.0000000000000000, 0, -2.3999999999999995, 0.0 },
126 { 1.0000000000000000, 0, -2.2999999999999998, 0.0 },
127 { 1.0000000000000000, 0, -2.1999999999999993, 0.0 },
128 { 1.0000000000000000, 0, -2.0999999999999996, 0.0 },
129 { 1.0000000000000000, 0, -2.0000000000000000, 0.0 },
130 { 1.0000000000000000, 0, -1.9000000000000004, 0.0 },
131 { 1.0000000000000000, 0, -1.7999999999999989, 0.0 },
132 { 1.0000000000000000, 0, -1.6999999999999993, 0.0 },
133 { 1.0000000000000000, 0, -1.5999999999999996, 0.0 },
134 { 1.0000000000000000, 0, -1.5000000000000000, 0.0 },
135 { 1.0000000000000000, 0, -1.4000000000000004, 0.0 },
136 { 1.0000000000000000, 0, -1.2999999999999989, 0.0 },
137 { 1.0000000000000000, 0, -1.1999999999999993, 0.0 },
138 { 1.0000000000000000, 0, -1.0999999999999996, 0.0 },
139 { 1.0000000000000000, 0, -1.0000000000000000, 0.0 },
140 { 1.0000000000000000, 0, -0.90000000000000036, 0.0 },
141 { 1.0000000000000000, 0, -0.79999999999999893, 0.0 },
142 { 1.0000000000000000, 0, -0.69999999999999929, 0.0 },
143 { 1.0000000000000000, 0, -0.59999999999999964, 0.0 },
144 { 1.0000000000000000, 0, -0.50000000000000000, 0.0 },
145 { 1.0000000000000000, 0, -0.39999999999999858, 0.0 },
146 { 1.0000000000000000, 0, -0.29999999999999893, 0.0 },
147 { 1.0000000000000000, 0, -0.19999999999999929, 0.0 },
148 { 1.0000000000000000, 0, -0.099999999999999645, 0.0 },
149 { 1.0000000000000000, 0, 0.0000000000000000, 0.0 },
150 { 1.0000000000000000, 0, 0.10000000000000142, 0.0 },
151 { 1.0000000000000000, 0, 0.20000000000000107, 0.0 },
152 { 1.0000000000000000, 0, 0.30000000000000071, 0.0 },
153 { 1.0000000000000000, 0, 0.40000000000000036, 0.0 },
154 { 1.0000000000000000, 0, 0.50000000000000000, 0.0 },
155 { 1.0000000000000000, 0, 0.60000000000000142, 0.0 },
156 { 1.0000000000000000, 0, 0.70000000000000107, 0.0 },
157 { 1.0000000000000000, 0, 0.80000000000000071, 0.0 },
158 { 1.0000000000000000, 0, 0.90000000000000036, 0.0 },
159 { 1.0000000000000000, 0, 1.0000000000000000, 0.0 },
160 { 1.0000000000000000, 0, 1.1000000000000014, 0.0 },
161 { 1.0000000000000000, 0, 1.2000000000000011, 0.0 },
162 { 1.0000000000000000, 0, 1.3000000000000007, 0.0 },
163 { 1.0000000000000000, 0, 1.4000000000000004, 0.0 },
164 { 1.0000000000000000, 0, 1.5000000000000000, 0.0 },
165 { 1.0000000000000000, 0, 1.6000000000000014, 0.0 },
166 { 1.0000000000000000, 0, 1.7000000000000011, 0.0 },
167 { 1.0000000000000000, 0, 1.8000000000000007, 0.0 },
168 { 1.0000000000000000, 0, 1.9000000000000004, 0.0 },
169 { 1.0000000000000000, 0, 2.0000000000000000, 0.0 },
170 { 1.0000000000000000, 0, 2.1000000000000014, 0.0 },
171 { 1.0000000000000000, 0, 2.2000000000000011, 0.0 },
172 { 1.0000000000000000, 0, 2.3000000000000007, 0.0 },
173 { 1.0000000000000000, 0, 2.4000000000000004, 0.0 },
174 { 1.0000000000000000, 0, 2.5000000000000000, 0.0 },
175 { 1.0000000000000000, 0, 2.6000000000000014, 0.0 },
176 { 1.0000000000000000, 0, 2.7000000000000011, 0.0 },
177 { 1.0000000000000000, 0, 2.8000000000000007, 0.0 },
178 { 1.0000000000000000, 0, 2.9000000000000004, 0.0 },
179 { 1.0000000000000000, 0, 3.0000000000000000, 0.0 },
180 { 1.0000000000000000, 0, 3.1000000000000014, 0.0 },
181 { 1.0000000000000000, 0, 3.2000000000000011, 0.0 },
182 { 1.0000000000000000, 0, 3.3000000000000007, 0.0 },
183 { 1.0000000000000000, 0, 3.4000000000000004, 0.0 },
184 { 1.0000000000000000, 0, 3.5000000000000000, 0.0 },
185 { 1.0000000000000000, 0, 3.6000000000000014, 0.0 },
186 { 1.0000000000000000, 0, 3.7000000000000011, 0.0 },
187 { 1.0000000000000000, 0, 3.8000000000000007, 0.0 },
188 { 1.0000000000000000, 0, 3.9000000000000004, 0.0 },
189 { 1.0000000000000000, 0, 4.0000000000000000, 0.0 },
190 { 1.0000000000000000, 0, 4.1000000000000014, 0.0 },
191 { 1.0000000000000000, 0, 4.2000000000000011, 0.0 },
192 { 1.0000000000000000, 0, 4.3000000000000007, 0.0 },
193 { 1.0000000000000000, 0, 4.4000000000000004, 0.0 },
194 { 1.0000000000000000, 0, 4.5000000000000000, 0.0 },
195 { 1.0000000000000000, 0, 4.6000000000000014, 0.0 },
196 { 1.0000000000000000, 0, 4.7000000000000011, 0.0 },
197 { 1.0000000000000000, 0, 4.8000000000000007, 0.0 },
198 { 1.0000000000000000, 0, 4.9000000000000004, 0.0 },
199 { 1.0000000000000000, 0, 5.0000000000000000, 0.0 },
200 { 1.0000000000000000, 0, 5.1000000000000014, 0.0 },
201 { 1.0000000000000000, 0, 5.2000000000000011, 0.0 },
202 { 1.0000000000000000, 0, 5.3000000000000007, 0.0 },
203 { 1.0000000000000000, 0, 5.4000000000000004, 0.0 },
204 { 1.0000000000000000, 0, 5.5000000000000000, 0.0 },
205 { 1.0000000000000000, 0, 5.6000000000000014, 0.0 },
206 { 1.0000000000000000, 0, 5.7000000000000011, 0.0 },
207 { 1.0000000000000000, 0, 5.8000000000000007, 0.0 },
208 { 1.0000000000000000, 0, 5.9000000000000004, 0.0 },
209 { 1.0000000000000000, 0, 6.0000000000000000, 0.0 },
210 { 1.0000000000000000, 0, 6.1000000000000014, 0.0 },
211 { 1.0000000000000000, 0, 6.1999999999999993, 0.0 },
212 { 1.0000000000000000, 0, 6.3000000000000007, 0.0 },
213 { 1.0000000000000000, 0, 6.4000000000000021, 0.0 },
214 { 1.0000000000000000, 0, 6.5000000000000000, 0.0 },
215 { 1.0000000000000000, 0, 6.6000000000000014, 0.0 },
216 { 1.0000000000000000, 0, 6.6999999999999993, 0.0 },
217 { 1.0000000000000000, 0, 6.8000000000000007, 0.0 },
218 { 1.0000000000000000, 0, 6.9000000000000021, 0.0 },
219 { 1.0000000000000000, 0, 7.0000000000000000, 0.0 },
220 { 1.0000000000000000, 0, 7.1000000000000014, 0.0 },
221 { 1.0000000000000000, 0, 7.1999999999999993, 0.0 },
222 { 1.0000000000000000, 0, 7.3000000000000007, 0.0 },
223 { 1.0000000000000000, 0, 7.4000000000000021, 0.0 },
224 { 1.0000000000000000, 0, 7.5000000000000000, 0.0 },
225 { 1.0000000000000000, 0, 7.6000000000000014, 0.0 },
226 { 1.0000000000000000, 0, 7.6999999999999993, 0.0 },
227 { 1.0000000000000000, 0, 7.8000000000000007, 0.0 },
228 { 1.0000000000000000, 0, 7.9000000000000021, 0.0 },
229 { 1.0000000000000000, 0, 8.0000000000000000, 0.0 },
230 { 1.0000000000000000, 0, 8.1000000000000014, 0.0 },
231 { 1.0000000000000000, 0, 8.1999999999999993, 0.0 },
232 { 1.0000000000000000, 0, 8.3000000000000007, 0.0 },
233 { 1.0000000000000000, 0, 8.4000000000000021, 0.0 },
234 { 1.0000000000000000, 0, 8.5000000000000000, 0.0 },
235 { 1.0000000000000000, 0, 8.6000000000000014, 0.0 },
236 { 1.0000000000000000, 0, 8.6999999999999993, 0.0 },
237 { 1.0000000000000000, 0, 8.8000000000000007, 0.0 },
238 { 1.0000000000000000, 0, 8.9000000000000021, 0.0 },
239 { 1.0000000000000000, 0, 9.0000000000000000, 0.0 },
240 { 1.0000000000000000, 0, 9.1000000000000014, 0.0 },
241 { 1.0000000000000000, 0, 9.2000000000000028, 0.0 },
242 { 1.0000000000000000, 0, 9.3000000000000007, 0.0 },
243 { 1.0000000000000000, 0, 9.4000000000000021, 0.0 },
244 { 1.0000000000000000, 0, 9.5000000000000000, 0.0 },
245 { 1.0000000000000000, 0, 9.6000000000000014, 0.0 },
246 { 1.0000000000000000, 0, 9.7000000000000028, 0.0 },
247 { 1.0000000000000000, 0, 9.8000000000000007, 0.0 },
248 { 1.0000000000000000, 0, 9.9000000000000021, 0.0 },
249 { 1.0000000000000000, 0, 10.000000000000000, 0.0 },
250 };
251 const double toler001 = 2.5000000000000020e-13;
252
253 // Test data for n=1.
254 // max(|f - f_GSL|): 0.0000000000000000 at index 0
255 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
256 // mean(f - f_GSL): 0.0000000000000000
257 // variance(f - f_GSL): 0.0000000000000000
258 // stddev(f - f_GSL): 0.0000000000000000
259 const testcase_hermite<double>
260 data002[201] =
261 {
262 { -20.000000000000000, 1, -10.000000000000000, 0.0 },
263 { -19.800000000000001, 1, -9.9000000000000004, 0.0 },
264 { -19.600000000000001, 1, -9.8000000000000007, 0.0 },
265 { -19.399999999999999, 1, -9.6999999999999993, 0.0 },
266 { -19.199999999999999, 1, -9.5999999999999996, 0.0 },
267 { -19.000000000000000, 1, -9.5000000000000000, 0.0 },
268 { -18.800000000000001, 1, -9.4000000000000004, 0.0 },
269 { -18.600000000000001, 1, -9.3000000000000007, 0.0 },
270 { -18.399999999999999, 1, -9.1999999999999993, 0.0 },
271 { -18.199999999999999, 1, -9.0999999999999996, 0.0 },
272 { -18.000000000000000, 1, -9.0000000000000000, 0.0 },
273 { -17.800000000000001, 1, -8.9000000000000004, 0.0 },
274 { -17.600000000000001, 1, -8.8000000000000007, 0.0 },
275 { -17.399999999999999, 1, -8.6999999999999993, 0.0 },
276 { -17.199999999999999, 1, -8.5999999999999996, 0.0 },
277 { -17.000000000000000, 1, -8.5000000000000000, 0.0 },
278 { -16.800000000000001, 1, -8.4000000000000004, 0.0 },
279 { -16.600000000000001, 1, -8.3000000000000007, 0.0 },
280 { -16.399999999999999, 1, -8.1999999999999993, 0.0 },
281 { -16.199999999999999, 1, -8.0999999999999996, 0.0 },
282 { -16.000000000000000, 1, -8.0000000000000000, 0.0 },
283 { -15.800000000000001, 1, -7.9000000000000004, 0.0 },
284 { -15.600000000000000, 1, -7.7999999999999998, 0.0 },
285 { -15.399999999999999, 1, -7.6999999999999993, 0.0 },
286 { -15.199999999999999, 1, -7.5999999999999996, 0.0 },
287 { -15.000000000000000, 1, -7.5000000000000000, 0.0 },
288 { -14.800000000000001, 1, -7.4000000000000004, 0.0 },
289 { -14.600000000000000, 1, -7.2999999999999998, 0.0 },
290 { -14.399999999999999, 1, -7.1999999999999993, 0.0 },
291 { -14.199999999999999, 1, -7.0999999999999996, 0.0 },
292 { -14.000000000000000, 1, -7.0000000000000000, 0.0 },
293 { -13.800000000000001, 1, -6.9000000000000004, 0.0 },
294 { -13.600000000000000, 1, -6.7999999999999998, 0.0 },
295 { -13.399999999999999, 1, -6.6999999999999993, 0.0 },
296 { -13.199999999999999, 1, -6.5999999999999996, 0.0 },
297 { -13.000000000000000, 1, -6.5000000000000000, 0.0 },
298 { -12.800000000000001, 1, -6.4000000000000004, 0.0 },
299 { -12.600000000000000, 1, -6.2999999999999998, 0.0 },
300 { -12.399999999999999, 1, -6.1999999999999993, 0.0 },
301 { -12.199999999999999, 1, -6.0999999999999996, 0.0 },
302 { -12.000000000000000, 1, -6.0000000000000000, 0.0 },
303 { -11.799999999999999, 1, -5.8999999999999995, 0.0 },
304 { -11.600000000000000, 1, -5.7999999999999998, 0.0 },
305 { -11.400000000000000, 1, -5.7000000000000002, 0.0 },
306 { -11.199999999999999, 1, -5.5999999999999996, 0.0 },
307 { -11.000000000000000, 1, -5.5000000000000000, 0.0 },
308 { -10.799999999999999, 1, -5.3999999999999995, 0.0 },
309 { -10.600000000000000, 1, -5.2999999999999998, 0.0 },
310 { -10.399999999999999, 1, -5.1999999999999993, 0.0 },
311 { -10.199999999999999, 1, -5.0999999999999996, 0.0 },
312 { -10.000000000000000, 1, -5.0000000000000000, 0.0 },
313 { -9.7999999999999989, 1, -4.8999999999999995, 0.0 },
314 { -9.5999999999999996, 1, -4.7999999999999998, 0.0 },
315 { -9.3999999999999986, 1, -4.6999999999999993, 0.0 },
316 { -9.1999999999999993, 1, -4.5999999999999996, 0.0 },
317 { -9.0000000000000000, 1, -4.5000000000000000, 0.0 },
318 { -8.7999999999999989, 1, -4.3999999999999995, 0.0 },
319 { -8.5999999999999996, 1, -4.2999999999999998, 0.0 },
320 { -8.3999999999999986, 1, -4.1999999999999993, 0.0 },
321 { -8.1999999999999993, 1, -4.0999999999999996, 0.0 },
322 { -8.0000000000000000, 1, -4.0000000000000000, 0.0 },
323 { -7.7999999999999989, 1, -3.8999999999999995, 0.0 },
324 { -7.5999999999999996, 1, -3.7999999999999998, 0.0 },
325 { -7.3999999999999986, 1, -3.6999999999999993, 0.0 },
326 { -7.1999999999999993, 1, -3.5999999999999996, 0.0 },
327 { -7.0000000000000000, 1, -3.5000000000000000, 0.0 },
328 { -6.7999999999999989, 1, -3.3999999999999995, 0.0 },
329 { -6.5999999999999996, 1, -3.2999999999999998, 0.0 },
330 { -6.3999999999999986, 1, -3.1999999999999993, 0.0 },
331 { -6.1999999999999993, 1, -3.0999999999999996, 0.0 },
332 { -6.0000000000000000, 1, -3.0000000000000000, 0.0 },
333 { -5.7999999999999989, 1, -2.8999999999999995, 0.0 },
334 { -5.5999999999999996, 1, -2.7999999999999998, 0.0 },
335 { -5.3999999999999986, 1, -2.6999999999999993, 0.0 },
336 { -5.1999999999999993, 1, -2.5999999999999996, 0.0 },
337 { -5.0000000000000000, 1, -2.5000000000000000, 0.0 },
338 { -4.7999999999999989, 1, -2.3999999999999995, 0.0 },
339 { -4.5999999999999996, 1, -2.2999999999999998, 0.0 },
340 { -4.3999999999999986, 1, -2.1999999999999993, 0.0 },
341 { -4.1999999999999993, 1, -2.0999999999999996, 0.0 },
342 { -4.0000000000000000, 1, -2.0000000000000000, 0.0 },
343 { -3.8000000000000007, 1, -1.9000000000000004, 0.0 },
344 { -3.5999999999999979, 1, -1.7999999999999989, 0.0 },
345 { -3.3999999999999986, 1, -1.6999999999999993, 0.0 },
346 { -3.1999999999999993, 1, -1.5999999999999996, 0.0 },
347 { -3.0000000000000000, 1, -1.5000000000000000, 0.0 },
348 { -2.8000000000000007, 1, -1.4000000000000004, 0.0 },
349 { -2.5999999999999979, 1, -1.2999999999999989, 0.0 },
350 { -2.3999999999999986, 1, -1.1999999999999993, 0.0 },
351 { -2.1999999999999993, 1, -1.0999999999999996, 0.0 },
352 { -2.0000000000000000, 1, -1.0000000000000000, 0.0 },
353 { -1.8000000000000007, 1, -0.90000000000000036, 0.0 },
354 { -1.5999999999999979, 1, -0.79999999999999893, 0.0 },
355 { -1.3999999999999986, 1, -0.69999999999999929, 0.0 },
356 { -1.1999999999999993, 1, -0.59999999999999964, 0.0 },
357 { -1.0000000000000000, 1, -0.50000000000000000, 0.0 },
358 { -0.79999999999999716, 1, -0.39999999999999858, 0.0 },
359 { -0.59999999999999787, 1, -0.29999999999999893, 0.0 },
360 { -0.39999999999999858, 1, -0.19999999999999929, 0.0 },
361 { -0.19999999999999929, 1, -0.099999999999999645, 0.0 },
362 { 0.0000000000000000, 1, 0.0000000000000000, 0.0 },
363 { 0.20000000000000284, 1, 0.10000000000000142, 0.0 },
364 { 0.40000000000000213, 1, 0.20000000000000107, 0.0 },
365 { 0.60000000000000142, 1, 0.30000000000000071, 0.0 },
366 { 0.80000000000000071, 1, 0.40000000000000036, 0.0 },
367 { 1.0000000000000000, 1, 0.50000000000000000, 0.0 },
368 { 1.2000000000000028, 1, 0.60000000000000142, 0.0 },
369 { 1.4000000000000021, 1, 0.70000000000000107, 0.0 },
370 { 1.6000000000000014, 1, 0.80000000000000071, 0.0 },
371 { 1.8000000000000007, 1, 0.90000000000000036, 0.0 },
372 { 2.0000000000000000, 1, 1.0000000000000000, 0.0 },
373 { 2.2000000000000028, 1, 1.1000000000000014, 0.0 },
374 { 2.4000000000000021, 1, 1.2000000000000011, 0.0 },
375 { 2.6000000000000014, 1, 1.3000000000000007, 0.0 },
376 { 2.8000000000000007, 1, 1.4000000000000004, 0.0 },
377 { 3.0000000000000000, 1, 1.5000000000000000, 0.0 },
378 { 3.2000000000000028, 1, 1.6000000000000014, 0.0 },
379 { 3.4000000000000021, 1, 1.7000000000000011, 0.0 },
380 { 3.6000000000000014, 1, 1.8000000000000007, 0.0 },
381 { 3.8000000000000007, 1, 1.9000000000000004, 0.0 },
382 { 4.0000000000000000, 1, 2.0000000000000000, 0.0 },
383 { 4.2000000000000028, 1, 2.1000000000000014, 0.0 },
384 { 4.4000000000000021, 1, 2.2000000000000011, 0.0 },
385 { 4.6000000000000014, 1, 2.3000000000000007, 0.0 },
386 { 4.8000000000000007, 1, 2.4000000000000004, 0.0 },
387 { 5.0000000000000000, 1, 2.5000000000000000, 0.0 },
388 { 5.2000000000000028, 1, 2.6000000000000014, 0.0 },
389 { 5.4000000000000021, 1, 2.7000000000000011, 0.0 },
390 { 5.6000000000000014, 1, 2.8000000000000007, 0.0 },
391 { 5.8000000000000007, 1, 2.9000000000000004, 0.0 },
392 { 6.0000000000000000, 1, 3.0000000000000000, 0.0 },
393 { 6.2000000000000028, 1, 3.1000000000000014, 0.0 },
394 { 6.4000000000000021, 1, 3.2000000000000011, 0.0 },
395 { 6.6000000000000014, 1, 3.3000000000000007, 0.0 },
396 { 6.8000000000000007, 1, 3.4000000000000004, 0.0 },
397 { 7.0000000000000000, 1, 3.5000000000000000, 0.0 },
398 { 7.2000000000000028, 1, 3.6000000000000014, 0.0 },
399 { 7.4000000000000021, 1, 3.7000000000000011, 0.0 },
400 { 7.6000000000000014, 1, 3.8000000000000007, 0.0 },
401 { 7.8000000000000007, 1, 3.9000000000000004, 0.0 },
402 { 8.0000000000000000, 1, 4.0000000000000000, 0.0 },
403 { 8.2000000000000028, 1, 4.1000000000000014, 0.0 },
404 { 8.4000000000000021, 1, 4.2000000000000011, 0.0 },
405 { 8.6000000000000014, 1, 4.3000000000000007, 0.0 },
406 { 8.8000000000000007, 1, 4.4000000000000004, 0.0 },
407 { 9.0000000000000000, 1, 4.5000000000000000, 0.0 },
408 { 9.2000000000000028, 1, 4.6000000000000014, 0.0 },
409 { 9.4000000000000021, 1, 4.7000000000000011, 0.0 },
410 { 9.6000000000000014, 1, 4.8000000000000007, 0.0 },
411 { 9.8000000000000007, 1, 4.9000000000000004, 0.0 },
412 { 10.000000000000000, 1, 5.0000000000000000, 0.0 },
413 { 10.200000000000003, 1, 5.1000000000000014, 0.0 },
414 { 10.400000000000002, 1, 5.2000000000000011, 0.0 },
415 { 10.600000000000001, 1, 5.3000000000000007, 0.0 },
416 { 10.800000000000001, 1, 5.4000000000000004, 0.0 },
417 { 11.000000000000000, 1, 5.5000000000000000, 0.0 },
418 { 11.200000000000003, 1, 5.6000000000000014, 0.0 },
419 { 11.400000000000002, 1, 5.7000000000000011, 0.0 },
420 { 11.600000000000001, 1, 5.8000000000000007, 0.0 },
421 { 11.800000000000001, 1, 5.9000000000000004, 0.0 },
422 { 12.000000000000000, 1, 6.0000000000000000, 0.0 },
423 { 12.200000000000003, 1, 6.1000000000000014, 0.0 },
424 { 12.399999999999999, 1, 6.1999999999999993, 0.0 },
425 { 12.600000000000001, 1, 6.3000000000000007, 0.0 },
426 { 12.800000000000004, 1, 6.4000000000000021, 0.0 },
427 { 13.000000000000000, 1, 6.5000000000000000, 0.0 },
428 { 13.200000000000003, 1, 6.6000000000000014, 0.0 },
429 { 13.399999999999999, 1, 6.6999999999999993, 0.0 },
430 { 13.600000000000001, 1, 6.8000000000000007, 0.0 },
431 { 13.800000000000004, 1, 6.9000000000000021, 0.0 },
432 { 14.000000000000000, 1, 7.0000000000000000, 0.0 },
433 { 14.200000000000003, 1, 7.1000000000000014, 0.0 },
434 { 14.399999999999999, 1, 7.1999999999999993, 0.0 },
435 { 14.600000000000001, 1, 7.3000000000000007, 0.0 },
436 { 14.800000000000004, 1, 7.4000000000000021, 0.0 },
437 { 15.000000000000000, 1, 7.5000000000000000, 0.0 },
438 { 15.200000000000003, 1, 7.6000000000000014, 0.0 },
439 { 15.399999999999999, 1, 7.6999999999999993, 0.0 },
440 { 15.600000000000001, 1, 7.8000000000000007, 0.0 },
441 { 15.800000000000004, 1, 7.9000000000000021, 0.0 },
442 { 16.000000000000000, 1, 8.0000000000000000, 0.0 },
443 { 16.200000000000003, 1, 8.1000000000000014, 0.0 },
444 { 16.399999999999999, 1, 8.1999999999999993, 0.0 },
445 { 16.600000000000001, 1, 8.3000000000000007, 0.0 },
446 { 16.800000000000004, 1, 8.4000000000000021, 0.0 },
447 { 17.000000000000000, 1, 8.5000000000000000, 0.0 },
448 { 17.200000000000003, 1, 8.6000000000000014, 0.0 },
449 { 17.399999999999999, 1, 8.6999999999999993, 0.0 },
450 { 17.600000000000001, 1, 8.8000000000000007, 0.0 },
451 { 17.800000000000004, 1, 8.9000000000000021, 0.0 },
452 { 18.000000000000000, 1, 9.0000000000000000, 0.0 },
453 { 18.200000000000003, 1, 9.1000000000000014, 0.0 },
454 { 18.400000000000006, 1, 9.2000000000000028, 0.0 },
455 { 18.600000000000001, 1, 9.3000000000000007, 0.0 },
456 { 18.800000000000004, 1, 9.4000000000000021, 0.0 },
457 { 19.000000000000000, 1, 9.5000000000000000, 0.0 },
458 { 19.200000000000003, 1, 9.6000000000000014, 0.0 },
459 { 19.400000000000006, 1, 9.7000000000000028, 0.0 },
460 { 19.600000000000001, 1, 9.8000000000000007, 0.0 },
461 { 19.800000000000004, 1, 9.9000000000000021, 0.0 },
462 { 20.000000000000000, 1, 10.000000000000000, 0.0 },
463 };
464 const double toler002 = 2.5000000000000020e-13;
465
466 // Test data for n=2.
467 // max(|f - f_GSL|): 0.0000000000000000 at index 0
468 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
469 // mean(f - f_GSL): 0.0000000000000000
470 // variance(f - f_GSL): 0.0000000000000000
471 // stddev(f - f_GSL): 0.0000000000000000
472 const testcase_hermite<double>
473 data003[201] =
474 {
475 { 398.00000000000000, 2, -10.000000000000000, 0.0 },
476 { 390.04000000000002, 2, -9.9000000000000004, 0.0 },
477 { 382.16000000000008, 2, -9.8000000000000007, 0.0 },
478 { 374.35999999999996, 2, -9.6999999999999993, 0.0 },
479 { 366.63999999999999, 2, -9.5999999999999996, 0.0 },
480 { 359.00000000000000, 2, -9.5000000000000000, 0.0 },
481 { 351.44000000000005, 2, -9.4000000000000004, 0.0 },
482 { 343.96000000000004, 2, -9.3000000000000007, 0.0 },
483 { 336.55999999999995, 2, -9.1999999999999993, 0.0 },
484 { 329.23999999999995, 2, -9.0999999999999996, 0.0 },
485 { 322.00000000000000, 2, -9.0000000000000000, 0.0 },
486 { 314.84000000000003, 2, -8.9000000000000004, 0.0 },
487 { 307.76000000000005, 2, -8.8000000000000007, 0.0 },
488 { 300.75999999999993, 2, -8.6999999999999993, 0.0 },
489 { 293.83999999999997, 2, -8.5999999999999996, 0.0 },
490 { 287.00000000000000, 2, -8.5000000000000000, 0.0 },
491 { 280.24000000000001, 2, -8.4000000000000004, 0.0 },
492 { 273.56000000000006, 2, -8.3000000000000007, 0.0 },
493 { 266.95999999999998, 2, -8.1999999999999993, 0.0 },
494 { 260.44000000000000, 2, -8.0999999999999996, 0.0 },
495 { 254.00000000000000, 2, -8.0000000000000000, 0.0 },
496 { 247.64000000000001, 2, -7.9000000000000004, 0.0 },
497 { 241.35999999999999, 2, -7.7999999999999998, 0.0 },
498 { 235.15999999999997, 2, -7.6999999999999993, 0.0 },
499 { 229.03999999999999, 2, -7.5999999999999996, 0.0 },
500 { 223.00000000000000, 2, -7.5000000000000000, 0.0 },
501 { 217.04000000000002, 2, -7.4000000000000004, 0.0 },
502 { 211.16000000000000, 2, -7.2999999999999998, 0.0 },
503 { 205.35999999999996, 2, -7.1999999999999993, 0.0 },
504 { 199.63999999999999, 2, -7.0999999999999996, 0.0 },
505 { 194.00000000000000, 2, -7.0000000000000000, 0.0 },
506 { 188.44000000000003, 2, -6.9000000000000004, 0.0 },
507 { 182.95999999999998, 2, -6.7999999999999998, 0.0 },
508 { 177.55999999999997, 2, -6.6999999999999993, 0.0 },
509 { 172.23999999999998, 2, -6.5999999999999996, 0.0 },
510 { 167.00000000000000, 2, -6.5000000000000000, 0.0 },
511 { 161.84000000000003, 2, -6.4000000000000004, 0.0 },
512 { 156.75999999999999, 2, -6.2999999999999998, 0.0 },
513 { 151.75999999999996, 2, -6.1999999999999993, 0.0 },
514 { 146.83999999999997, 2, -6.0999999999999996, 0.0 },
515 { 142.00000000000000, 2, -6.0000000000000000, 0.0 },
516 { 137.23999999999998, 2, -5.8999999999999995, 0.0 },
517 { 132.56000000000000, 2, -5.7999999999999998, 0.0 },
518 { 127.96000000000001, 2, -5.7000000000000002, 0.0 },
519 { 123.43999999999998, 2, -5.5999999999999996, 0.0 },
520 { 119.00000000000000, 2, -5.5000000000000000, 0.0 },
521 { 114.63999999999997, 2, -5.3999999999999995, 0.0 },
522 { 110.36000000000000, 2, -5.2999999999999998, 0.0 },
523 { 106.15999999999997, 2, -5.1999999999999993, 0.0 },
524 { 102.03999999999999, 2, -5.0999999999999996, 0.0 },
525 { 98.000000000000000, 2, -5.0000000000000000, 0.0 },
526 { 94.039999999999978, 2, -4.8999999999999995, 0.0 },
527 { 90.159999999999997, 2, -4.7999999999999998, 0.0 },
528 { 86.359999999999971, 2, -4.6999999999999993, 0.0 },
529 { 82.639999999999986, 2, -4.5999999999999996, 0.0 },
530 { 79.000000000000000, 2, -4.5000000000000000, 0.0 },
531 { 75.439999999999984, 2, -4.3999999999999995, 0.0 },
532 { 71.959999999999994, 2, -4.2999999999999998, 0.0 },
533 { 68.559999999999974, 2, -4.1999999999999993, 0.0 },
534 { 65.239999999999995, 2, -4.0999999999999996, 0.0 },
535 { 62.000000000000000, 2, -4.0000000000000000, 0.0 },
536 { 58.839999999999982, 2, -3.8999999999999995, 0.0 },
537 { 55.759999999999998, 2, -3.7999999999999998, 0.0 },
538 { 52.759999999999977, 2, -3.6999999999999993, 0.0 },
539 { 49.839999999999989, 2, -3.5999999999999996, 0.0 },
540 { 47.000000000000000, 2, -3.5000000000000000, 0.0 },
541 { 44.239999999999988, 2, -3.3999999999999995, 0.0 },
542 { 41.559999999999995, 2, -3.2999999999999998, 0.0 },
543 { 38.959999999999980, 2, -3.1999999999999993, 0.0 },
544 { 36.439999999999991, 2, -3.0999999999999996, 0.0 },
545 { 34.000000000000000, 2, -3.0000000000000000, 0.0 },
546 { 31.639999999999986, 2, -2.8999999999999995, 0.0 },
547 { 29.359999999999996, 2, -2.7999999999999998, 0.0 },
548 { 27.159999999999986, 2, -2.6999999999999993, 0.0 },
549 { 25.039999999999992, 2, -2.5999999999999996, 0.0 },
550 { 23.000000000000000, 2, -2.5000000000000000, 0.0 },
551 { 21.039999999999988, 2, -2.3999999999999995, 0.0 },
552 { 19.159999999999997, 2, -2.2999999999999998, 0.0 },
553 { 17.359999999999989, 2, -2.1999999999999993, 0.0 },
554 { 15.639999999999993, 2, -2.0999999999999996, 0.0 },
555 { 14.000000000000000, 2, -2.0000000000000000, 0.0 },
556 { 12.440000000000005, 2, -1.9000000000000004, 0.0 },
557 { 10.959999999999985, 2, -1.7999999999999989, 0.0 },
558 { 9.5599999999999898, 2, -1.6999999999999993, 0.0 },
559 { 8.2399999999999949, 2, -1.5999999999999996, 0.0 },
560 { 7.0000000000000000, 2, -1.5000000000000000, 0.0 },
561 { 5.8400000000000043, 2, -1.4000000000000004, 0.0 },
562 { 4.7599999999999891, 2, -1.2999999999999989, 0.0 },
563 { 3.7599999999999936, 2, -1.1999999999999993, 0.0 },
564 { 2.8399999999999972, 2, -1.0999999999999996, 0.0 },
565 { 2.0000000000000000, 2, -1.0000000000000000, 0.0 },
566 { 1.2400000000000024, 2, -0.90000000000000036, 0.0 },
567 { 0.55999999999999339, 2, -0.79999999999999893, 0.0 },
568 { -0.040000000000004032, 2, -0.69999999999999929, 0.0 },
569 { -0.56000000000000161, 2, -0.59999999999999964, 0.0 },
570 { -1.0000000000000000, 2, -0.50000000000000000, 0.0 },
571 { -1.3600000000000045, 2, -0.39999999999999858, 0.0 },
572 { -1.6400000000000026, 2, -0.29999999999999893, 0.0 },
573 { -1.8400000000000012, 2, -0.19999999999999929, 0.0 },
574 { -1.9600000000000002, 2, -0.099999999999999645, 0.0 },
575 { -2.0000000000000000, 2, 0.0000000000000000, 0.0 },
576 { -1.9599999999999989, 2, 0.10000000000000142, 0.0 },
577 { -1.8399999999999983, 2, 0.20000000000000107, 0.0 },
578 { -1.6399999999999983, 2, 0.30000000000000071, 0.0 },
579 { -1.3599999999999990, 2, 0.40000000000000036, 0.0 },
580 { -1.0000000000000000, 2, 0.50000000000000000, 0.0 },
581 { -0.55999999999999317, 2, 0.60000000000000142, 0.0 },
582 { -0.039999999999994040, 2, 0.70000000000000107, 0.0 },
583 { 0.56000000000000449, 2, 0.80000000000000071, 0.0 },
584 { 1.2400000000000024, 2, 0.90000000000000036, 0.0 },
585 { 2.0000000000000000, 2, 1.0000000000000000, 0.0 },
586 { 2.8400000000000123, 2, 1.1000000000000014, 0.0 },
587 { 3.7600000000000104, 2, 1.2000000000000011, 0.0 },
588 { 4.7600000000000078, 2, 1.3000000000000007, 0.0 },
589 { 5.8400000000000043, 2, 1.4000000000000004, 0.0 },
590 { 7.0000000000000000, 2, 1.5000000000000000, 0.0 },
591 { 8.2400000000000180, 2, 1.6000000000000014, 0.0 },
592 { 9.5600000000000147, 2, 1.7000000000000011, 0.0 },
593 { 10.960000000000010, 2, 1.8000000000000007, 0.0 },
594 { 12.440000000000005, 2, 1.9000000000000004, 0.0 },
595 { 14.000000000000000, 2, 2.0000000000000000, 0.0 },
596 { 15.640000000000025, 2, 2.1000000000000014, 0.0 },
597 { 17.360000000000017, 2, 2.2000000000000011, 0.0 },
598 { 19.160000000000014, 2, 2.3000000000000007, 0.0 },
599 { 21.040000000000006, 2, 2.4000000000000004, 0.0 },
600 { 23.000000000000000, 2, 2.5000000000000000, 0.0 },
601 { 25.040000000000031, 2, 2.6000000000000014, 0.0 },
602 { 27.160000000000021, 2, 2.7000000000000011, 0.0 },
603 { 29.360000000000017, 2, 2.8000000000000007, 0.0 },
604 { 31.640000000000008, 2, 2.9000000000000004, 0.0 },
605 { 34.000000000000000, 2, 3.0000000000000000, 0.0 },
606 { 36.440000000000033, 2, 3.1000000000000014, 0.0 },
607 { 38.960000000000029, 2, 3.2000000000000011, 0.0 },
608 { 41.560000000000016, 2, 3.3000000000000007, 0.0 },
609 { 44.240000000000009, 2, 3.4000000000000004, 0.0 },
610 { 47.000000000000000, 2, 3.5000000000000000, 0.0 },
611 { 49.840000000000039, 2, 3.6000000000000014, 0.0 },
612 { 52.760000000000034, 2, 3.7000000000000011, 0.0 },
613 { 55.760000000000019, 2, 3.8000000000000007, 0.0 },
614 { 58.840000000000011, 2, 3.9000000000000004, 0.0 },
615 { 62.000000000000000, 2, 4.0000000000000000, 0.0 },
616 { 65.240000000000052, 2, 4.1000000000000014, 0.0 },
617 { 68.560000000000031, 2, 4.2000000000000011, 0.0 },
618 { 71.960000000000022, 2, 4.3000000000000007, 0.0 },
619 { 75.440000000000012, 2, 4.4000000000000004, 0.0 },
620 { 79.000000000000000, 2, 4.5000000000000000, 0.0 },
621 { 82.640000000000057, 2, 4.6000000000000014, 0.0 },
622 { 86.360000000000042, 2, 4.7000000000000011, 0.0 },
623 { 90.160000000000025, 2, 4.8000000000000007, 0.0 },
624 { 94.040000000000020, 2, 4.9000000000000004, 0.0 },
625 { 98.000000000000000, 2, 5.0000000000000000, 0.0 },
626 { 102.04000000000006, 2, 5.1000000000000014, 0.0 },
627 { 106.16000000000004, 2, 5.2000000000000011, 0.0 },
628 { 110.36000000000003, 2, 5.3000000000000007, 0.0 },
629 { 114.64000000000001, 2, 5.4000000000000004, 0.0 },
630 { 119.00000000000000, 2, 5.5000000000000000, 0.0 },
631 { 123.44000000000007, 2, 5.6000000000000014, 0.0 },
632 { 127.96000000000004, 2, 5.7000000000000011, 0.0 },
633 { 132.56000000000003, 2, 5.8000000000000007, 0.0 },
634 { 137.24000000000001, 2, 5.9000000000000004, 0.0 },
635 { 142.00000000000000, 2, 6.0000000000000000, 0.0 },
636 { 146.84000000000006, 2, 6.1000000000000014, 0.0 },
637 { 151.75999999999996, 2, 6.1999999999999993, 0.0 },
638 { 156.76000000000005, 2, 6.3000000000000007, 0.0 },
639 { 161.84000000000012, 2, 6.4000000000000021, 0.0 },
640 { 167.00000000000000, 2, 6.5000000000000000, 0.0 },
641 { 172.24000000000007, 2, 6.6000000000000014, 0.0 },
642 { 177.55999999999997, 2, 6.6999999999999993, 0.0 },
643 { 182.96000000000004, 2, 6.8000000000000007, 0.0 },
644 { 188.44000000000011, 2, 6.9000000000000021, 0.0 },
645 { 194.00000000000000, 2, 7.0000000000000000, 0.0 },
646 { 199.64000000000007, 2, 7.1000000000000014, 0.0 },
647 { 205.35999999999996, 2, 7.1999999999999993, 0.0 },
648 { 211.16000000000005, 2, 7.3000000000000007, 0.0 },
649 { 217.04000000000013, 2, 7.4000000000000021, 0.0 },
650 { 223.00000000000000, 2, 7.5000000000000000, 0.0 },
651 { 229.04000000000008, 2, 7.6000000000000014, 0.0 },
652 { 235.15999999999997, 2, 7.6999999999999993, 0.0 },
653 { 241.36000000000004, 2, 7.8000000000000007, 0.0 },
654 { 247.64000000000013, 2, 7.9000000000000021, 0.0 },
655 { 254.00000000000000, 2, 8.0000000000000000, 0.0 },
656 { 260.44000000000011, 2, 8.1000000000000014, 0.0 },
657 { 266.95999999999998, 2, 8.1999999999999993, 0.0 },
658 { 273.56000000000006, 2, 8.3000000000000007, 0.0 },
659 { 280.24000000000012, 2, 8.4000000000000021, 0.0 },
660 { 287.00000000000000, 2, 8.5000000000000000, 0.0 },
661 { 293.84000000000009, 2, 8.6000000000000014, 0.0 },
662 { 300.75999999999993, 2, 8.6999999999999993, 0.0 },
663 { 307.76000000000005, 2, 8.8000000000000007, 0.0 },
664 { 314.84000000000015, 2, 8.9000000000000021, 0.0 },
665 { 322.00000000000000, 2, 9.0000000000000000, 0.0 },
666 { 329.24000000000012, 2, 9.1000000000000014, 0.0 },
667 { 336.56000000000023, 2, 9.2000000000000028, 0.0 },
668 { 343.96000000000004, 2, 9.3000000000000007, 0.0 },
669 { 351.44000000000017, 2, 9.4000000000000021, 0.0 },
670 { 359.00000000000000, 2, 9.5000000000000000, 0.0 },
671 { 366.64000000000010, 2, 9.6000000000000014, 0.0 },
672 { 374.36000000000024, 2, 9.7000000000000028, 0.0 },
673 { 382.16000000000008, 2, 9.8000000000000007, 0.0 },
674 { 390.04000000000019, 2, 9.9000000000000021, 0.0 },
675 { 398.00000000000000, 2, 10.000000000000000, 0.0 },
676 };
677 const double toler003 = 2.5000000000000020e-13;
678
679 // Test data for n=5.
680 // max(|f - f_GSL|): 0.0000000000000000 at index 0
681 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
682 // mean(f - f_GSL): 0.0000000000000000
683 // variance(f - f_GSL): 0.0000000000000000
684 // stddev(f - f_GSL): 0.0000000000000000
685 const testcase_hermite<double>
686 data004[201] =
687 {
688 { -3041200.0000000000, 5, -10.000000000000000, 0.0 },
689 { -2889108.3196800007, 5, -9.9000000000000004, 0.0 },
690 { -2743131.8297600015, 5, -9.8000000000000007, 0.0 },
691 { -2603085.2022399991, 5, -9.6999999999999993, 0.0 },
692 { -2468786.8723199992, 5, -9.5999999999999996, 0.0 },
693 { -2340059.0000000000, 5, -9.5000000000000000, 0.0 },
694 { -2216727.4316800009, 5, -9.4000000000000004, 0.0 },
695 { -2098621.6617600010, 5, -9.3000000000000007, 0.0 },
696 { -1985574.7942399993, 5, -9.1999999999999993, 0.0 },
697 { -1877423.5043199996, 5, -9.0999999999999996, 0.0 },
698 { -1774008.0000000000, 5, -9.0000000000000000, 0.0 },
699 { -1675171.9836800008, 5, -8.9000000000000004, 0.0 },
700 { -1580762.6137600006, 5, -8.8000000000000007, 0.0 },
701 { -1490630.4662399990, 5, -8.6999999999999993, 0.0 },
702 { -1404629.4963199999, 5, -8.5999999999999996, 0.0 },
703 { -1322617.0000000000, 5, -8.5000000000000000, 0.0 },
704 { -1244453.5756800002, 5, -8.4000000000000004, 0.0 },
705 { -1170003.0857600006, 5, -8.3000000000000007, 0.0 },
706 { -1099132.6182399995, 5, -8.1999999999999993, 0.0 },
707 { -1031712.4483199996, 5, -8.0999999999999996, 0.0 },
708 { -967616.00000000000, 5, -8.0000000000000000, 0.0 },
709 { -906719.80768000009, 5, -7.9000000000000004, 0.0 },
710 { -848903.47775999992, 5, -7.7999999999999998, 0.0 },
711 { -794049.65023999964, 5, -7.6999999999999993, 0.0 },
712 { -742043.96031999995, 5, -7.5999999999999996, 0.0 },
713 { -692775.00000000000, 5, -7.5000000000000000, 0.0 },
714 { -646134.27968000027, 5, -7.4000000000000004, 0.0 },
715 { -602016.18975999986, 5, -7.2999999999999998, 0.0 },
716 { -560317.96223999979, 5, -7.1999999999999993, 0.0 },
717 { -520939.63231999992, 5, -7.0999999999999996, 0.0 },
718 { -483784.00000000000, 5, -7.0000000000000000, 0.0 },
719 { -448756.59168000019, 5, -6.9000000000000004, 0.0 },
720 { -415765.62176000001, 5, -6.7999999999999998, 0.0 },
721 { -384721.95423999976, 5, -6.6999999999999993, 0.0 },
722 { -355539.06431999995, 5, -6.5999999999999996, 0.0 },
723 { -328133.00000000000, 5, -6.5000000000000000, 0.0 },
724 { -302422.34368000011, 5, -6.4000000000000004, 0.0 },
725 { -278328.17375999998, 5, -6.2999999999999998, 0.0 },
726 { -255774.02623999983, 5, -6.1999999999999993, 0.0 },
727 { -234685.85631999990, 5, -6.0999999999999996, 0.0 },
728 { -214992.00000000000, 5, -6.0000000000000000, 0.0 },
729 { -196623.13567999989, 5, -5.8999999999999995, 0.0 },
730 { -179512.24575999999, 5, -5.7999999999999998, 0.0 },
731 { -163594.57824000003, 5, -5.7000000000000002, 0.0 },
732 { -148807.60831999997, 5, -5.5999999999999996, 0.0 },
733 { -135091.00000000000, 5, -5.5000000000000000, 0.0 },
734 { -122386.56767999992, 5, -5.3999999999999995, 0.0 },
735 { -110638.23776000000, 5, -5.2999999999999998, 0.0 },
736 { -99792.010239999945, 5, -5.1999999999999993, 0.0 },
737 { -89795.920319999976, 5, -5.0999999999999996, 0.0 },
738 { -80600.000000000000, 5, -5.0000000000000000, 0.0 },
739 { -72156.239679999941, 5, -4.8999999999999995, 0.0 },
740 { -64418.549759999994, 5, -4.7999999999999998, 0.0 },
741 { -57342.722239999952, 5, -4.6999999999999993, 0.0 },
742 { -50886.392319999970, 5, -4.5999999999999996, 0.0 },
743 { -45009.000000000000, 5, -4.5000000000000000, 0.0 },
744 { -39671.751679999965, 5, -4.3999999999999995, 0.0 },
745 { -34837.581759999986, 5, -4.2999999999999998, 0.0 },
746 { -30471.114239999963, 5, -4.1999999999999993, 0.0 },
747 { -26538.624319999992, 5, -4.0999999999999996, 0.0 },
748 { -23008.000000000000, 5, -4.0000000000000000, 0.0 },
749 { -19848.703679999981, 5, -3.8999999999999995, 0.0 },
750 { -17031.733759999996, 5, -3.7999999999999998, 0.0 },
751 { -14529.586239999979, 5, -3.6999999999999993, 0.0 },
752 { -12316.216319999992, 5, -3.5999999999999996, 0.0 },
753 { -10367.000000000000, 5, -3.5000000000000000, 0.0 },
754 { -8658.6956799999934, 5, -3.3999999999999995, 0.0 },
755 { -7169.4057599999960, 5, -3.2999999999999998, 0.0 },
756 { -5878.5382399999908, 5, -3.1999999999999993, 0.0 },
757 { -4766.7683199999965, 5, -3.0999999999999996, 0.0 },
758 { -3816.0000000000000, 5, -3.0000000000000000, 0.0 },
759 { -3009.3276799999958, 5, -2.8999999999999995, 0.0 },
760 { -2330.9977599999988, 5, -2.7999999999999998, 0.0 },
761 { -1766.3702399999963, 5, -2.6999999999999993, 0.0 },
762 { -1301.8803199999984, 5, -2.5999999999999996, 0.0 },
763 { -925.00000000000000, 5, -2.5000000000000000, 0.0 },
764 { -624.19967999999858, 5, -2.3999999999999995, 0.0 },
765 { -388.90975999999978, 5, -2.2999999999999998, 0.0 },
766 { -209.48223999999891, 5, -2.1999999999999993, 0.0 },
767 { -77.152319999999520, 5, -2.0999999999999996, 0.0 },
768 { 16.000000000000000, 5, -2.0000000000000000, 0.0 },
769 { 77.088319999999840, 5, -1.9000000000000004, 0.0 },
770 { 112.45824000000026, 5, -1.7999999999999989, 0.0 },
771 { 127.72576000000002, 5, -1.6999999999999993, 0.0 },
772 { 127.81567999999996, 5, -1.5999999999999996, 0.0 },
773 { 117.00000000000000, 5, -1.5000000000000000, 0.0 },
774 { 98.936320000000080, 5, -1.4000000000000004, 0.0 },
775 { 76.706239999999752, 5, -1.2999999999999989, 0.0 },
776 { 52.853759999999838, 5, -1.1999999999999993, 0.0 },
777 { 29.423679999999933, 5, -1.0999999999999996, 0.0 },
778 { 8.0000000000000000, 5, -1.0000000000000000, 0.0 },
779 { -10.255679999999948, 5, -0.90000000000000036, 0.0 },
780 { -24.565760000000125, 5, -0.79999999999999893, 0.0 },
781 { -34.498240000000052, 5, -0.69999999999999929, 0.0 },
782 { -39.928320000000006, 5, -0.59999999999999964, 0.0 },
783 { -41.000000000000000, 5, -0.50000000000000000, 0.0 },
784 { -38.087679999999935, 5, -0.39999999999999858, 0.0 },
785 { -31.757759999999919, 5, -0.29999999999999893, 0.0 },
786 { -22.730239999999931, 5, -0.19999999999999929, 0.0 },
787 { -11.840319999999959, 5, -0.099999999999999645, 0.0 },
788 { 0.0000000000000000, 5, 0.0000000000000000, 0.0 },
789 { 11.840320000000162, 5, 0.10000000000000142, 0.0 },
790 { 22.730240000000109, 5, 0.20000000000000107, 0.0 },
791 { 31.757760000000054, 5, 0.30000000000000071, 0.0 },
792 { 38.087680000000020, 5, 0.40000000000000036, 0.0 },
793 { 41.000000000000000, 5, 0.50000000000000000, 0.0 },
794 { 39.928319999999957, 5, 0.60000000000000142, 0.0 },
795 { 34.498239999999925, 5, 0.70000000000000107, 0.0 },
796 { 24.565759999999916, 5, 0.80000000000000071, 0.0 },
797 { 10.255679999999948, 5, 0.90000000000000036, 0.0 },
798 { -8.0000000000000000, 5, 1.0000000000000000, 0.0 },
799 { -29.423680000000317, 5, 1.1000000000000014, 0.0 },
800 { -52.853760000000264, 5, 1.2000000000000011, 0.0 },
801 { -76.706240000000179, 5, 1.3000000000000007, 0.0 },
802 { -98.936320000000080, 5, 1.4000000000000004, 0.0 },
803 { -117.00000000000000, 5, 1.5000000000000000, 0.0 },
804 { -127.81568000000010, 5, 1.6000000000000014, 0.0 },
805 { -127.72575999999992, 5, 1.7000000000000011, 0.0 },
806 { -112.45823999999980, 5, 1.8000000000000007, 0.0 },
807 { -77.088319999999840, 5, 1.9000000000000004, 0.0 },
808 { -16.000000000000000, 5, 2.0000000000000000, 0.0 },
809 { 77.152320000001623, 5, 2.1000000000000014, 0.0 },
810 { 209.48224000000164, 5, 2.2000000000000011, 0.0 },
811 { 388.90976000000148, 5, 2.3000000000000007, 0.0 },
812 { 624.19968000000074, 5, 2.4000000000000004, 0.0 },
813 { 925.00000000000000, 5, 2.5000000000000000, 0.0 },
814 { 1301.8803200000059, 5, 2.6000000000000014, 0.0 },
815 { 1766.3702400000057, 5, 2.7000000000000011, 0.0 },
816 { 2330.9977600000047, 5, 2.8000000000000007, 0.0 },
817 { 3009.3276800000026, 5, 2.9000000000000004, 0.0 },
818 { 3816.0000000000000, 5, 3.0000000000000000, 0.0 },
819 { 4766.7683200000147, 5, 3.1000000000000014, 0.0 },
820 { 5878.5382400000126, 5, 3.2000000000000011, 0.0 },
821 { 7169.4057600000087, 5, 3.3000000000000007, 0.0 },
822 { 8658.6956800000080, 5, 3.4000000000000004, 0.0 },
823 { 10367.000000000000, 5, 3.5000000000000000, 0.0 },
824 { 12316.216320000027, 5, 3.6000000000000014, 0.0 },
825 { 14529.586240000028, 5, 3.7000000000000011, 0.0 },
826 { 17031.733760000021, 5, 3.8000000000000007, 0.0 },
827 { 19848.703680000013, 5, 3.9000000000000004, 0.0 },
828 { 23008.000000000000, 5, 4.0000000000000000, 0.0 },
829 { 26538.624320000057, 5, 4.1000000000000014, 0.0 },
830 { 30471.114240000043, 5, 4.2000000000000011, 0.0 },
831 { 34837.581760000037, 5, 4.3000000000000007, 0.0 },
832 { 39671.751680000008, 5, 4.4000000000000004, 0.0 },
833 { 45009.000000000000, 5, 4.5000000000000000, 0.0 },
834 { 50886.392320000086, 5, 4.6000000000000014, 0.0 },
835 { 57342.722240000076, 5, 4.7000000000000011, 0.0 },
836 { 64418.549760000053, 5, 4.8000000000000007, 0.0 },
837 { 72156.239680000028, 5, 4.9000000000000004, 0.0 },
838 { 80600.000000000000, 5, 5.0000000000000000, 0.0 },
839 { 89795.920320000136, 5, 5.1000000000000014, 0.0 },
840 { 99792.010240000105, 5, 5.2000000000000011, 0.0 },
841 { 110638.23776000006, 5, 5.3000000000000007, 0.0 },
842 { 122386.56768000004, 5, 5.4000000000000004, 0.0 },
843 { 135091.00000000000, 5, 5.5000000000000000, 0.0 },
844 { 148807.60832000020, 5, 5.6000000000000014, 0.0 },
845 { 163594.57824000015, 5, 5.7000000000000011, 0.0 },
846 { 179512.24576000011, 5, 5.8000000000000007, 0.0 },
847 { 196623.13568000006, 5, 5.9000000000000004, 0.0 },
848 { 214992.00000000000, 5, 6.0000000000000000, 0.0 },
849 { 234685.85632000031, 5, 6.1000000000000014, 0.0 },
850 { 255774.02623999983, 5, 6.1999999999999993, 0.0 },
851 { 278328.17376000021, 5, 6.3000000000000007, 0.0 },
852 { 302422.34368000063, 5, 6.4000000000000021, 0.0 },
853 { 328133.00000000000, 5, 6.5000000000000000, 0.0 },
854 { 355539.06432000035, 5, 6.6000000000000014, 0.0 },
855 { 384721.95423999976, 5, 6.6999999999999993, 0.0 },
856 { 415765.62176000018, 5, 6.8000000000000007, 0.0 },
857 { 448756.59168000077, 5, 6.9000000000000021, 0.0 },
858 { 483784.00000000000, 5, 7.0000000000000000, 0.0 },
859 { 520939.63232000044, 5, 7.1000000000000014, 0.0 },
860 { 560317.96223999979, 5, 7.1999999999999993, 0.0 },
861 { 602016.18976000033, 5, 7.3000000000000007, 0.0 },
862 { 646134.27968000097, 5, 7.4000000000000021, 0.0 },
863 { 692775.00000000000, 5, 7.5000000000000000, 0.0 },
864 { 742043.96032000054, 5, 7.6000000000000014, 0.0 },
865 { 794049.65023999964, 5, 7.6999999999999993, 0.0 },
866 { 848903.47776000027, 5, 7.8000000000000007, 0.0 },
867 { 906719.80768000125, 5, 7.9000000000000021, 0.0 },
868 { 967616.00000000000, 5, 8.0000000000000000, 0.0 },
869 { 1031712.4483200011, 5, 8.1000000000000014, 0.0 },
870 { 1099132.6182399995, 5, 8.1999999999999993, 0.0 },
871 { 1170003.0857600006, 5, 8.3000000000000007, 0.0 },
872 { 1244453.5756800014, 5, 8.4000000000000021, 0.0 },
873 { 1322617.0000000000, 5, 8.5000000000000000, 0.0 },
874 { 1404629.4963200013, 5, 8.6000000000000014, 0.0 },
875 { 1490630.4662399990, 5, 8.6999999999999993, 0.0 },
876 { 1580762.6137600006, 5, 8.8000000000000007, 0.0 },
877 { 1675171.9836800022, 5, 8.9000000000000021, 0.0 },
878 { 1774008.0000000000, 5, 9.0000000000000000, 0.0 },
879 { 1877423.5043200015, 5, 9.1000000000000014, 0.0 },
880 { 1985574.7942400032, 5, 9.2000000000000028, 0.0 },
881 { 2098621.6617600010, 5, 9.3000000000000007, 0.0 },
882 { 2216727.4316800022, 5, 9.4000000000000021, 0.0 },
883 { 2340059.0000000000, 5, 9.5000000000000000, 0.0 },
884 { 2468786.8723200019, 5, 9.6000000000000014, 0.0 },
885 { 2603085.2022400037, 5, 9.7000000000000028, 0.0 },
886 { 2743131.8297600015, 5, 9.8000000000000007, 0.0 },
887 { 2889108.3196800039, 5, 9.9000000000000021, 0.0 },
888 { 3041200.0000000000, 5, 10.000000000000000, 0.0 },
889 };
890 const double toler004 = 2.5000000000000020e-13;
891
892 // Test data for n=10.
893 // max(|f - f_GSL|): 0.0000000000000000 at index 0
894 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
895 // mean(f - f_GSL): 0.0000000000000000
896 // variance(f - f_GSL): 0.0000000000000000
897 // stddev(f - f_GSL): 0.0000000000000000
898 const testcase_hermite<double>
899 data005[201] =
900 {
901 { 8093278209760.0000, 10, -10.000000000000000, 0.0 },
902 { 7282867075495.3066, 10, -9.9000000000000004, 0.0 },
903 { 6545846221520.6768, 10, -9.8000000000000007, 0.0 },
904 { 5876279006180.6377, 10, -9.6999999999999993, 0.0 },
905 { 5268651052510.4668, 10, -9.5999999999999996, 0.0 },
906 { 4717844376391.0000, 10, -9.5000000000000000, 0.0 },
907 { 4219112842239.1147, 10, -9.4000000000000004, 0.0 },
908 { 3768058891466.0469, 10, -9.3000000000000007, 0.0 },
909 { 3360611490639.0889, 10, -9.1999999999999993, 0.0 },
910 { 2993005247949.7607, 10, -9.0999999999999996, 0.0 },
911 { 2661760648224.0000, 10, -9.0000000000000000, 0.0 },
912 { 2363665358307.8496, 10, -8.9000000000000004, 0.0 },
913 { 2095756556225.3428, 10, -8.8000000000000007, 0.0 },
914 { 1855304239034.7983, 10, -8.6999999999999993, 0.0 },
915 { 1639795465805.4746, 10, -8.5999999999999996, 0.0 },
916 { 1446919493599.0000, 10, -8.5000000000000000, 0.0 },
917 { 1274553765769.7463, 10, -8.4000000000000004, 0.0 },
918 { 1120750713295.2778, 10, -8.3000000000000007, 0.0 },
919 { 983725331213.07190, 10, -8.1999999999999993, 0.0 },
920 { 861843493572.90051, 10, -8.0999999999999996, 0.0 },
921 { 753610971616.00000, 10, -8.0000000000000000, 0.0 },
922 { 657663121163.02454, 10, -7.9000000000000004, 0.0 },
923 { 572755206432.81335, 10, -7.7999999999999998, 0.0 },
924 { 497753328723.87476, 10, -7.6999999999999993, 0.0 },
925 { 431625929570.40063, 10, -7.5999999999999996, 0.0 },
926 { 373435839135.00000, 10, -7.5000000000000000, 0.0 },
927 { 322332841721.55731, 10, -7.4000000000000004, 0.0 },
928 { 277546731384.01782, 10, -7.2999999999999998, 0.0 },
929 { 238380831670.89960, 10, -7.1999999999999993, 0.0 },
930 { 204205954581.24731, 10, -7.0999999999999996, 0.0 },
931 { 174454774816.00000, 10, -7.0000000000000000, 0.0 },
932 { 148616596389.67230, 10, -6.9000000000000004, 0.0 },
933 { 126232489621.23923, 10, -6.7999999999999998, 0.0 },
934 { 106890777450.54652, 10, -6.6999999999999993, 0.0 },
935 { 90222850927.787979, 10, -6.5999999999999996, 0.0 },
936 { 75899294599.000000, 10, -6.5000000000000000, 0.0 },
937 { 63626303360.468109, 10, -6.4000000000000004, 0.0 },
938 { 53142373179.806053, 10, -6.2999999999999998, 0.0 },
939 { 44215248881.625443, 10, -6.1999999999999993, 0.0 },
940 { 36639112971.527679, 10, -6.0999999999999996, 0.0 },
941 { 30232000224.000000, 10, -6.0000000000000000, 0.0 },
942 { 24833423488.050575, 10, -5.8999999999999995, 0.0 },
943 { 20302196869.444584, 10, -5.7999999999999998, 0.0 },
944 { 16514443130.579359, 10, -5.7000000000000002, 0.0 },
945 { 13361772808.732477, 10, -5.5999999999999996, 0.0 },
946 { 10749623191.000000, 10, -5.5000000000000000, 0.0 },
947 { 8595745900.0898018, 10, -5.3999999999999995, 0.0 },
948 { 6828832439.6160822, 10, -5.2999999999999998, 0.0 },
949 { 5387267621.0258913, 10, -5.1999999999999993, 0.0 },
950 { 4218001347.1524582, 10, -5.0999999999999996, 0.0 },
951 { 3275529760.0000000, 10, -5.0000000000000000, 0.0 },
952 { 2520977273.0966735, 10, -4.8999999999999995, 0.0 },
953 { 1921271501.9744270, 10, -4.7999999999999998, 0.0 },
954 { 1448403580.4203794, 10, -4.6999999999999993, 0.0 },
955 { 1078766805.4651456, 10, -4.5999999999999996, 0.0 },
956 { 792566991.00000000, 10, -4.5000000000000000, 0.0 },
957 { 573298328.81993365, 10, -4.3999999999999995, 0.0 },
958 { 407278957.14375639, 10, -4.2999999999999998, 0.0 },
959 { 283240820.63788199, 10, -4.1999999999999993, 0.0 },
960 { 191968773.03860721, 10, -4.0999999999999996, 0.0 },
961 { 125984224.00000000, 10, -4.0000000000000000, 0.0 },
962 { 79268966.162877351, 10, -3.8999999999999995, 0.0 },
963 { 47025137.016035721, 10, -3.7999999999999998, 0.0 },
964 { 25467573.275709212, 10, -3.6999999999999993, 0.0 },
965 { 11645103.614666298, 10, -3.5999999999999996, 0.0 },
966 { 3287599.0000000000, 10, -3.5000000000000000, 0.0 },
967 { -1324140.9798373580, 10, -3.3999999999999995, 0.0 },
968 { -3468342.2313268245, 10, -3.2999999999999998, 0.0 },
969 { -4074495.5241857003, 10, -3.1999999999999993, 0.0 },
970 { -3800107.4878923763, 10, -3.0999999999999996, 0.0 },
971 { -3093984.0000000000, 10, -3.0000000000000000, 0.0 },
972 { -2247873.5653938125, 10, -2.8999999999999995, 0.0 },
973 { -1438117.1978829810, 10, -2.7999999999999998, 0.0 },
974 { -758781.93281033845, 10, -2.6999999999999993, 0.0 },
975 { -247597.05012469599, 10, -2.5999999999999996, 0.0 },
976 { 94135.000000000000, 10, -2.5000000000000000, 0.0 },
977 { 286617.47398410313, 10, -2.3999999999999995, 0.0 },
978 { 360718.79745525768, 10, -2.2999999999999998, 0.0 },
979 { 350419.82826741732, 10, -2.1999999999999993, 0.0 },
980 { 287863.09027338214, 10, -2.0999999999999996, 0.0 },
981 { 200416.00000000000, 10, -2.0000000000000000, 0.0 },
982 { 109249.22783242268, 10, -1.9000000000000004, 0.0 },
983 { 29012.094015896859, 10, -1.7999999999999989, 0.0 },
984 { -31740.330680422732, 10, -1.6999999999999993, 0.0 },
985 { -69648.597834137676, 10, -1.5999999999999996, 0.0 },
986 { -85401.000000000000, 10, -1.5000000000000000, 0.0 },
987 { -82507.675752857642, 10, -1.4000000000000004, 0.0 },
988 { -66123.413033062170, 10, -1.2999999999999989, 0.0 },
989 { -42007.465141862223, 10, -1.1999999999999993, 0.0 },
990 { -15676.055823257526, 10, -1.0999999999999996, 0.0 },
991 { 8224.0000000000000, 10, -1.0000000000000000, 0.0 },
992 { 26314.366684262357, 10, -0.90000000000000036, 0.0 },
993 { 36668.344916377660, 10, -0.79999999999999893, 0.0 },
994 { 38802.826035097583, 10, -0.69999999999999929, 0.0 },
995 { 33513.167890022363, 10, -0.59999999999999964, 0.0 },
996 { 22591.000000000000, 10, -0.50000000000000000, 0.0 },
997 { 8467.6907597821937, 10, -0.39999999999999858, 0.0 },
998 { -6173.8524877825521, 10, -0.29999999999999893, 0.0 },
999 { -18778.856957542470, 10, -0.19999999999999929, 0.0 },
1000 { -27256.158950297624, 10, -0.099999999999999645, 0.0 },
1001 { -30240.000000000000, 10, 0.0000000000000000, 0.0 },
1002 { -27256.158950297515, 10, 0.10000000000000142, 0.0 },
1003 { -18778.856957542288, 10, 0.20000000000000107, 0.0 },
1004 { -6173.8524877822965, 10, 0.30000000000000071, 0.0 },
1005 { 8467.6907597824556, 10, 0.40000000000000036, 0.0 },
1006 { 22591.000000000000, 10, 0.50000000000000000, 0.0 },
1007 { 33513.167890022516, 10, 0.60000000000000142, 0.0 },
1008 { 38802.826035097620, 10, 0.70000000000000107, 0.0 },
1009 { 36668.344916377559, 10, 0.80000000000000071, 0.0 },
1010 { 26314.366684262357, 10, 0.90000000000000036, 0.0 },
1011 { 8224.0000000000000, 10, 1.0000000000000000, 0.0 },
1012 { -15676.055823257961, 10, 1.1000000000000014, 0.0 },
1013 { -42007.465141862689, 10, 1.2000000000000011, 0.0 },
1014 { -66123.413033062563, 10, 1.3000000000000007, 0.0 },
1015 { -82507.675752857642, 10, 1.4000000000000004, 0.0 },
1016 { -85401.000000000000, 10, 1.5000000000000000, 0.0 },
1017 { -69648.597834137239, 10, 1.6000000000000014, 0.0 },
1018 { -31740.330680421859, 10, 1.7000000000000011, 0.0 },
1019 { 29012.094015898125, 10, 1.8000000000000007, 0.0 },
1020 { 109249.22783242268, 10, 1.9000000000000004, 0.0 },
1021 { 200416.00000000000, 10, 2.0000000000000000, 0.0 },
1022 { 287863.09027338354, 10, 2.1000000000000014, 0.0 },
1023 { 350419.82826741802, 10, 2.2000000000000011, 0.0 },
1024 { 360718.79745525745, 10, 2.3000000000000007, 0.0 },
1025 { 286617.47398410190, 10, 2.4000000000000004, 0.0 },
1026 { 94135.000000000000, 10, 2.5000000000000000, 0.0 },
1027 { -247597.05012470379, 10, 2.6000000000000014, 0.0 },
1028 { -758781.93281034881, 10, 2.7000000000000011, 0.0 },
1029 { -1438117.1978829878, 10, 2.8000000000000007, 0.0 },
1030 { -2247873.5653938209, 10, 2.9000000000000004, 0.0 },
1031 { -3093984.0000000000, 10, 3.0000000000000000, 0.0 },
1032 { -3800107.4878923851, 10, 3.1000000000000014, 0.0 },
1033 { -4074495.5241857045, 10, 3.2000000000000011, 0.0 },
1034 { -3468342.2313268133, 10, 3.3000000000000007, 0.0 },
1035 { -1324140.9798373245, 10, 3.4000000000000004, 0.0 },
1036 { 3287599.0000000000, 10, 3.5000000000000000, 0.0 },
1037 { 11645103.614666503, 10, 3.6000000000000014, 0.0 },
1038 { 25467573.275709510, 10, 3.7000000000000011, 0.0 },
1039 { 47025137.016035900, 10, 3.8000000000000007, 0.0 },
1040 { 79268966.162877649, 10, 3.9000000000000004, 0.0 },
1041 { 125984224.00000000, 10, 4.0000000000000000, 0.0 },
1042 { 191968773.03860855, 10, 4.1000000000000014, 0.0 },
1043 { 283240820.63788390, 10, 4.2000000000000011, 0.0 },
1044 { 407278957.14375770, 10, 4.3000000000000007, 0.0 },
1045 { 573298328.81993556, 10, 4.4000000000000004, 0.0 },
1046 { 792566991.00000000, 10, 4.5000000000000000, 0.0 },
1047 { 1078766805.4651513, 10, 4.6000000000000014, 0.0 },
1048 { 1448403580.4203873, 10, 4.7000000000000011, 0.0 },
1049 { 1921271501.9744320, 10, 4.8000000000000007, 0.0 },
1050 { 2520977273.0966806, 10, 4.9000000000000004, 0.0 },
1051 { 3275529760.0000000, 10, 5.0000000000000000, 0.0 },
1052 { 4218001347.1524763, 10, 5.1000000000000014, 0.0 },
1053 { 5387267621.0259113, 10, 5.2000000000000011, 0.0 },
1054 { 6828832439.6160927, 10, 5.3000000000000007, 0.0 },
1055 { 8595745900.0898170, 10, 5.4000000000000004, 0.0 },
1056 { 10749623191.000000, 10, 5.5000000000000000, 0.0 },
1057 { 13361772808.732529, 10, 5.6000000000000014, 0.0 },
1058 { 16514443130.579391, 10, 5.7000000000000011, 0.0 },
1059 { 20302196869.444618, 10, 5.8000000000000007, 0.0 },
1060 { 24833423488.050617, 10, 5.9000000000000004, 0.0 },
1061 { 30232000224.000000, 10, 6.0000000000000000, 0.0 },
1062 { 36639112971.527824, 10, 6.1000000000000014, 0.0 },
1063 { 44215248881.625443, 10, 6.1999999999999993, 0.0 },
1064 { 53142373179.806152, 10, 6.3000000000000007, 0.0 },
1065 { 63626303360.468330, 10, 6.4000000000000021, 0.0 },
1066 { 75899294599.000000, 10, 6.5000000000000000, 0.0 },
1067 { 90222850927.788208, 10, 6.6000000000000014, 0.0 },
1068 { 106890777450.54652, 10, 6.6999999999999993, 0.0 },
1069 { 126232489621.23946, 10, 6.8000000000000007, 0.0 },
1070 { 148616596389.67273, 10, 6.9000000000000021, 0.0 },
1071 { 174454774816.00000, 10, 7.0000000000000000, 0.0 },
1072 { 204205954581.24780, 10, 7.1000000000000014, 0.0 },
1073 { 238380831670.89960, 10, 7.1999999999999993, 0.0 },
1074 { 277546731384.01831, 10, 7.3000000000000007, 0.0 },
1075 { 322332841721.55811, 10, 7.4000000000000021, 0.0 },
1076 { 373435839135.00000, 10, 7.5000000000000000, 0.0 },
1077 { 431625929570.40161, 10, 7.6000000000000014, 0.0 },
1078 { 497753328723.87476, 10, 7.6999999999999993, 0.0 },
1079 { 572755206432.81396, 10, 7.8000000000000007, 0.0 },
1080 { 657663121163.02625, 10, 7.9000000000000021, 0.0 },
1081 { 753610971616.00000, 10, 8.0000000000000000, 0.0 },
1082 { 861843493572.90283, 10, 8.1000000000000014, 0.0 },
1083 { 983725331213.07190, 10, 8.1999999999999993, 0.0 },
1084 { 1120750713295.2778, 10, 8.3000000000000007, 0.0 },
1085 { 1274553765769.7490, 10, 8.4000000000000021, 0.0 },
1086 { 1446919493599.0000, 10, 8.5000000000000000, 0.0 },
1087 { 1639795465805.4785, 10, 8.6000000000000014, 0.0 },
1088 { 1855304239034.7983, 10, 8.6999999999999993, 0.0 },
1089 { 2095756556225.3428, 10, 8.8000000000000007, 0.0 },
1090 { 2363665358307.8540, 10, 8.9000000000000021, 0.0 },
1091 { 2661760648224.0000, 10, 9.0000000000000000, 0.0 },
1092 { 2993005247949.7671, 10, 9.1000000000000014, 0.0 },
1093 { 3360611490639.1025, 10, 9.2000000000000028, 0.0 },
1094 { 3768058891466.0469, 10, 9.3000000000000007, 0.0 },
1095 { 4219112842239.1221, 10, 9.4000000000000021, 0.0 },
1096 { 4717844376391.0000, 10, 9.5000000000000000, 0.0 },
1097 { 5268651052510.4785, 10, 9.6000000000000014, 0.0 },
1098 { 5876279006180.6602, 10, 9.7000000000000028, 0.0 },
1099 { 6545846221520.6768, 10, 9.8000000000000007, 0.0 },
1100 { 7282867075495.3213, 10, 9.9000000000000021, 0.0 },
1101 { 8093278209760.0000, 10, 10.000000000000000, 0.0 },
1102 };
1103 const double toler005 = 2.5000000000000020e-13;
1104
1105 // Test data for n=20.
1106 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1107 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1108 // mean(f - f_GSL): 0.0000000000000000
1109 // variance(f - f_GSL): 0.0000000000000000
1110 // stddev(f - f_GSL): 0.0000000000000000
1111 const testcase_hermite<double>
1112 data006[201] =
1113 {
1114 { 3.6536710970888030e+25, 20, -10.000000000000000, 0.0 },
1115 { 2.9174932703098834e+25, 20, -9.9000000000000004, 0.0 },
1116 { 2.3228769039548404e+25, 20, -9.8000000000000007, 0.0 },
1117 { 1.8439144509496016e+25, 20, -9.6999999999999993, 0.0 },
1118 { 1.4591971834545420e+25, 20, -9.5999999999999996, 0.0 },
1119 { 1.1510764882450827e+25, 20, -9.5000000000000000, 0.0 },
1120 { 9.0503941245991605e+24, 20, -9.4000000000000004, 0.0 },
1121 { 7.0918188910312152e+24, 20, -9.3000000000000007, 0.0 },
1122 { 5.5376531405202033e+24, 20, -9.1999999999999993, 0.0 },
1123 { 4.3084410724035914e+24, 20, -9.0999999999999996, 0.0 },
1124 { 3.3395360269524137e+24, 20, -9.0000000000000000, 0.0 },
1125 { 2.5784910430831484e+24, 20, -8.9000000000000004, 0.0 },
1126 { 1.9828824261062853e+24, 20, -8.8000000000000007, 0.0 },
1127 { 1.5184989558235974e+24, 20, -8.6999999999999993, 0.0 },
1128 { 1.1578391431515818e+24, 20, -8.5999999999999996, 0.0 },
1129 { 8.7886740525023878e+23, 20, -8.5000000000000000, 0.0 },
1130 { 6.6398733801206072e+23, 20, -8.4000000000000004, 0.0 },
1131 { 4.9919656538201190e+23, 20, -8.3000000000000007, 0.0 },
1132 { 3.7339306542317994e+23, 20, -8.1999999999999993, 0.0 },
1133 { 2.7780752653950559e+23, 20, -8.0999999999999996, 0.0 },
1134 { 2.0554027373991249e+23, 20, -8.0000000000000000, 0.0 },
1135 { 1.5118471231121695e+23, 20, -7.9000000000000004, 0.0 },
1136 { 1.1052214218386250e+23, 20, -7.7999999999999998, 0.0 },
1137 { 8.0275268594719286e+22, 20, -7.6999999999999993, 0.0 },
1138 { 5.7909832934009042e+22, 20, -7.5999999999999996, 0.0 },
1139 { 4.1475563998692745e+22, 20, -7.5000000000000000, 0.0 },
1140 { 2.9479149729249250e+22, 20, -7.4000000000000004, 0.0 },
1141 { 2.0783192485964573e+22, 20, -7.2999999999999998, 0.0 },
1142 { 1.4526171451238465e+22, 20, -7.1999999999999993, 0.0 },
1143 { 1.0059323685871305e+22, 20, -7.0999999999999996, 0.0 },
1144 { 6.8970965604502329e+21, 20, -7.0000000000000000, 0.0 },
1145 { 4.6784410379528280e+21, 20, -6.9000000000000004, 0.0 },
1146 { 3.1367268160419670e+21, 20, -6.7999999999999998, 0.0 },
1147 { 2.0764831558419680e+21, 20, -6.6999999999999993, 0.0 },
1148 { 1.3555174744148132e+21, 20, -6.5999999999999996, 0.0 },
1149 { 8.7124954970091579e+20, 20, -6.5000000000000000, 0.0 },
1150 { 5.5033278133788108e+20, 20, -6.4000000000000004, 0.0 },
1151 { 3.4082412197533739e+20, 20, -6.2999999999999998, 0.0 },
1152 { 2.0631845648712086e+20, 20, -6.1999999999999993, 0.0 },
1153 { 1.2158762212269028e+20, 20, -6.0999999999999996, 0.0 },
1154 { 6.9364200641629315e+19, 20, -6.0000000000000000, 0.0 },
1155 { 3.7990093270095700e+19, 20, -5.8999999999999995, 0.0 },
1156 { 1.9713403927925858e+19, 20, -5.7999999999999998, 0.0 },
1157 { 9.4673798488533340e+18, 20, -5.7000000000000002, 0.0 },
1158 { 4.0046403628787825e+18, 20, -5.5999999999999996, 0.0 },
1159 { 1.2907686705724293e+18, 20, -5.5000000000000000, 0.0 },
1160 { 85277679782819584., 20, -5.3999999999999995, 0.0 },
1161 { -3.4359547179069376e+17, 20, -5.2999999999999998, 0.0 },
1162 { -4.0970873501577562e+17, 20, -5.1999999999999993, 0.0 },
1163 { -3.3419585613348250e+17, 20, -5.0999999999999996, 0.0 },
1164 { -2.2571776716382720e+17, 20, -5.0000000000000000, 0.0 },
1165 { -1.3051120203565493e+17, 20, -4.8999999999999995, 0.0 },
1166 { -62555669197021992., 20, -4.7999999999999998, 0.0 },
1167 { -20974173561009776., 20, -4.6999999999999993, 0.0 },
1168 { 519073301695656.00, 20, -4.5999999999999996, 0.0 },
1169 { 8939556693761121.0, 20, -4.5000000000000000, 0.0 },
1170 { 10070625675125174., 20, -4.3999999999999995, 0.0 },
1171 { 7940371996960715.0, 20, -4.2999999999999998, 0.0 },
1172 { 4973623686173539.0, 20, -4.1999999999999993, 0.0 },
1173 { 2389023282480410.0, 20, -4.0999999999999996, 0.0 },
1174 { 619678016654336.00, 20, -4.0000000000000000, 0.0 },
1175 { -339773491011950.50, 20, -3.8999999999999995, 0.0 },
1176 { -687467334428204.38, 20, -3.7999999999999998, 0.0 },
1177 { -663019129550482.25, 20, -3.6999999999999993, 0.0 },
1178 { -469585152350670.25, 20, -3.5999999999999996, 0.0 },
1179 { -245659781875039.00, 20, -3.5000000000000000, 0.0 },
1180 { -66042773886777.562, 20, -3.3999999999999995, 0.0 },
1181 { 43442261337436.312, 20, -3.2999999999999998, 0.0 },
1182 { 87626632986465.438, 20, -3.1999999999999993, 0.0 },
1183 { 85786202388511.375, 20, -3.0999999999999996, 0.0 },
1184 { 59990281399296.000, 20, -3.0000000000000000, 0.0 },
1185 { 28343496696717.773, 20, -2.8999999999999995, 0.0 },
1186 { 2296898915036.0859, 20, -2.7999999999999998, 0.0 },
1187 { -13249381789941.586, 20, -2.6999999999999993, 0.0 },
1188 { -18328180426561.059, 20, -2.5999999999999996, 0.0 },
1189 { -15799429886575.000, 20, -2.5000000000000000, 0.0 },
1190 { -9442592050214.2422, 20, -2.3999999999999995, 0.0 },
1191 { -2602375356373.2393, 20, -2.2999999999999998, 0.0 },
1192 { 2521759315047.8770, 20, -2.1999999999999993, 0.0 },
1193 { 5027779307352.6660, 20, -2.0999999999999996, 0.0 },
1194 { 5080118660096.0000, 20, -2.0000000000000000, 0.0 },
1195 { 3490463276000.5425, 20, -1.9000000000000004, 0.0 },
1196 { 1277254793997.0737, 20, -1.7999999999999989, 0.0 },
1197 { -682119355279.28784, 20, -1.6999999999999993, 0.0 },
1198 { -1851544254412.3203, 20, -1.5999999999999996, 0.0 },
1199 { -2085387081039.0000, 20, -1.5000000000000000, 0.0 },
1200 { -1559402933581.5054, 20, -1.4000000000000004, 0.0 },
1201 { -634265763221.85437, 20, -1.2999999999999989, 0.0 },
1202 { 295481874887.33429, 20, -1.1999999999999993, 0.0 },
1203 { 924603483429.34241, 20, -1.0999999999999996, 0.0 },
1204 { 1107214478336.0000, 20, -1.0000000000000000, 0.0 },
1205 { 867235623835.12463, 20, -0.90000000000000036, 0.0 },
1206 { 358848462745.14441, 20, -0.79999999999999893, 0.0 },
1207 { -202944086511.71936, 20, -0.69999999999999929, 0.0 },
1208 { -617730863561.32617, 20, -0.59999999999999964, 0.0 },
1209 { -759627879679.00000, 20, -0.50000000000000000, 0.0 },
1210 { -607451728035.02795, 20, -0.39999999999999858, 0.0 },
1211 { -240424854484.41342, 20, -0.29999999999999893, 0.0 },
1212 { 195759209122.61337, 20, -0.19999999999999929, 0.0 },
1213 { 540334019322.52014, 20, -0.099999999999999645, 0.0 },
1214 { 670442572800.00000, 20, 0.0000000000000000, 0.0 },
1215 { 540334019322.51575, 20, 0.10000000000000142, 0.0 },
1216 { 195759209122.60626, 20, 0.20000000000000107, 0.0 },
1217 { -240424854484.42111, 20, 0.30000000000000071, 0.0 },
1218 { -607451728035.03271, 20, 0.40000000000000036, 0.0 },
1219 { -759627879679.00000, 20, 0.50000000000000000, 0.0 },
1220 { -617730863561.32117, 20, 0.60000000000000142, 0.0 },
1221 { -202944086511.71027, 20, 0.70000000000000107, 0.0 },
1222 { 358848462745.15466, 20, 0.80000000000000071, 0.0 },
1223 { 867235623835.12463, 20, 0.90000000000000036, 0.0 },
1224 { 1107214478336.0000, 20, 1.0000000000000000, 0.0 },
1225 { 924603483429.33521, 20, 1.1000000000000014, 0.0 },
1226 { 295481874887.31995, 20, 1.2000000000000011, 0.0 },
1227 { -634265763221.87231, 20, 1.3000000000000007, 0.0 },
1228 { -1559402933581.5054, 20, 1.4000000000000004, 0.0 },
1229 { -2085387081039.0000, 20, 1.5000000000000000, 0.0 },
1230 { -1851544254412.3086, 20, 1.6000000000000014, 0.0 },
1231 { -682119355279.25952, 20, 1.7000000000000011, 0.0 },
1232 { 1277254793997.1128, 20, 1.8000000000000007, 0.0 },
1233 { 3490463276000.5425, 20, 1.9000000000000004, 0.0 },
1234 { 5080118660096.0000, 20, 2.0000000000000000, 0.0 },
1235 { 5027779307352.6436, 20, 2.1000000000000014, 0.0 },
1236 { 2521759315047.8071, 20, 2.2000000000000011, 0.0 },
1237 { -2602375356373.2969, 20, 2.3000000000000007, 0.0 },
1238 { -9442592050214.3027, 20, 2.4000000000000004, 0.0 },
1239 { -15799429886575.000, 20, 2.5000000000000000, 0.0 },
1240 { -18328180426561.039, 20, 2.6000000000000014, 0.0 },
1241 { -13249381789941.420, 20, 2.7000000000000011, 0.0 },
1242 { 2296898915036.2812, 20, 2.8000000000000007, 0.0 },
1243 { 28343496696718.070, 20, 2.9000000000000004, 0.0 },
1244 { 59990281399296.000, 20, 3.0000000000000000, 0.0 },
1245 { 85786202388511.641, 20, 3.1000000000000014, 0.0 },
1246 { 87626632986465.219, 20, 3.2000000000000011, 0.0 },
1247 { 43442261337435.672, 20, 3.3000000000000007, 0.0 },
1248 { -66042773886778.938, 20, 3.4000000000000004, 0.0 },
1249 { -245659781875039.00, 20, 3.5000000000000000, 0.0 },
1250 { -469585152350674.31, 20, 3.6000000000000014, 0.0 },
1251 { -663019129550484.62, 20, 3.7000000000000011, 0.0 },
1252 { -687467334428203.38, 20, 3.8000000000000007, 0.0 },
1253 { -339773491011946.00, 20, 3.9000000000000004, 0.0 },
1254 { 619678016654336.00, 20, 4.0000000000000000, 0.0 },
1255 { 2389023282480449.0, 20, 4.1000000000000014, 0.0 },
1256 { 4973623686173592.0, 20, 4.2000000000000011, 0.0 },
1257 { 7940371996960741.0, 20, 4.3000000000000007, 0.0 },
1258 { 10070625675125180., 20, 4.4000000000000004, 0.0 },
1259 { 8939556693761121.0, 20, 4.5000000000000000, 0.0 },
1260 { 519073301695404.00, 20, 4.6000000000000014, 0.0 },
1261 { -20974173561010304., 20, 4.7000000000000011, 0.0 },
1262 { -62555669197022528., 20, 4.8000000000000007, 0.0 },
1263 { -1.3051120203565566e+17, 20, 4.9000000000000004, 0.0 },
1264 { -2.2571776716382720e+17, 20, 5.0000000000000000, 0.0 },
1265 { -3.3419585613348416e+17, 20, 5.1000000000000014, 0.0 },
1266 { -4.0970873501577613e+17, 20, 5.2000000000000011, 0.0 },
1267 { -3.4359547179069216e+17, 20, 5.3000000000000007, 0.0 },
1268 { 85277679782823936., 20, 5.4000000000000004, 0.0 },
1269 { 1.2907686705724293e+18, 20, 5.5000000000000000, 0.0 },
1270 { 4.0046403628788460e+18, 20, 5.6000000000000014, 0.0 },
1271 { 9.4673798488534159e+18, 20, 5.7000000000000011, 0.0 },
1272 { 1.9713403927925973e+19, 20, 5.8000000000000007, 0.0 },
1273 { 3.7990093270095905e+19, 20, 5.9000000000000004, 0.0 },
1274 { 6.9364200641629315e+19, 20, 6.0000000000000000, 0.0 },
1275 { 1.2158762212269156e+20, 20, 6.1000000000000014, 0.0 },
1276 { 2.0631845648712086e+20, 20, 6.1999999999999993, 0.0 },
1277 { 3.4082412197533902e+20, 20, 6.3000000000000007, 0.0 },
1278 { 5.5033278133788620e+20, 20, 6.4000000000000021, 0.0 },
1279 { 8.7124954970091579e+20, 20, 6.5000000000000000, 0.0 },
1280 { 1.3555174744148243e+21, 20, 6.6000000000000014, 0.0 },
1281 { 2.0764831558419680e+21, 20, 6.6999999999999993, 0.0 },
1282 { 3.1367268160419775e+21, 20, 6.8000000000000007, 0.0 },
1283 { 4.6784410379528606e+21, 20, 6.9000000000000021, 0.0 },
1284 { 6.8970965604502329e+21, 20, 7.0000000000000000, 0.0 },
1285 { 1.0059323685871368e+22, 20, 7.1000000000000014, 0.0 },
1286 { 1.4526171451238465e+22, 20, 7.1999999999999993, 0.0 },
1287 { 2.0783192485964666e+22, 20, 7.3000000000000007, 0.0 },
1288 { 2.9479149729249434e+22, 20, 7.4000000000000021, 0.0 },
1289 { 4.1475563998692745e+22, 20, 7.5000000000000000, 0.0 },
1290 { 5.7909832934009378e+22, 20, 7.6000000000000014, 0.0 },
1291 { 8.0275268594719286e+22, 20, 7.6999999999999993, 0.0 },
1292 { 1.1052214218386286e+23, 20, 7.8000000000000007, 0.0 },
1293 { 1.5118471231121759e+23, 20, 7.9000000000000021, 0.0 },
1294 { 2.0554027373991249e+23, 20, 8.0000000000000000, 0.0 },
1295 { 2.7780752653950703e+23, 20, 8.1000000000000014, 0.0 },
1296 { 3.7339306542317994e+23, 20, 8.1999999999999993, 0.0 },
1297 { 4.9919656538201190e+23, 20, 8.3000000000000007, 0.0 },
1298 { 6.6398733801206421e+23, 20, 8.4000000000000021, 0.0 },
1299 { 8.7886740525023878e+23, 20, 8.5000000000000000, 0.0 },
1300 { 1.1578391431515869e+24, 20, 8.6000000000000014, 0.0 },
1301 { 1.5184989558235974e+24, 20, 8.6999999999999993, 0.0 },
1302 { 1.9828824261062853e+24, 20, 8.8000000000000007, 0.0 },
1303 { 2.5784910430831597e+24, 20, 8.9000000000000021, 0.0 },
1304 { 3.3395360269524137e+24, 20, 9.0000000000000000, 0.0 },
1305 { 4.3084410724036123e+24, 20, 9.1000000000000014, 0.0 },
1306 { 5.5376531405202538e+24, 20, 9.2000000000000028, 0.0 },
1307 { 7.0918188910312152e+24, 20, 9.3000000000000007, 0.0 },
1308 { 9.0503941245991948e+24, 20, 9.4000000000000021, 0.0 },
1309 { 1.1510764882450827e+25, 20, 9.5000000000000000, 0.0 },
1310 { 1.4591971834545491e+25, 20, 9.6000000000000014, 0.0 },
1311 { 1.8439144509496166e+25, 20, 9.7000000000000028, 0.0 },
1312 { 2.3228769039548404e+25, 20, 9.8000000000000007, 0.0 },
1313 { 2.9174932703098967e+25, 20, 9.9000000000000021, 0.0 },
1314 { 3.6536710970888030e+25, 20, 10.000000000000000, 0.0 },
1315 };
1316 const double toler006 = 2.5000000000000020e-13;
1317
1318 // Test data for n=50.
1319 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1320 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1321 // mean(f - f_GSL): 0.0000000000000000
1322 // variance(f - f_GSL): 0.0000000000000000
1323 // stddev(f - f_GSL): 0.0000000000000000
1324 const testcase_hermite<double>
1325 data007[201] =
1326 {
1327 { 1.3516643049819314e+61, 50, -10.000000000000000, 0.0 },
1328 { 5.8466703062266110e+60, 50, -9.9000000000000004, 0.0 },
1329 { 2.4344814863741168e+60, 50, -9.8000000000000007, 0.0 },
1330 { 9.6739828066585787e+59, 50, -9.6999999999999993, 0.0 },
1331 { 3.6194312967780128e+59, 50, -9.5999999999999996, 0.0 },
1332 { 1.2454022521696361e+59, 50, -9.5000000000000000, 0.0 },
1333 { 3.7546881918013145e+58, 50, -9.4000000000000004, 0.0 },
1334 { 8.6500158470917270e+57, 50, -9.3000000000000007, 0.0 },
1335 { 5.3163209769527426e+56, 50, -9.1999999999999993, 0.0 },
1336 { -9.7863165370930473e+56, 50, -9.0999999999999996, 0.0 },
1337 { -8.0563930902368911e+56, 50, -9.0000000000000000, 0.0 },
1338 { -4.3145937406321933e+56, 50, -8.9000000000000004, 0.0 },
1339 { -1.8210771577645630e+56, 50, -8.8000000000000007, 0.0 },
1340 { -6.0082225302289557e+55, 50, -8.6999999999999993, 0.0 },
1341 { -1.2392013720948442e+55, 50, -8.5999999999999996, 0.0 },
1342 { 1.5935887905806307e+54, 50, -8.5000000000000000, 0.0 },
1343 { 3.4325365049909381e+54, 50, -8.4000000000000004, 0.0 },
1344 { 2.2368641272300899e+54, 50, -8.3000000000000007, 0.0 },
1345 { 1.0009712198862341e+54, 50, -8.1999999999999993, 0.0 },
1346 { 3.0699480272357337e+53, 50, -8.0999999999999996, 0.0 },
1347 { 2.9492797132685063e+52, 50, -8.0000000000000000, 0.0 },
1348 { -3.9982544106300062e+52, 50, -7.9000000000000004, 0.0 },
1349 { -3.5678031330023779e+52, 50, -7.7999999999999998, 0.0 },
1350 { -1.8076371748762319e+52, 50, -7.6999999999999993, 0.0 },
1351 { -5.7887622198708925e+51, 50, -7.5999999999999996, 0.0 },
1352 { -3.5808467693113330e+50, 50, -7.5000000000000000, 0.0 },
1353 { 1.0219511166806405e+51, 50, -7.4000000000000004, 0.0 },
1354 { 8.4241263694549560e+50, 50, -7.2999999999999998, 0.0 },
1355 { 3.9143899315095070e+50, 50, -7.1999999999999993, 0.0 },
1356 { 9.3178966245756654e+49, 50, -7.0999999999999996, 0.0 },
1357 { -2.4714855983436561e+49, 50, -7.0000000000000000, 0.0 },
1358 { -4.1428217272044600e+49, 50, -6.9000000000000004, 0.0 },
1359 { -2.4864980414057334e+49, 50, -6.7999999999999998, 0.0 },
1360 { -8.0684355476446876e+48, 50, -6.6999999999999993, 0.0 },
1361 { 4.2529238530179841e+47, 50, -6.5999999999999996, 0.0 },
1362 { 2.4709663739849681e+48, 50, -6.5000000000000000, 0.0 },
1363 { 1.7500305481204125e+48, 50, -6.4000000000000004, 0.0 },
1364 { 6.3834558285146007e+47, 50, -6.2999999999999998, 0.0 },
1365 { -1.1477672402384868e+46, 50, -6.1999999999999993, 0.0 },
1366 { -1.9304630401841983e+47, 50, -6.0999999999999996, 0.0 },
1367 { -1.4355266959903589e+47, 50, -6.0000000000000000, 0.0 },
1368 { -5.1482200905565497e+46, 50, -5.8999999999999995, 0.0 },
1369 { 4.6577356827463283e+45, 50, -5.7999999999999998, 0.0 },
1370 { 1.9676012349652066e+46, 50, -5.7000000000000002, 0.0 },
1371 { 1.3630554018675846e+46, 50, -5.5999999999999996, 0.0 },
1372 { 4.0920495328093750e+45, 50, -5.5000000000000000, 0.0 },
1373 { -1.3680638882145570e+45, 50, -5.3999999999999995, 0.0 },
1374 { -2.4465265559935436e+45, 50, -5.2999999999999998, 0.0 },
1375 { -1.4270495629649337e+45, 50, -5.1999999999999993, 0.0 },
1376 { -2.4845518743338381e+44, 50, -5.0999999999999996, 0.0 },
1377 { 3.1953926721271990e+44, 50, -5.0000000000000000, 0.0 },
1378 { 3.4169399444879477e+44, 50, -4.8999999999999995, 0.0 },
1379 { 1.4896819114978755e+44, 50, -4.7999999999999998, 0.0 },
1380 { -1.3078430866969463e+43, 50, -4.6999999999999993, 0.0 },
1381 { -6.8449168639700716e+43, 50, -4.5999999999999996, 0.0 },
1382 { -4.9181639709997461e+43, 50, -4.5000000000000000, 0.0 },
1383 { -1.1434943490344838e+43, 50, -4.3999999999999995, 0.0 },
1384 { 1.1214652543461432e+43, 50, -4.2999999999999998, 0.0 },
1385 { 1.3843548994480566e+43, 50, -4.1999999999999993, 0.0 },
1386 { 6.3349790205303262e+42, 50, -4.0999999999999996, 0.0 },
1387 { -9.5599640670553907e+41, 50, -4.0000000000000000, 0.0 },
1388 { -3.6202558158287989e+42, 50, -3.8999999999999995, 0.0 },
1389 { -2.5206461734624493e+42, 50, -3.7999999999999998, 0.0 },
1390 { -3.7818051510730675e+41, 50, -3.6999999999999993, 0.0 },
1391 { 8.8921371165335050e+41, 50, -3.5999999999999996, 0.0 },
1392 { 9.2055485763852770e+41, 50, -3.5000000000000000, 0.0 },
1393 { 3.2535765707282432e+41, 50, -3.3999999999999995, 0.0 },
1394 { -1.9358941418244578e+41, 50, -3.2999999999999998, 0.0 },
1395 { -3.3076282847915616e+41, 50, -3.1999999999999993, 0.0 },
1396 { -1.7764977066639160e+41, 50, -3.0999999999999996, 0.0 },
1397 { 2.6751882008697154e+40, 50, -3.0000000000000000, 0.0 },
1398 { 1.2025382369996071e+41, 50, -2.8999999999999995, 0.0 },
1399 { 8.8383035103557973e+40, 50, -2.7999999999999998, 0.0 },
1400 { 7.7733606479635628e+39, 50, -2.6999999999999993, 0.0 },
1401 { -4.4696811758713757e+40, 50, -2.5999999999999996, 0.0 },
1402 { -4.3715062488963453e+40, 50, -2.5000000000000000, 0.0 },
1403 { -1.1390080390574979e+40, 50, -2.3999999999999995, 0.0 },
1404 { 1.6938519751181342e+40, 50, -2.2999999999999998, 0.0 },
1405 { 2.2284509952956162e+40, 50, -2.1999999999999993, 0.0 },
1406 { 9.0967994280570531e+39, 50, -2.0999999999999996, 0.0 },
1407 { -6.4126677997472978e+39, 50, -2.0000000000000000, 0.0 },
1408 { -1.1926839454034341e+40, 50, -1.9000000000000004, 0.0 },
1409 { -6.5436654274697603e+39, 50, -1.7999999999999989, 0.0 },
1410 { 2.2779499542550411e+39, 50, -1.6999999999999993, 0.0 },
1411 { 6.7720530889699639e+39, 50, -1.5999999999999996, 0.0 },
1412 { 4.6884851188034300e+39, 50, -1.5000000000000000, 0.0 },
1413 { -5.9005001052557463e+38, 50, -1.4000000000000004, 0.0 },
1414 { -4.1028320210430837e+39, 50, -1.2999999999999989, 0.0 },
1415 { -3.4780049977083965e+39, 50, -1.1999999999999993, 0.0 },
1416 { -1.3484918476373692e+38, 50, -1.0999999999999996, 0.0 },
1417 { 2.6586815431645456e+39, 50, -1.0000000000000000, 0.0 },
1418 { 2.7225429473661429e+39, 50, -0.90000000000000036, 0.0 },
1419 { 4.7785441024946841e+38, 50, -0.79999999999999893, 0.0 },
1420 { -1.8416784378790159e+39, 50, -0.69999999999999929, 0.0 },
1421 { -2.2725918816693132e+39, 50, -0.59999999999999964, 0.0 },
1422 { -6.7948375014926916e+38, 50, -0.50000000000000000, 0.0 },
1423 { 1.3581645858906036e+39, 50, -0.39999999999999858, 0.0 },
1424 { 2.0349661043040443e+39, 50, -0.29999999999999893, 0.0 },
1425 { 8.5049248815817037e+38, 50, -0.19999999999999929, 0.0 },
1426 { -1.0564542132990048e+39, 50, -0.099999999999999645, 0.0 },
1427 { -1.9607814681608194e+39, 50, 0.0000000000000000, 0.0 },
1428 { -1.0564542132989758e+39, 50, 0.10000000000000142, 0.0 },
1429 { 8.5049248815820240e+38, 50, 0.20000000000000107, 0.0 },
1430 { 2.0349661043040497e+39, 50, 0.30000000000000071, 0.0 },
1431 { 1.3581645858905750e+39, 50, 0.40000000000000036, 0.0 },
1432 { -6.7948375014926916e+38, 50, 0.50000000000000000, 0.0 },
1433 { -2.2725918816693268e+39, 50, 0.60000000000000142, 0.0 },
1434 { -1.8416784378789875e+39, 50, 0.70000000000000107, 0.0 },
1435 { 4.7785441024951729e+38, 50, 0.80000000000000071, 0.0 },
1436 { 2.7225429473661429e+39, 50, 0.90000000000000036, 0.0 },
1437 { 2.6586815431645456e+39, 50, 1.0000000000000000, 0.0 },
1438 { -1.3484918476380069e+38, 50, 1.1000000000000014, 0.0 },
1439 { -3.4780049977084394e+39, 50, 1.2000000000000011, 0.0 },
1440 { -4.1028320210430589e+39, 50, 1.3000000000000007, 0.0 },
1441 { -5.9005001052557463e+38, 50, 1.4000000000000004, 0.0 },
1442 { 4.6884851188034300e+39, 50, 1.5000000000000000, 0.0 },
1443 { 6.7720530889699470e+39, 50, 1.6000000000000014, 0.0 },
1444 { 2.2779499542549072e+39, 50, 1.7000000000000011, 0.0 },
1445 { -6.5436654274699114e+39, 50, 1.8000000000000007, 0.0 },
1446 { -1.1926839454034341e+40, 50, 1.9000000000000004, 0.0 },
1447 { -6.4126677997472978e+39, 50, 2.0000000000000000, 0.0 },
1448 { 9.0967994280573626e+39, 50, 2.1000000000000014, 0.0 },
1449 { 2.2284509952956273e+40, 50, 2.2000000000000011, 0.0 },
1450 { 1.6938519751181172e+40, 50, 2.3000000000000007, 0.0 },
1451 { -1.1390080390575289e+40, 50, 2.4000000000000004, 0.0 },
1452 { -4.3715062488963453e+40, 50, 2.5000000000000000, 0.0 },
1453 { -4.4696811758713303e+40, 50, 2.6000000000000014, 0.0 },
1454 { 7.7733606479648733e+39, 50, 2.7000000000000011, 0.0 },
1455 { 8.8383035103558611e+40, 50, 2.8000000000000007, 0.0 },
1456 { 1.2025382369996052e+41, 50, 2.9000000000000004, 0.0 },
1457 { 2.6751882008697154e+40, 50, 3.0000000000000000, 0.0 },
1458 { -1.7764977066639554e+41, 50, 3.1000000000000014, 0.0 },
1459 { -3.3076282847915716e+41, 50, 3.2000000000000011, 0.0 },
1460 { -1.9358941418244260e+41, 50, 3.3000000000000007, 0.0 },
1461 { 3.2535765707283020e+41, 50, 3.4000000000000004, 0.0 },
1462 { 9.2055485763852770e+41, 50, 3.5000000000000000, 0.0 },
1463 { 8.8921371165333905e+41, 50, 3.6000000000000014, 0.0 },
1464 { -3.7818051510734018e+41, 50, 3.7000000000000011, 0.0 },
1465 { -2.5206461734624660e+42, 50, 3.8000000000000007, 0.0 },
1466 { -3.6202558158287927e+42, 50, 3.9000000000000004, 0.0 },
1467 { -9.5599640670553907e+41, 50, 4.0000000000000000, 0.0 },
1468 { 6.3349790205304773e+42, 50, 4.1000000000000014, 0.0 },
1469 { 1.3843548994480653e+43, 50, 4.2000000000000011, 0.0 },
1470 { 1.1214652543461340e+43, 50, 4.3000000000000007, 0.0 },
1471 { -1.1434943490345182e+43, 50, 4.4000000000000004, 0.0 },
1472 { -4.9181639709997461e+43, 50, 4.5000000000000000, 0.0 },
1473 { -6.8449168639700617e+43, 50, 4.6000000000000014, 0.0 },
1474 { -1.3078430866967542e+43, 50, 4.7000000000000011, 0.0 },
1475 { 1.4896819114978953e+44, 50, 4.8000000000000007, 0.0 },
1476 { 3.4169399444879600e+44, 50, 4.9000000000000004, 0.0 },
1477 { 3.1953926721271990e+44, 50, 5.0000000000000000, 0.0 },
1478 { -2.4845518743340037e+44, 50, 5.1000000000000014, 0.0 },
1479 { -1.4270495629649556e+45, 50, 5.2000000000000011, 0.0 },
1480 { -2.4465265559935458e+45, 50, 5.3000000000000007, 0.0 },
1481 { -1.3680638882145392e+45, 50, 5.4000000000000004, 0.0 },
1482 { 4.0920495328093750e+45, 50, 5.5000000000000000, 0.0 },
1483 { 1.3630554018676023e+46, 50, 5.6000000000000014, 0.0 },
1484 { 1.9676012349652035e+46, 50, 5.7000000000000011, 0.0 },
1485 { 4.6577356827460393e+45, 50, 5.8000000000000007, 0.0 },
1486 { -5.1482200905566146e+46, 50, 5.9000000000000004, 0.0 },
1487 { -1.4355266959903589e+47, 50, 6.0000000000000000, 0.0 },
1488 { -1.9304630401841966e+47, 50, 6.1000000000000014, 0.0 },
1489 { -1.1477672402384868e+46, 50, 6.1999999999999993, 0.0 },
1490 { 6.3834558285146981e+47, 50, 6.3000000000000007, 0.0 },
1491 { 1.7500305481204346e+48, 50, 6.4000000000000021, 0.0 },
1492 { 2.4709663739849681e+48, 50, 6.5000000000000000, 0.0 },
1493 { 4.2529238530171793e+47, 50, 6.6000000000000014, 0.0 },
1494 { -8.0684355476446876e+48, 50, 6.6999999999999993, 0.0 },
1495 { -2.4864980414057495e+49, 50, 6.8000000000000007, 0.0 },
1496 { -4.1428217272044745e+49, 50, 6.9000000000000021, 0.0 },
1497 { -2.4714855983436561e+49, 50, 7.0000000000000000, 0.0 },
1498 { 9.3178966245760310e+49, 50, 7.1000000000000014, 0.0 },
1499 { 3.9143899315095070e+50, 50, 7.1999999999999993, 0.0 },
1500 { 8.4241263694549925e+50, 50, 7.3000000000000007, 0.0 },
1501 { 1.0219511166806373e+51, 50, 7.4000000000000021, 0.0 },
1502 { -3.5808467693113330e+50, 50, 7.5000000000000000, 0.0 },
1503 { -5.7887622198710268e+51, 50, 7.6000000000000014, 0.0 },
1504 { -1.8076371748762319e+52, 50, 7.6999999999999993, 0.0 },
1505 { -3.5678031330023971e+52, 50, 7.8000000000000007, 0.0 },
1506 { -3.9982544106299987e+52, 50, 7.9000000000000021, 0.0 },
1507 { 2.9492797132685063e+52, 50, 8.0000000000000000, 0.0 },
1508 { 3.0699480272358086e+53, 50, 8.1000000000000014, 0.0 },
1509 { 1.0009712198862341e+54, 50, 8.1999999999999993, 0.0 },
1510 { 2.2368641272300899e+54, 50, 8.3000000000000007, 0.0 },
1511 { 3.4325365049909476e+54, 50, 8.4000000000000021, 0.0 },
1512 { 1.5935887905806307e+54, 50, 8.5000000000000000, 0.0 },
1513 { -1.2392013720948937e+55, 50, 8.6000000000000014, 0.0 },
1514 { -6.0082225302289557e+55, 50, 8.6999999999999993, 0.0 },
1515 { -1.8210771577645630e+56, 50, 8.8000000000000007, 0.0 },
1516 { -4.3145937406322482e+56, 50, 8.9000000000000021, 0.0 },
1517 { -8.0563930902368911e+56, 50, 9.0000000000000000, 0.0 },
1518 { -9.7863165370930194e+56, 50, 9.1000000000000014, 0.0 },
1519 { 5.3163209769540389e+56, 50, 9.2000000000000028, 0.0 },
1520 { 8.6500158470917270e+57, 50, 9.3000000000000007, 0.0 },
1521 { 3.7546881918013903e+58, 50, 9.4000000000000021, 0.0 },
1522 { 1.2454022521696361e+59, 50, 9.5000000000000000, 0.0 },
1523 { 3.6194312967780793e+59, 50, 9.6000000000000014, 0.0 },
1524 { 9.6739828066589016e+59, 50, 9.7000000000000028, 0.0 },
1525 { 2.4344814863741168e+60, 50, 9.8000000000000007, 0.0 },
1526 { 5.8466703062266974e+60, 50, 9.9000000000000021, 0.0 },
1527 { 1.3516643049819314e+61, 50, 10.000000000000000, 0.0 },
1528 };
1529 const double toler007 = 2.5000000000000020e-13;
1530
1531 // Test data for n=100.
1532 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1533 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1534 // mean(f - f_GSL): 0.0000000000000000
1535 // variance(f - f_GSL): 0.0000000000000000
1536 // stddev(f - f_GSL): 0.0000000000000000
1537 const testcase_hermite<double>
1538 data008[201] =
1539 {
1540 { -1.8738689223256612e+115, 100, -10.000000000000000, 0.0 },
1541 { -4.4232904120311186e+114, 100, -9.9000000000000004, 0.0 },
1542 { 8.3761676654305186e+113, 100, -9.8000000000000007, 0.0 },
1543 { 9.4857435427570856e+113, 100, -9.6999999999999993, 0.0 },
1544 { 2.4904626130429828e+113, 100, -9.5999999999999996, 0.0 },
1545 { -4.2265051766934789e+112, 100, -9.5000000000000000, 0.0 },
1546 { -5.3374224541142079e+112, 100, -9.4000000000000004, 0.0 },
1547 { -1.3977488190034162e+112, 100, -9.3000000000000007, 0.0 },
1548 { 2.9686037583393142e+111, 100, -9.1999999999999993, 0.0 },
1549 { 3.3341330166544008e+111, 100, -9.0999999999999996, 0.0 },
1550 { 7.7294136683043515e+110, 100, -9.0000000000000000, 0.0 },
1551 { -2.6071876743328352e+110, 100, -8.9000000000000004, 0.0 },
1552 { -2.2669773300293168e+110, 100, -8.8000000000000007, 0.0 },
1553 { -3.8930624477368766e+109, 100, -8.6999999999999993, 0.0 },
1554 { 2.5386102824684956e+109, 100, -8.5999999999999996, 0.0 },
1555 { 1.6203702280499544e+109, 100, -8.5000000000000000, 0.0 },
1556 { 1.2481735250539652e+108, 100, -8.4000000000000004, 0.0 },
1557 { -2.5611278359589723e+108, 100, -8.3000000000000007, 0.0 },
1558 { -1.1534178973583771e+108, 100, -8.1999999999999993, 0.0 },
1559 { 8.4932594446954126e+106, 100, -8.0999999999999996, 0.0 },
1560 { 2.5761505535443451e+107, 100, -8.0000000000000000, 0.0 },
1561 { 7.3445622927437730e+106, 100, -7.9000000000000004, 0.0 },
1562 { -2.7252309851017323e+106, 100, -7.7999999999999998, 0.0 },
1563 { -2.4850432648123868e+106, 100, -7.6999999999999993, 0.0 },
1564 { -2.7486638813238851e+105, 100, -7.5999999999999996, 0.0 },
1565 { 4.4772364475394960e+105, 100, -7.5000000000000000, 0.0 },
1566 { 2.1375121759800508e+105, 100, -7.4000000000000004, 0.0 },
1567 { -2.9237691057265876e+104, 100, -7.2999999999999998, 0.0 },
1568 { -5.9348804074874565e+104, 100, -7.1999999999999993, 0.0 },
1569 { -1.2947583568692734e+104, 100, -7.0999999999999996, 0.0 },
1570 { 1.0002273523275075e+104, 100, -7.0000000000000000, 0.0 },
1571 { 6.4900499886057735e+103, 100, -6.9000000000000004, 0.0 },
1572 { -3.7817730019124298e+102, 100, -6.7999999999999998, 0.0 },
1573 { -1.7849709684883083e+103, 100, -6.6999999999999993, 0.0 },
1574 { -4.8039047085580619e+102, 100, -6.5999999999999996, 0.0 },
1575 { 3.2072472002047670e+102, 100, -6.5000000000000000, 0.0 },
1576 { 2.3341289432999226e+102, 100, -6.4000000000000004, 0.0 },
1577 { -1.4587350659146165e+101, 100, -6.2999999999999998, 0.0 },
1578 { -7.0672139150705246e+101, 100, -6.1999999999999993, 0.0 },
1579 { -1.8039133351601998e+101, 100, -6.0999999999999996, 0.0 },
1580 { 1.5170693933260738e+101, 100, -6.0000000000000000, 0.0 },
1581 { 1.0141407690966841e+101, 100, -5.8999999999999995, 0.0 },
1582 { -1.5140717605507886e+100, 100, -5.7999999999999998, 0.0 },
1583 { -3.6379102593330533e+100, 100, -5.7000000000000002, 0.0 },
1584 { -6.2933057672779134e+99, 100, -5.5999999999999996, 0.0 },
1585 { 9.9309186425970402e+99, 100, -5.5000000000000000, 0.0 },
1586 { 5.0935670879055936e+99, 100, -5.3999999999999995, 0.0 },
1587 { -1.8337906983006129e+99, 100, -5.2999999999999998, 0.0 },
1588 { -2.3096466887887237e+99, 100, -5.1999999999999993, 0.0 },
1589 { -4.0259235416602546e+97, 100, -5.0999999999999996, 0.0 },
1590 { 8.1931937130591466e+98, 100, -5.0000000000000000, 0.0 },
1591 { 2.5601172475776284e+98, 100, -4.8999999999999995, 0.0 },
1592 { -2.3193021196802698e+98, 100, -4.7999999999999998, 0.0 },
1593 { -1.6545238014142650e+98, 100, -4.6999999999999993, 0.0 },
1594 { 4.2440218943299170e+97, 100, -4.5999999999999996, 0.0 },
1595 { 7.8073853756187101e+97, 100, -4.5000000000000000, 0.0 },
1596 { 5.2136163919270720e+96, 100, -4.3999999999999995, 0.0 },
1597 { -3.0837503404959950e+97, 100, -4.2999999999999998, 0.0 },
1598 { -1.0988290456447506e+97, 100, -4.1999999999999993, 0.0 },
1599 { 1.0173847230741884e+97, 100, -4.0999999999999996, 0.0 },
1600 { 7.7070682747643550e+96, 100, -4.0000000000000000, 0.0 },
1601 { -2.3947326745293985e+96, 100, -3.8999999999999995, 0.0 },
1602 { -4.1993887070961596e+96, 100, -3.7999999999999998, 0.0 },
1603 { -5.5521768050503009e+94, 100, -3.6999999999999993, 0.0 },
1604 { 1.9852724296241180e+96, 100, -3.5999999999999996, 0.0 },
1605 { 5.7841213444838915e+95, 100, -3.5000000000000000, 0.0 },
1606 { -8.2433116644948985e+95, 100, -3.3999999999999995, 0.0 },
1607 { -5.2035951331058195e+95, 100, -3.2999999999999998, 0.0 },
1608 { 2.8212012454566478e+95, 100, -3.1999999999999993, 0.0 },
1609 { 3.5161870090563867e+95, 100, -3.0999999999999996, 0.0 },
1610 { -5.5084542871196523e+94, 100, -3.0000000000000000, 0.0 },
1611 { -2.0784160746797530e+95, 100, -2.8999999999999995, 0.0 },
1612 { -2.6058116248679496e+94, 100, -2.7999999999999998, 0.0 },
1613 { 1.1147132226581881e+95, 100, -2.6999999999999993, 0.0 },
1614 { 4.5607706742532875e+94, 100, -2.5999999999999996, 0.0 },
1615 { -5.3758761713337664e+94, 100, -2.5000000000000000, 0.0 },
1616 { -4.2303228932575310e+94, 100, -2.3999999999999995, 0.0 },
1617 { 2.1691501564685499e+94, 100, -2.2999999999999998, 0.0 },
1618 { 3.2602488340116774e+94, 100, -2.1999999999999993, 0.0 },
1619 { -5.0527155039787607e+93, 100, -2.0999999999999996, 0.0 },
1620 { -2.2785574311661325e+94, 100, -2.0000000000000000, 0.0 },
1621 { -2.8549527653152903e+93, 100, -1.9000000000000004, 0.0 },
1622 { 1.4787573463714434e+94, 100, -1.7999999999999989, 0.0 },
1623 { 6.0554070654771248e+93, 100, -1.6999999999999993, 0.0 },
1624 { -8.8496828346970978e+93, 100, -1.5999999999999996, 0.0 },
1625 { -6.8402151897169509e+93, 100, -1.5000000000000000, 0.0 },
1626 { 4.6555468819923166e+93, 100, -1.4000000000000004, 0.0 },
1627 { 6.4625437128322607e+93, 100, -1.2999999999999989, 0.0 },
1628 { -1.7820042440391653e+93, 100, -1.1999999999999993, 0.0 },
1629 { -5.5814393347235886e+93, 100, -1.0999999999999996, 0.0 },
1630 { -1.4487067293379347e+92, 100, -1.0000000000000000, 0.0 },
1631 { 4.5268398678911204e+93, 100, -0.90000000000000036, 0.0 },
1632 { 1.4120762149477404e+93, 100, -0.79999999999999893, 0.0 },
1633 { -3.4510765981144258e+93, 100, -0.69999999999999929, 0.0 },
1634 { -2.2242581581553176e+93, 100, -0.59999999999999964, 0.0 },
1635 { 2.4129827902061037e+93, 100, -0.50000000000000000, 0.0 },
1636 { 2.7195429139752020e+93, 100, -0.39999999999999858, 0.0 },
1637 { -1.4235309630837636e+93, 100, -0.29999999999999893, 0.0 },
1638 { -2.9850618739468043e+93, 100, -0.19999999999999929, 0.0 },
1639 { 4.7017027479251074e+92, 100, -0.099999999999999645, 0.0 },
1640 { 3.0685187562549660e+93, 100, 0.0000000000000000, 0.0 },
1641 { 4.7017027479243444e+92, 100, 0.10000000000000142, 0.0 },
1642 { -2.9850618739468293e+93, 100, 0.20000000000000107, 0.0 },
1643 { -1.4235309630836904e+93, 100, 0.30000000000000071, 0.0 },
1644 { 2.7195429139752497e+93, 100, 0.40000000000000036, 0.0 },
1645 { 2.4129827902061037e+93, 100, 0.50000000000000000, 0.0 },
1646 { -2.2242581581553936e+93, 100, 0.60000000000000142, 0.0 },
1647 { -3.4510765981143827e+93, 100, 0.70000000000000107, 0.0 },
1648 { 1.4120762149478435e+93, 100, 0.80000000000000071, 0.0 },
1649 { 4.5268398678911204e+93, 100, 0.90000000000000036, 0.0 },
1650 { -1.4487067293379347e+92, 100, 1.0000000000000000, 0.0 },
1651 { -5.5814393347236145e+93, 100, 1.1000000000000014, 0.0 },
1652 { -1.7820042440390210e+93, 100, 1.2000000000000011, 0.0 },
1653 { 6.4625437128323579e+93, 100, 1.3000000000000007, 0.0 },
1654 { 4.6555468819923166e+93, 100, 1.4000000000000004, 0.0 },
1655 { -6.8402151897169509e+93, 100, 1.5000000000000000, 0.0 },
1656 { -8.8496828346969644e+93, 100, 1.6000000000000014, 0.0 },
1657 { 6.0554070654774249e+93, 100, 1.7000000000000011, 0.0 },
1658 { 1.4787573463714363e+94, 100, 1.8000000000000007, 0.0 },
1659 { -2.8549527653152903e+93, 100, 1.9000000000000004, 0.0 },
1660 { -2.2785574311661325e+94, 100, 2.0000000000000000, 0.0 },
1661 { -5.0527155039780687e+93, 100, 2.1000000000000014, 0.0 },
1662 { 3.2602488340117204e+94, 100, 2.2000000000000011, 0.0 },
1663 { 2.1691501564685076e+94, 100, 2.3000000000000007, 0.0 },
1664 { -4.2303228932575769e+94, 100, 2.4000000000000004, 0.0 },
1665 { -5.3758761713337664e+94, 100, 2.5000000000000000, 0.0 },
1666 { 4.5607706742535083e+94, 100, 2.6000000000000014, 0.0 },
1667 { 1.1147132226581835e+95, 100, 2.7000000000000011, 0.0 },
1668 { -2.6058116248681564e+94, 100, 2.8000000000000007, 0.0 },
1669 { -2.0784160746797610e+95, 100, 2.9000000000000004, 0.0 },
1670 { -5.5084542871196523e+94, 100, 3.0000000000000000, 0.0 },
1671 { 3.5161870090564436e+95, 100, 3.1000000000000014, 0.0 },
1672 { 2.8212012454565588e+95, 100, 3.2000000000000011, 0.0 },
1673 { -5.2035951331058918e+95, 100, 3.3000000000000007, 0.0 },
1674 { -8.2433116644948570e+95, 100, 3.4000000000000004, 0.0 },
1675 { 5.7841213444838915e+95, 100, 3.5000000000000000, 0.0 },
1676 { 1.9852724296241191e+96, 100, 3.6000000000000014, 0.0 },
1677 { -5.5521768050576049e+94, 100, 3.7000000000000011, 0.0 },
1678 { -4.1993887070961795e+96, 100, 3.8000000000000007, 0.0 },
1679 { -2.3947326745293331e+96, 100, 3.9000000000000004, 0.0 },
1680 { 7.7070682747643550e+96, 100, 4.0000000000000000, 0.0 },
1681 { 1.0173847230741732e+97, 100, 4.1000000000000014, 0.0 },
1682 { -1.0988290456448056e+97, 100, 4.2000000000000011, 0.0 },
1683 { -3.0837503404959957e+97, 100, 4.3000000000000007, 0.0 },
1684 { 5.2136163919277588e+96, 100, 4.4000000000000004, 0.0 },
1685 { 7.8073853756187101e+97, 100, 4.5000000000000000, 0.0 },
1686 { 4.2440218943296749e+97, 100, 4.6000000000000014, 0.0 },
1687 { -1.6545238014143033e+98, 100, 4.7000000000000011, 0.0 },
1688 { -2.3193021196802549e+98, 100, 4.8000000000000007, 0.0 },
1689 { 2.5601172475776894e+98, 100, 4.9000000000000004, 0.0 },
1690 { 8.1931937130591466e+98, 100, 5.0000000000000000, 0.0 },
1691 { -4.0259235416636422e+97, 100, 5.1000000000000014, 0.0 },
1692 { -2.3096466887887553e+99, 100, 5.2000000000000011, 0.0 },
1693 { -1.8337906983005823e+99, 100, 5.3000000000000007, 0.0 },
1694 { 5.0935670879056567e+99, 100, 5.4000000000000004, 0.0 },
1695 { 9.9309186425970402e+99, 100, 5.5000000000000000, 0.0 },
1696 { -6.2933057672784165e+99, 100, 5.6000000000000014, 0.0 },
1697 { -3.6379102593330720e+100, 100, 5.7000000000000011, 0.0 },
1698 { -1.5140717605507249e+100, 100, 5.8000000000000007, 0.0 },
1699 { 1.0141407690966954e+101, 100, 5.9000000000000004, 0.0 },
1700 { 1.5170693933260738e+101, 100, 6.0000000000000000, 0.0 },
1701 { -1.8039133351602961e+101, 100, 6.1000000000000014, 0.0 },
1702 { -7.0672139150705246e+101, 100, 6.1999999999999993, 0.0 },
1703 { -1.4587350659144549e+101, 100, 6.3000000000000007, 0.0 },
1704 { 2.3341289432999758e+102, 100, 6.4000000000000021, 0.0 },
1705 { 3.2072472002047670e+102, 100, 6.5000000000000000, 0.0 },
1706 { -4.8039047085582927e+102, 100, 6.6000000000000014, 0.0 },
1707 { -1.7849709684883083e+103, 100, 6.6999999999999993, 0.0 },
1708 { -3.7817730019120996e+102, 100, 6.8000000000000007, 0.0 },
1709 { 6.4900499886059199e+103, 100, 6.9000000000000021, 0.0 },
1710 { 1.0002273523275075e+104, 100, 7.0000000000000000, 0.0 },
1711 { -1.2947583568693485e+104, 100, 7.1000000000000014, 0.0 },
1712 { -5.9348804074874565e+104, 100, 7.1999999999999993, 0.0 },
1713 { -2.9237691057264679e+104, 100, 7.3000000000000007, 0.0 },
1714 { 2.1375121759801080e+105, 100, 7.4000000000000021, 0.0 },
1715 { 4.4772364475394960e+105, 100, 7.5000000000000000, 0.0 },
1716 { -2.7486638813241244e+105, 100, 7.6000000000000014, 0.0 },
1717 { -2.4850432648123868e+106, 100, 7.6999999999999993, 0.0 },
1718 { -2.7252309851017070e+106, 100, 7.8000000000000007, 0.0 },
1719 { 7.3445622927440321e+106, 100, 7.9000000000000021, 0.0 },
1720 { 2.5761505535443451e+107, 100, 8.0000000000000000, 0.0 },
1721 { 8.4932594446944218e+106, 100, 8.1000000000000014, 0.0 },
1722 { -1.1534178973583771e+108, 100, 8.1999999999999993, 0.0 },
1723 { -2.5611278359589723e+108, 100, 8.3000000000000007, 0.0 },
1724 { 1.2481735250541195e+108, 100, 8.4000000000000021, 0.0 },
1725 { 1.6203702280499544e+109, 100, 8.5000000000000000, 0.0 },
1726 { 2.5386102824684747e+109, 100, 8.6000000000000014, 0.0 },
1727 { -3.8930624477368766e+109, 100, 8.6999999999999993, 0.0 },
1728 { -2.2669773300293168e+110, 100, 8.8000000000000007, 0.0 },
1729 { -2.6071876743327728e+110, 100, 8.9000000000000021, 0.0 },
1730 { 7.7294136683043515e+110, 100, 9.0000000000000000, 0.0 },
1731 { 3.3341330166544429e+111, 100, 9.1000000000000014, 0.0 },
1732 { 2.9686037583391038e+111, 100, 9.2000000000000028, 0.0 },
1733 { -1.3977488190034162e+112, 100, 9.3000000000000007, 0.0 },
1734 { -5.3374224541142660e+112, 100, 9.4000000000000021, 0.0 },
1735 { -4.2265051766934789e+112, 100, 9.5000000000000000, 0.0 },
1736 { 2.4904626130430740e+113, 100, 9.6000000000000014, 0.0 },
1737 { 9.4857435427573289e+113, 100, 9.7000000000000028, 0.0 },
1738 { 8.3761676654305186e+113, 100, 9.8000000000000007, 0.0 },
1739 { -4.4232904120312991e+114, 100, 9.9000000000000021, 0.0 },
1740 { -1.8738689223256612e+115, 100, 10.000000000000000, 0.0 },
1741 };
1742 const double toler008 = 2.5000000000000020e-13;
1743 // hermite
1744
1745 // Test data for n=8.
1746 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1747 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1748 // mean(f - f_GSL): 0.0000000000000000
1749 // variance(f - f_GSL): 0.0000000000000000
1750 // stddev(f - f_GSL): 0.0000000000000000
1751 const testcase_hermite<double>
1752 data009[9] =
1753 {
1754 { 5324432.0000000000, 8, 4.0000000000000000, 0.0 },
1755 { 279702672.00000000, 8, 6.0000000000000000, 0.0 },
1756 { 3409634960.0000000, 8, 8.0000000000000000, 0.0 },
1757 { 22149057680.000000, 8, 10.000000000000000, 0.0 },
1758 { 99650305680.000000, 8, 12.000000000000000, 0.0 },
1759 { 1040259450512.0000, 8, 16.000000000000000, 0.0 },
1760 { 6326369025680.0000, 8, 20.000000000000000, 0.0 },
1761 { 9944083966401680.0, 8, 50.000000000000000, 0.0 },
1762 { 2.5564173438656015e+18, 8, 100.00000000000000, 0.0 },
1763 };
1764 const double toler009 = 2.5000000000000020e-13;
1765
1766 // Test data for n=18.
1767 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1768 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1769 // mean(f - f_GSL): 0.0000000000000000
1770 // variance(f - f_GSL): 0.0000000000000000
1771 // stddev(f - f_GSL): 0.0000000000000000
1772 const testcase_hermite<double>
1773 data010[9] =
1774 {
1775 { 54268892282368.000, 18, 4.0000000000000000, 0.0 },
1776 { 1.3505976034605665e+18, 18, 6.0000000000000000, 0.0 },
1777 { 1.1719308290279925e+21, 18, 8.0000000000000000, 0.0 },
1778 { 1.1336099533194677e+23, 18, 10.000000000000000, 0.0 },
1779 { 3.9670688759298557e+24, 18, 12.000000000000000, 0.0 },
1780 { 9.0887304967960375e+26, 18, 16.000000000000000, 0.0 },
1781 { 5.6525959758874797e+28, 18, 20.000000000000000, 0.0 },
1782 { 9.6976497965812384e+35, 18, 50.000000000000000, 0.0 },
1783 { 2.6014460548774723e+41, 18, 100.00000000000000, 0.0 },
1784 };
1785 const double toler010 = 2.5000000000000020e-13;
1786
1787 // Test data for n=32.
1788 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1789 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1790 // mean(f - f_GSL): 0.0000000000000000
1791 // variance(f - f_GSL): 0.0000000000000000
1792 // stddev(f - f_GSL): 0.0000000000000000
1793 const testcase_hermite<double>
1794 data011[9] =
1795 {
1796 { 3.4488006171532706e+25, 32, 4.0000000000000000, 0.0 },
1797 { 8.6646829675369123e+29, 32, 6.0000000000000000, 0.0 },
1798 { 1.2445939522057109e+36, 32, 8.0000000000000000, 0.0 },
1799 { 2.1381589300683108e+40, 32, 10.000000000000000, 0.0 },
1800 { 2.0979395756455302e+43, 32, 12.000000000000000, 0.0 },
1801 { 5.2024646069361253e+47, 32, 16.000000000000000, 0.0 },
1802 { 9.6759233738497726e+50, 32, 20.000000000000000, 0.0 },
1803 { 9.0500820467530134e+63, 32, 50.000000000000000, 0.0 },
1804 { 4.1896031916819710e+73, 32, 100.00000000000000, 0.0 },
1805 };
1806 const double toler011 = 2.5000000000000020e-13;
1807
1808 // Test data for n=50.
1809 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1810 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1811 // mean(f - f_GSL): 0.0000000000000000
1812 // variance(f - f_GSL): 0.0000000000000000
1813 // stddev(f - f_GSL): 0.0000000000000000
1814 const testcase_hermite<double>
1815 data012[9] =
1816 {
1817 { -9.5599640670553907e+41, 50, 4.0000000000000000, 0.0 },
1818 { -1.4355266959903589e+47, 50, 6.0000000000000000, 0.0 },
1819 { 2.9492797132685063e+52, 50, 8.0000000000000000, 0.0 },
1820 { 1.3516643049819314e+61, 50, 10.000000000000000, 0.0 },
1821 { 5.1746552169783233e+66, 50, 12.000000000000000, 0.0 },
1822 { 1.2608506104917666e+74, 50, 16.000000000000000, 0.0 },
1823 { 2.4719364545684313e+79, 50, 20.000000000000000, 0.0 },
1824 { 7.8081628444405771e+99, 50, 50.000000000000000, 0.0 },
1825 { 1.0588500951956526e+115, 50, 100.00000000000000, 0.0 },
1826 };
1827 const double toler012 = 2.5000000000000020e-13;
1828
1829 // Test data for n=72.
1830 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1831 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1832 // mean(f - f_GSL): 0.0000000000000000
1833 // variance(f - f_GSL): 0.0000000000000000
1834 // stddev(f - f_GSL): 0.0000000000000000
1835 const testcase_hermite<double>
1836 data013[9] =
1837 {
1838 { -5.0016344249093296e+65, 72, 4.0000000000000000, 0.0 },
1839 { 1.1604343420664594e+70, 72, 6.0000000000000000, 0.0 },
1840 { 1.1307673578364519e+76, 72, 8.0000000000000000, 0.0 },
1841 { -6.9227458950910379e+83, 72, 10.000000000000000, 0.0 },
1842 { 4.2761121656851757e+93, 72, 12.000000000000000, 0.0 },
1843 { 6.4057452391049260e+105, 72, 16.000000000000000, 0.0 },
1844 { 6.5532144335168848e+113, 72, 20.000000000000000, 0.0 },
1845 { 5.9536449994832570e+143, 72, 50.000000000000000, 0.0 },
1846 { 4.1539384208364770e+165, 72, 100.00000000000000, 0.0 },
1847 };
1848 const double toler013 = 2.5000000000000020e-13;
1849
1850 // Test data for n=128.
1851 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1852 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1853 // mean(f - f_GSL): 0.0000000000000000
1854 // variance(f - f_GSL): 0.0000000000000000
1855 // stddev(f - f_GSL): 0.0000000000000000
1856 const testcase_hermite<double>
1857 data014[9] =
1858 {
1859 { 7.4843015969363893e+129, 128, 4.0000000000000000, 0.0 },
1860 { 1.9427207779012687e+134, 128, 6.0000000000000000, 0.0 },
1861 { -2.5332076374233721e+140, 128, 8.0000000000000000, 0.0 },
1862 { -3.6481920485874574e+146, 128, 10.000000000000000, 0.0 },
1863 { -6.6019131304361279e+157, 128, 12.000000000000000, 0.0 },
1864 { 1.7909969314519483e+182, 128, 16.000000000000000, 0.0 },
1865 { 4.6773285529590986e+199, 128, 20.000000000000000, 0.0 },
1866 { 1.8851953794407319e+255, 128, 50.000000000000000, 0.0 },
1867 { 2.2605490449873036e+294, 128, 100.00000000000000, 0.0 },
1868 };
1869 const double toler014 = 2.5000000000000020e-13;
1870
1871 // Divergence at n=200 x=50.000000000000000 f=-nan f_GSL=inf
1872 // Divergence at n=200 x=100.00000000000000 f=-nan f_GSL=inf
1873 // Divergence at n=200 x=100.00000000000000 f=-nan f_GSL=inf
1874 // Test data for n=200.
1875 // max(|f - f_GSL|): 0.0000000000000000 at index 0
1876 // max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
1877 // mean(f - f_GSL): 0.0000000000000000
1878 // variance(f - f_GSL): 0.0000000000000000
1879 // stddev(f - f_GSL): 0.0000000000000000
1880 const testcase_hermite<double>
1881 data015[7] =
1882 {
1883 { -1.3224398396684072e+220, 200, 4.0000000000000000, 0.0 },
1884 { 2.8108557561597729e+224, 200, 6.0000000000000000, 0.0 },
1885 { 2.2034127668580903e+230, 200, 8.0000000000000000, 0.0 },
1886 { -4.7005387186273384e+238, 200, 10.000000000000000, 0.0 },
1887 { 6.8125674650192333e+247, 200, 12.000000000000000, 0.0 },
1888 { 2.8932855639383936e+272, 200, 16.000000000000000, 0.0 },
1889 { 9.8757526545830183e+303, 200, 20.000000000000000, 0.0 },
1890 };
1891 const double toler015 = 2.5000000000000020e-13;
1892
1893 // Divergence at n=1250 x=4.0000000000000000 f=-nan f_GSL=-inf
1894 // Divergence at n=1250 x=6.0000000000000000 f=-nan f_GSL=inf
1895 // Divergence at n=1250 x=8.0000000000000000 f=-nan f_GSL=inf
1896 // ...
1897 // Divergence at n=1250 x=100.00000000000000 f=-nan f_GSL=inf
1898 // Divergence at n=5000 x=4.0000000000000000 f=-nan f_GSL=-inf
1899 // Divergence at n=5000 x=6.0000000000000000 f=-nan f_GSL=-inf
1900 // Divergence at n=5000 x=8.0000000000000000 f=-nan f_GSL=inf
1901 // ...
1902 // Divergence at n=5000 x=100.00000000000000 f=-nan f_GSL=inf
1903 template<typename Ret, unsigned int Num>
1904 void
1905 test(const testcase_hermite<Ret> (&data)[Num], Ret toler)
1906 {
1907 bool test __attribute__((unused)) = true;
1908 const Ret eps = std::numeric_limits<Ret>::epsilon();
1909 Ret max_abs_diff = -Ret(1);
1910 Ret max_abs_frac = -Ret(1);
1911 unsigned int num_datum = Num;
1912 for (unsigned int i = 0; i < num_datum; ++i)
1913 {
1914 const Ret f = std::tr1::hermite(data[i].n, data[i].x);
1915 const Ret f0 = data[i].f0;
1916 const Ret diff = f - f0;
1917 if (std::abs(diff) > max_abs_diff)
1918 max_abs_diff = std::abs(diff);
1919 if (std::abs(f0) > Ret(10) * eps
1920 && std::abs(f) > Ret(10) * eps)
1921 {
1922 const Ret frac = diff / f0;
1923 if (std::abs(frac) > max_abs_frac)
1924 max_abs_frac = std::abs(frac);
1925 }
1926 }
1927 VERIFY(max_abs_frac < toler);
1928 }
1929
1930 int
1931 main()
1932 {
1933 test(data001, toler001);
1934 test(data002, toler002);
1935 test(data003, toler003);
1936 test(data004, toler004);
1937 test(data005, toler005);
1938 test(data006, toler006);
1939 test(data007, toler007);
1940 test(data008, toler008);
1941 test(data009, toler009);
1942 test(data010, toler010);
1943 test(data011, toler011);
1944 test(data012, toler012);
1945 test(data013, toler013);
1946 test(data014, toler014);
1947 test(data015, toler015);
1948 return 0;
1949 }