]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/tr1/test/test_cmath.cpp
1 // (C) Copyright John Maddock 2008.
2 // Use, modification and distribution are subject to the
3 // Boost Software License, Version 1.0. (See accompanying file
4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 // These are the headers included by the Boost.TR1 implementation,
7 // by including these directly we probe for problems with cyclic
8 // dependencies when the TR1 headers are in the include search path.
10 #ifdef TEST_STD_HEADERS
13 #include <boost/tr1/cmath.hpp>
16 #include "verify_return.hpp"
18 int main(int argc
, const char* [])
29 const char* nan_str
= "";
30 #ifdef BOOST_HAS_LONG_LONG
33 verify_return_type((std::tr1::acosh
)(d
), d
);
34 verify_return_type((std::tr1::acosh
)(f
), f
);
35 verify_return_type((std::tr1::acosh
)(ld
), ld
);
36 verify_return_type((std::tr1::acoshf
)(f
), f
);
37 verify_return_type((std::tr1::acoshl
)(ld
), ld
);
38 verify_return_type((std::tr1::asinh
)(d
), d
);
39 verify_return_type((std::tr1::asinh
)(f
), f
);
40 verify_return_type((std::tr1::asinh
)(ld
), ld
);
41 verify_return_type((std::tr1::asinhf
)(f
), f
);
42 verify_return_type((std::tr1::asinhl
)(ld
), ld
);
43 verify_return_type((std::tr1::atanh
)(d
), d
);
44 verify_return_type((std::tr1::atanh
)(f
), f
);
45 verify_return_type((std::tr1::atanh
)(ld
), ld
);
46 verify_return_type((std::tr1::atanhf
)(f
), f
);
47 verify_return_type((std::tr1::atanhl
)(ld
), ld
);
48 verify_return_type((std::tr1::cbrt
)(d
), d
);
49 verify_return_type((std::tr1::cbrt
)(f
), f
);
50 verify_return_type((std::tr1::cbrt
)(ld
), ld
);
51 verify_return_type((std::tr1::cbrtf
)(f
), f
);
52 verify_return_type((std::tr1::cbrtl
)(ld
), ld
);
53 verify_return_type((std::tr1::copysign
)(d
, d
), d
);
54 verify_return_type((std::tr1::copysign
)(f
, f
), f
);
55 verify_return_type((std::tr1::copysign
)(ld
, ld
), ld
);
56 verify_return_type((std::tr1::copysignf
)(f
, f
), f
);
57 verify_return_type((std::tr1::copysignl
)(ld
, ld
), ld
);
58 verify_return_type((std::tr1::erf
)(d
), d
);
59 verify_return_type((std::tr1::erf
)(f
), f
);
60 verify_return_type((std::tr1::erf
)(ld
), ld
);
61 verify_return_type((std::tr1::erff
)(f
), f
);
62 verify_return_type((std::tr1::erfl
)(ld
), ld
);
63 verify_return_type((std::tr1::erfc
)(d
), d
);
64 verify_return_type((std::tr1::erfc
)(f
), f
);
65 verify_return_type((std::tr1::erfc
)(ld
), ld
);
66 verify_return_type((std::tr1::erfcf
)(f
), f
);
67 verify_return_type((std::tr1::erfcl
)(ld
), ld
);
69 verify_return_type((std::tr1::exp2
)(d
), d
);
70 verify_return_type((std::tr1::exp2
)(f
), f
);
71 verify_return_type((std::tr1::exp2
)(ld
), ld
);
72 verify_return_type((std::tr1::exp2f
)(f
), f
);
73 verify_return_type((std::tr1::exp2l
)(ld
), ld
);
75 verify_return_type((std::tr1::expm1
)(d
), d
);
76 verify_return_type((std::tr1::expm1
)(f
), f
);
77 verify_return_type((std::tr1::expm1
)(ld
), ld
);
78 verify_return_type((std::tr1::expm1f
)(f
), f
);
79 verify_return_type((std::tr1::expm1l
)(ld
), ld
);
81 verify_return_type((std::tr1::fdim
)(d
, d
), d
);
82 verify_return_type((std::tr1::fdim
)(f
, f
), f
);
83 verify_return_type((std::tr1::fdim
)(ld
, ld
), ld
);
84 verify_return_type((std::tr1::fdimf
)(f
, f
), f
);
85 verify_return_type((std::tr1::fdiml
)(ld
, ld
), ld
);
86 verify_return_type((std::tr1::fma
)(d
, d
, d
), d
);
87 verify_return_type((std::tr1::fma
)(f
, f
, f
), f
);
88 verify_return_type((std::tr1::fma
)(ld
, ld
, ld
), ld
);
89 verify_return_type((std::tr1::fmaf
)(f
, f
, f
), f
);
90 verify_return_type((std::tr1::fmal
)(ld
, ld
, ld
), ld
);
92 verify_return_type((std::tr1::fmax
)(d
, d
), d
);
93 verify_return_type((std::tr1::fmax
)(f
, f
), f
);
94 verify_return_type((std::tr1::fmax
)(ld
, ld
), ld
);
95 verify_return_type((std::tr1::fmaxf
)(f
, f
), f
);
96 verify_return_type((std::tr1::fmaxl
)(ld
, ld
), ld
);
97 verify_return_type((std::tr1::fmin
)(d
, d
), d
);
98 verify_return_type((std::tr1::fmin
)(f
, f
), f
);
99 verify_return_type((std::tr1::fmin
)(ld
, ld
), ld
);
100 verify_return_type((std::tr1::fminf
)(f
, f
), f
);
101 verify_return_type((std::tr1::fminl
)(ld
, ld
), ld
);
102 verify_return_type((std::tr1::hypot
)(d
, d
), d
);
103 verify_return_type((std::tr1::hypot
)(f
, f
), f
);
104 verify_return_type((std::tr1::hypot
)(ld
, ld
), ld
);
105 verify_return_type((std::tr1::hypotf
)(f
, f
), f
);
106 verify_return_type((std::tr1::hypotl
)(ld
, ld
), ld
);
108 verify_return_type((std::tr1::ilogb
)(d
), d
);
109 verify_return_type((std::tr1::ilogb
)(f
), f
);
110 verify_return_type((std::tr1::ilogb
)(ld
), ld
);
111 verify_return_type((std::tr1::ilogbf
)(f
), f
);
112 verify_return_type((std::tr1::ilogbl
)(ld
), ld
);
114 verify_return_type((std::tr1::lgamma
)(d
), d
);
115 verify_return_type((std::tr1::lgamma
)(f
), f
);
116 verify_return_type((std::tr1::lgamma
)(ld
), ld
);
117 verify_return_type((std::tr1::lgammaf
)(f
), f
);
118 verify_return_type((std::tr1::lgammal
)(ld
), ld
);
120 verify_return_type((std::tr1::llrint
)(d
), d
);
121 verify_return_type((std::tr1::llrint
)(f
), f
);
122 verify_return_type((std::tr1::llrint
)(ld
), ld
);
123 verify_return_type((std::tr1::llrintf
)(f
), f
);
124 verify_return_type((std::tr1::llrintl
)(ld
), ld
);
126 #ifdef BOOST_HAS_LONG_LONG
127 verify_return_type((std::tr1::llround
)(d
), lli
);
128 verify_return_type((std::tr1::llround
)(f
), lli
);
129 verify_return_type((std::tr1::llround
)(ld
), lli
);
130 verify_return_type((std::tr1::llroundf
)(f
), lli
);
131 verify_return_type((std::tr1::llroundl
)(ld
), lli
);
133 verify_return_type((std::tr1::log1p
)(d
), d
);
134 verify_return_type((std::tr1::log1p
)(f
), f
);
135 verify_return_type((std::tr1::log1p
)(ld
), ld
);
136 verify_return_type((std::tr1::log1pf
)(f
), f
);
137 verify_return_type((std::tr1::log1pl
)(ld
), ld
);
139 verify_return_type((std::tr1::log2
)(d
), d
);
140 verify_return_type((std::tr1::log2
)(f
), f
);
141 verify_return_type((std::tr1::log2
)(ld
), ld
);
142 verify_return_type((std::tr1::log2f
)(f
), f
);
143 verify_return_type((std::tr1::log2l
)(ld
), ld
);
144 verify_return_type((std::tr1::logb
)(d
), d
);
145 verify_return_type((std::tr1::logb
)(f
), f
);
146 verify_return_type((std::tr1::logb
)(ld
), ld
);
147 verify_return_type((std::tr1::logbf
)(f
), f
);
148 verify_return_type((std::tr1::logbl
)(ld
), ld
);
149 verify_return_type((std::tr1::lrint
)(d
), d
);
150 verify_return_type((std::tr1::lrint
)(f
), f
);
151 verify_return_type((std::tr1::lrint
)(ld
), ld
);
152 verify_return_type((std::tr1::lrintf
)(f
), f
);
153 verify_return_type((std::tr1::lrintl
)(ld
), ld
);
155 verify_return_type((std::tr1::lround
)(d
), li
);
156 verify_return_type((std::tr1::lround
)(f
), li
);
157 verify_return_type((std::tr1::lround
)(ld
), li
);
158 verify_return_type((std::tr1::lroundf
)(f
), li
);
159 verify_return_type((std::tr1::lroundl
)(ld
), li
);
161 verify_return_type((std::tr1::nan
)(nan_str
), d
);
162 verify_return_type((std::tr1::nanf
)(nan_str
), f
);
163 verify_return_type((std::tr1::nanl
)(nan_str
), ld
);
164 verify_return_type((std::tr1::nearbyint
)(d
), d
);
165 verify_return_type((std::tr1::nearbyint
)(f
), f
);
166 verify_return_type((std::tr1::nearbyint
)(ld
), ld
);
167 verify_return_type((std::tr1::nearbyintf
)(f
), f
);
168 verify_return_type((std::tr1::nearbyintl
)(ld
), ld
);
170 verify_return_type((std::tr1::nextafter
)(d
, d
), d
);
171 verify_return_type((std::tr1::nextafter
)(f
, f
), f
);
172 verify_return_type((std::tr1::nextafter
)(ld
, ld
), ld
);
173 verify_return_type((std::tr1::nextafterf
)(f
, f
), f
);
174 verify_return_type((std::tr1::nextafterl
)(ld
, ld
), ld
);
175 verify_return_type((std::tr1::nexttoward
)(d
, d
), d
);
176 verify_return_type((std::tr1::nexttoward
)(f
, f
), f
);
177 verify_return_type((std::tr1::nexttoward
)(ld
, ld
), ld
);
178 verify_return_type((std::tr1::nexttoward
)(f
, ld
), ld
);
179 verify_return_type((std::tr1::nexttoward
)(f
, d
), d
);
180 verify_return_type((std::tr1::nexttowardf
)(f
, ld
), f
);
181 verify_return_type((std::tr1::nexttowardl
)(ld
, ld
), ld
);
183 verify_return_type((std::tr1::remainder
)(d
, d
), d
);
184 verify_return_type((std::tr1::remainder
)(f
, f
), f
);
185 verify_return_type((std::tr1::remainder
)(ld
, ld
), ld
);
186 verify_return_type((std::tr1::remainderf
)(f
, f
), f
);
187 verify_return_type((std::tr1::remainderl
)(ld
, ld
), ld
);
188 verify_return_type((std::tr1::remquo
)(d
, d
, &i
), d
);
189 verify_return_type((std::tr1::remquo
)(f
, f
, &i
), f
);
190 verify_return_type((std::tr1::remquo
)(ld
, ld
, &i
), ld
);
191 verify_return_type((std::tr1::remquof
)(f
, f
, &i
), f
);
192 verify_return_type((std::tr1::remquol
)(ld
, ld
, &i
), ld
);
193 verify_return_type((std::tr1::rint
)(d
), d
);
194 verify_return_type((std::tr1::rint
)(f
), f
);
195 verify_return_type((std::tr1::rint
)(ld
), ld
);
196 verify_return_type((std::tr1::rintf
)(f
), f
);
197 verify_return_type((std::tr1::rintl
)(ld
), ld
);
199 verify_return_type((std::tr1::round
)(d
), d
);
200 verify_return_type((std::tr1::round
)(f
), f
);
201 verify_return_type((std::tr1::round
)(ld
), ld
);
202 verify_return_type((std::tr1::roundf
)(f
), f
);
203 verify_return_type((std::tr1::roundl
)(ld
), ld
);
205 verify_return_type((std::tr1::scalbln
)(d
, li
), d
);
206 verify_return_type((std::tr1::scalbln
)(f
, li
), f
);
207 verify_return_type((std::tr1::scalbln
)(ld
, li
), ld
);
208 verify_return_type((std::tr1::scalblnf
)(f
, li
), f
);
209 verify_return_type((std::tr1::scalblnl
)(ld
, li
), ld
);
210 verify_return_type((std::tr1::scalbn
)(d
, i
), d
);
211 verify_return_type((std::tr1::scalbn
)(f
, i
), f
);
212 verify_return_type((std::tr1::scalbn
)(ld
, i
), ld
);
213 verify_return_type((std::tr1::scalbnf
)(f
, i
), f
);
214 verify_return_type((std::tr1::scalbnl
)(ld
, i
), ld
);
216 verify_return_type((std::tr1::tgamma
)(d
), d
);
217 verify_return_type((std::tr1::tgamma
)(f
), f
);
218 verify_return_type((std::tr1::tgamma
)(ld
), ld
);
219 verify_return_type((std::tr1::tgammaf
)(f
), f
);
220 verify_return_type((std::tr1::tgammal
)(ld
), ld
);
221 verify_return_type((std::tr1::trunc
)(d
), d
);
222 verify_return_type((std::tr1::trunc
)(f
), f
);
223 verify_return_type((std::tr1::trunc
)(ld
), ld
);
224 verify_return_type((std::tr1::truncf
)(f
), f
);
225 verify_return_type((std::tr1::truncl
)(ld
), ld
);
226 verify_return_type((std::tr1::signbit
)(d
), b
);
227 verify_return_type((std::tr1::signbit
)(f
), b
);
228 verify_return_type((std::tr1::signbit
)(ld
), b
);
229 verify_return_type((std::tr1::fpclassify
)(d
), i
);
230 verify_return_type((std::tr1::fpclassify
)(f
), i
);
231 verify_return_type((std::tr1::fpclassify
)(ld
), i
);
232 verify_return_type((std::tr1::isfinite
)(d
), b
);
233 verify_return_type((std::tr1::isfinite
)(f
), b
);
234 verify_return_type((std::tr1::isfinite
)(ld
), b
);
235 verify_return_type((std::tr1::isinf
)(d
), b
);
236 verify_return_type((std::tr1::isinf
)(f
), b
);
237 verify_return_type((std::tr1::isinf
)(ld
), b
);
238 verify_return_type((std::tr1::isnan
)(d
), b
);
239 verify_return_type((std::tr1::isnan
)(f
), b
);
240 verify_return_type((std::tr1::isnan
)(ld
), b
);
241 verify_return_type((std::tr1::isnormal
)(d
), b
);
242 verify_return_type((std::tr1::isnormal
)(f
), b
);
243 verify_return_type((std::tr1::isnormal
)(ld
), b
);
245 verify_return_type((std::tr1::isgreater
)(d
, d
), b
);
246 verify_return_type((std::tr1::isgreater
)(f
, f
), b
);
247 verify_return_type((std::tr1::isgreater
)(ld
, ld
), b
);
248 verify_return_type((std::tr1::isgreaterequal
)(d
, d
), b
);
249 verify_return_type((std::tr1::isgreaterequal
)(f
, f
), b
);
250 verify_return_type((std::tr1::isgreaterequal
)(ld
, ld
), b
);
251 verify_return_type((std::tr1::isless
)(d
, d
), b
);
252 verify_return_type((std::tr1::isless
)(f
, f
), b
);
253 verify_return_type((std::tr1::isless
)(ld
, ld
), b
);
254 verify_return_type((std::tr1::islessequal
)(d
, d
), b
);
255 verify_return_type((std::tr1::islessequal
)(f
, f
), b
);
256 verify_return_type((std::tr1::islessequal
)(ld
, ld
), b
);
257 verify_return_type((std::tr1::islessgreater
)(d
, d
), b
);
258 verify_return_type((std::tr1::islessgreater
)(f
, f
), b
);
259 verify_return_type((std::tr1::islessgreater
)(ld
, ld
), b
);
260 verify_return_type((std::tr1::isunordered
)(d
, d
), b
);
261 verify_return_type((std::tr1::isunordered
)(f
, f
), b
);
262 verify_return_type((std::tr1::isunordered
)(ld
, ld
), b
);
265 // [5.2.1.1] associated Laguerre polynomials:
266 verify_return_type((std::tr1::assoc_laguerre
)(ui
, ui
, d
), d
);
267 verify_return_type((std::tr1::assoc_laguerre
)(ui
, ui
, f
), f
);
268 verify_return_type((std::tr1::assoc_laguerre
)(ui
, ui
, ld
), ld
);
269 verify_return_type((std::tr1::assoc_laguerref
)(ui
, ui
, f
), f
);
270 verify_return_type((std::tr1::assoc_laguerrel
)(ui
, ui
, ld
), ld
);
271 // [5.2.1.2] associated Legendre functions:
272 verify_return_type((std::tr1::assoc_legendre
)(ui
, ui
, d
), d
);
273 verify_return_type((std::tr1::assoc_legendre
)(ui
, ui
, f
), f
);
274 verify_return_type((std::tr1::assoc_legendre
)(ui
, ui
, ld
), ld
);
275 verify_return_type((std::tr1::assoc_legendref
)(ui
, ui
, f
), f
);
276 verify_return_type((std::tr1::assoc_legendrel
)(ui
, ui
, ld
), ld
);
277 // [5.2.1.3] beta function:
278 verify_return_type((std::tr1::beta
)(d
, d
), d
);
279 verify_return_type((std::tr1::beta
)(f
, f
), f
);
280 verify_return_type((std::tr1::beta
)(ld
, ld
), ld
);
281 verify_return_type((std::tr1::betaf
)(f
, f
), f
);
282 verify_return_type((std::tr1::betal
)(ld
, ld
), ld
);
283 // [5.2.1.4] (complete) elliptic integral of the first kind:
284 verify_return_type((std::tr1::comp_ellint_1
)(d
), d
);
285 verify_return_type((std::tr1::comp_ellint_1
)(f
), f
);
286 verify_return_type((std::tr1::comp_ellint_1
)(ld
), ld
);
287 verify_return_type((std::tr1::comp_ellint_1f
)(f
), f
);
288 verify_return_type((std::tr1::comp_ellint_1l
)(ld
), ld
);
289 // [5.2.1.5] (complete) elliptic integral of the second kind:
290 verify_return_type((std::tr1::comp_ellint_2
)(d
), d
);
291 verify_return_type((std::tr1::comp_ellint_2
)(f
), f
);
292 verify_return_type((std::tr1::comp_ellint_2
)(ld
), ld
);
293 verify_return_type((std::tr1::comp_ellint_2f
)(f
), f
);
294 verify_return_type((std::tr1::comp_ellint_2l
)(ld
), ld
);
295 // [5.2.1.6] (complete) elliptic integral of the third kind:
296 verify_return_type((std::tr1::comp_ellint_3
)(d
, d
), d
);
297 verify_return_type((std::tr1::comp_ellint_3
)(f
, f
), f
);
298 verify_return_type((std::tr1::comp_ellint_3
)(ld
, ld
), ld
);
299 verify_return_type((std::tr1::comp_ellint_3f
)(f
, f
), f
);
300 verify_return_type((std::tr1::comp_ellint_3l
)(ld
, ld
), ld
);
302 // [5.2.1.7] confluent hypergeometric functions:
303 verify_return_type((std::tr1::conf_hyperg
)(d
, d
, d
), d
);
304 verify_return_type((std::tr1::conf_hyperg
)(f
, f
, f
), f
);
305 verify_return_type((std::tr1::conf_hyperg
)(ld
, ld
, ld
), ld
);
306 verify_return_type((std::tr1::conf_hypergf
)(f
, f
, f
), f
);
307 verify_return_type((std::tr1::conf_hypergl
)(ld
, ld
, ld
), ld
);
309 // [5.2.1.8] regular modified cylindrical Bessel functions:
310 verify_return_type((std::tr1::cyl_bessel_i
)(d
, d
), d
);
311 verify_return_type((std::tr1::cyl_bessel_i
)(f
, f
), f
);
312 verify_return_type((std::tr1::cyl_bessel_i
)(ld
, ld
), ld
);
313 verify_return_type((std::tr1::cyl_bessel_if
)(f
, f
), f
);
314 verify_return_type((std::tr1::cyl_bessel_il
)(ld
, ld
), ld
);
315 // [5.2.1.9] cylindrical Bessel functions (of the first kind):
316 verify_return_type((std::tr1::cyl_bessel_j
)(d
, d
), d
);
317 verify_return_type((std::tr1::cyl_bessel_j
)(f
, f
), f
);
318 verify_return_type((std::tr1::cyl_bessel_j
)(ld
, ld
), ld
);
319 verify_return_type((std::tr1::cyl_bessel_jf
)(f
, f
), f
);
320 verify_return_type((std::tr1::cyl_bessel_jl
)(ld
, ld
), ld
);
321 // [5.2.1.10] irregular modified cylindrical Bessel functions:
322 verify_return_type((std::tr1::cyl_bessel_k
)(d
, d
), d
);
323 verify_return_type((std::tr1::cyl_bessel_k
)(f
, f
), f
);
324 verify_return_type((std::tr1::cyl_bessel_k
)(ld
, ld
), ld
);
325 verify_return_type((std::tr1::cyl_bessel_kf
)(f
, f
), f
);
326 verify_return_type((std::tr1::cyl_bessel_kl
)(ld
, ld
), ld
);
327 // [5.2.1.11] cylindrical Neumann functions;
328 // cylindrical Bessel functions (of the second kind):
329 verify_return_type((std::tr1::cyl_neumann
)(d
, d
), d
);
330 verify_return_type((std::tr1::cyl_neumann
)(f
, f
), f
);
331 verify_return_type((std::tr1::cyl_neumann
)(ld
, ld
), ld
);
332 verify_return_type((std::tr1::cyl_neumannf
)(f
, f
), f
);
333 verify_return_type((std::tr1::cyl_neumannl
)(ld
, ld
), ld
);
334 // [5.2.1.12] (incomplete) elliptic integral of the first kind:
335 verify_return_type((std::tr1::ellint_1
)(d
, d
), d
);
336 verify_return_type((std::tr1::ellint_1
)(f
, f
), f
);
337 verify_return_type((std::tr1::ellint_1
)(ld
, ld
), ld
);
338 verify_return_type((std::tr1::ellint_1f
)(f
, f
), f
);
339 verify_return_type((std::tr1::ellint_1l
)(ld
, ld
), ld
);
340 // [5.2.1.13] (incomplete) elliptic integral of the second kind:
341 verify_return_type((std::tr1::ellint_2
)(d
, d
), d
);
342 verify_return_type((std::tr1::ellint_2
)(f
, f
), f
);
343 verify_return_type((std::tr1::ellint_2
)(ld
, ld
), ld
);
344 verify_return_type((std::tr1::ellint_2f
)(f
, f
), f
);
345 verify_return_type((std::tr1::ellint_2l
)(ld
, ld
), ld
);
346 // [5.2.1.14] (incomplete) elliptic integral of the third kind:
347 verify_return_type((std::tr1::ellint_3
)(d
, d
, d
), d
);
348 verify_return_type((std::tr1::ellint_3
)(f
, f
, f
), f
);
349 verify_return_type((std::tr1::ellint_3
)(ld
, ld
, ld
), ld
);
350 verify_return_type((std::tr1::ellint_3f
)(f
, f
, f
), f
);
351 verify_return_type((std::tr1::ellint_3l
)(ld
, ld
, ld
), ld
);
352 // [5.2.1.15] exponential integral:
353 verify_return_type((std::tr1::expint
)(d
), d
);
354 verify_return_type((std::tr1::expint
)(f
), f
);
355 verify_return_type((std::tr1::expint
)(ld
), ld
);
356 verify_return_type((std::tr1::expintf
)(f
), f
);
357 verify_return_type((std::tr1::expintl
)(ld
), ld
);
358 // [5.2.1.16] Hermite polynomials:
359 verify_return_type((std::tr1::hermite
)(ui
, d
), d
);
360 verify_return_type((std::tr1::hermite
)(ui
, f
), f
);
361 verify_return_type((std::tr1::hermite
)(ui
, ld
), ld
);
362 verify_return_type((std::tr1::hermitef
)(ui
, f
), f
);
363 verify_return_type((std::tr1::hermitel
)(ui
, ld
), ld
);
364 // [5.2.1.17] hypergeometric functions:
366 verify_return_type((std::tr1::hyperg
)(d
, d
, d
, d
), d
);
367 verify_return_type((std::tr1::hyperg
)(f
, f
, f
, f
), f
);
368 verify_return_type((std::tr1::hyperg
)(ld
, ld
, ld
, ld
), ld
);
369 verify_return_type((std::tr1::hypergf
)(f
, f
, f
, f
), f
);
370 verify_return_type((std::tr1::hypergl
)(ld
, ld
, ld
, ld
), ld
);
372 // [5.2.1.18] Laguerre polynomials:
373 verify_return_type((std::tr1::laguerre
)(ui
, d
), d
);
374 verify_return_type((std::tr1::laguerre
)(ui
, f
), f
);
375 verify_return_type((std::tr1::laguerre
)(ui
, ld
), ld
);
376 verify_return_type((std::tr1::laguerref
)(ui
, f
), f
);
377 verify_return_type((std::tr1::laguerrel
)(ui
, ld
), ld
);
378 // [5.2.1.19] Legendre polynomials:
379 verify_return_type((std::tr1::legendre
)(ui
, d
), d
);
380 verify_return_type((std::tr1::legendre
)(ui
, f
), f
);
381 verify_return_type((std::tr1::legendre
)(ui
, ld
), ld
);
382 verify_return_type((std::tr1::legendref
)(ui
, f
), f
);
383 verify_return_type((std::tr1::legendrel
)(ui
, ld
), ld
);
384 // [5.2.1.20] Riemann zeta function:
385 verify_return_type((std::tr1::riemann_zeta
)(d
), d
);
386 verify_return_type((std::tr1::riemann_zeta
)(f
), f
);
387 verify_return_type((std::tr1::riemann_zeta
)(ld
), ld
);
388 verify_return_type((std::tr1::riemann_zetaf
)(f
), f
);
389 verify_return_type((std::tr1::riemann_zetal
)(ld
), ld
);
390 // [5.2.1.21] spherical Bessel functions (of the first kind):
391 verify_return_type((std::tr1::sph_bessel
)(ui
, d
), d
);
392 verify_return_type((std::tr1::sph_bessel
)(ui
, f
), f
);
393 verify_return_type((std::tr1::sph_bessel
)(ui
, ld
), ld
);
394 verify_return_type((std::tr1::sph_besself
)(ui
, f
), f
);
395 verify_return_type((std::tr1::sph_bessell
)(ui
, ld
), ld
);
396 // [5.2.1.22] spherical associated Legendre functions:
397 verify_return_type((std::tr1::sph_legendre
)(ui
, ui
, d
), d
);
398 verify_return_type((std::tr1::sph_legendre
)(ui
, ui
, f
), f
);
399 verify_return_type((std::tr1::sph_legendre
)(ui
, ui
, ld
), ld
);
400 verify_return_type((std::tr1::sph_legendref
)(ui
, ui
, f
), f
);
401 verify_return_type((std::tr1::sph_legendrel
)(ui
, ui
, ld
), ld
);
402 // [5.2.1.23] spherical Neumann functions;
403 // spherical Bessel functions (of the second kind):
404 verify_return_type((std::tr1::sph_neumann
)(ui
, d
), d
);
405 verify_return_type((std::tr1::sph_neumann
)(ui
, f
), f
);
406 verify_return_type((std::tr1::sph_neumann
)(ui
, ld
), ld
);
407 verify_return_type((std::tr1::sph_neumannf
)(ui
, f
), f
);
408 verify_return_type((std::tr1::sph_neumannl
)(ui
, ld
), ld
);