]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Copyright John Maddock 2006. |
2 | // Copyright Paul A. Bristow 2007, 2010. | |
3 | // Use, modification and distribution are subject to the | |
4 | // Boost Software License, Version 1.0. (See accompanying file | |
5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
6 | ||
7 | #ifndef BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP | |
8 | #define BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP | |
9 | ||
10 | #ifndef BOOST_MATH_ASSERT_UNDEFINED_POLICY | |
11 | # define BOOST_MATH_ASSERT_UNDEFINED_POLICY false | |
12 | #endif | |
13 | ||
1e59de90 TL |
14 | #include <boost/math/tools/config.hpp> |
15 | ||
16 | #ifndef BOOST_MATH_NO_DISTRIBUTION_CONCEPT_TESTS | |
17 | ||
7c673cae FG |
18 | #include <boost/math/distributions.hpp> |
19 | ||
20 | #include <boost/math/special_functions.hpp> | |
21 | #include <boost/math/concepts/distributions.hpp> | |
22 | #include <boost/concept_archetype.hpp> | |
23 | ||
24 | #ifndef BOOST_MATH_INSTANTIATE_MINIMUM | |
25 | ||
26 | typedef boost::math::policies::policy<boost::math::policies::promote_float<false>, boost::math::policies::promote_double<false> > test_policy; | |
27 | ||
28 | namespace test{ | |
29 | ||
30 | BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(test_policy) | |
31 | ||
32 | } | |
33 | ||
34 | namespace dist_test{ | |
35 | ||
36 | BOOST_MATH_DECLARE_DISTRIBUTIONS(double, test_policy) | |
37 | ||
38 | } | |
39 | #endif | |
40 | ||
41 | #if !defined(TEST_GROUP_1) && !defined(TEST_GROUP_2) && !defined(TEST_GROUP_3) \ | |
1e59de90 TL |
42 | && !defined(TEST_GROUP_4) && !defined(TEST_GROUP_5) && !defined(TEST_GROUP_6) && !defined(TEST_GROUP_7) && !defined(TEST_GROUP_8) && !defined(TEST_GROUP_9) \ |
43 | && !defined(TEST_GROUP_10) && !defined(TEST_GROUP_11) && !defined(TEST_GROUP_12) && !defined(TEST_GROUP_13) && !defined(TEST_GROUP_14) && !defined(TEST_GROUP_15) | |
7c673cae FG |
44 | # define TEST_GROUP_1 |
45 | # define TEST_GROUP_2 | |
46 | # define TEST_GROUP_3 | |
47 | # define TEST_GROUP_4 | |
48 | # define TEST_GROUP_5 | |
49 | # define TEST_GROUP_6 | |
50 | # define TEST_GROUP_7 | |
51 | # define TEST_GROUP_8 | |
52 | # define TEST_GROUP_9 | |
1e59de90 TL |
53 | # define TEST_GROUP_10 |
54 | # define TEST_GROUP_11 | |
55 | # define TEST_GROUP_12 | |
56 | # define TEST_GROUP_13 | |
57 | # define TEST_GROUP_14 | |
58 | # define TEST_GROUP_15 | |
7c673cae FG |
59 | #endif |
60 | ||
61 | template <class RealType> | |
62 | void instantiate(RealType) | |
63 | { | |
64 | using namespace boost; | |
65 | using namespace boost::math; | |
66 | using namespace boost::math::concepts; | |
20effc67 TL |
67 | |
68 | long l; | |
69 | #ifdef BOOST_HAS_LONG_LONG | |
70 | boost::long_long_type ll; | |
71 | #endif | |
7c673cae FG |
72 | #ifdef TEST_GROUP_1 |
73 | function_requires<DistributionConcept<arcsine_distribution<RealType> > >(); | |
74 | function_requires<DistributionConcept<bernoulli_distribution<RealType> > >(); | |
75 | function_requires<DistributionConcept<beta_distribution<RealType> > >(); | |
76 | function_requires<DistributionConcept<binomial_distribution<RealType> > >(); | |
77 | function_requires<DistributionConcept<cauchy_distribution<RealType> > >(); | |
78 | function_requires<DistributionConcept<chi_squared_distribution<RealType> > >(); | |
79 | function_requires<DistributionConcept<exponential_distribution<RealType> > >(); | |
80 | function_requires<DistributionConcept<extreme_value_distribution<RealType> > >(); | |
81 | function_requires<DistributionConcept<fisher_f_distribution<RealType> > >(); | |
82 | function_requires<DistributionConcept<gamma_distribution<RealType> > >(); | |
83 | function_requires<DistributionConcept<geometric_distribution<RealType> > >(); | |
84 | function_requires<DistributionConcept<hypergeometric_distribution<RealType> > >(); | |
85 | function_requires<DistributionConcept<hyperexponential_distribution<RealType> > >(); | |
86 | function_requires<DistributionConcept<inverse_chi_squared_distribution<RealType> > >(); | |
87 | function_requires<DistributionConcept<inverse_gamma_distribution<RealType> > >(); | |
88 | function_requires<DistributionConcept<inverse_gaussian_distribution<RealType> > >(); | |
20effc67 | 89 | function_requires<DistributionConcept<kolmogorov_smirnov_distribution<RealType> > >(); |
7c673cae FG |
90 | function_requires<DistributionConcept<laplace_distribution<RealType> > >(); |
91 | function_requires<DistributionConcept<logistic_distribution<RealType> > >(); | |
92 | function_requires<DistributionConcept<lognormal_distribution<RealType> > >(); | |
93 | function_requires<DistributionConcept<negative_binomial_distribution<RealType> > >(); | |
94 | function_requires<DistributionConcept<non_central_chi_squared_distribution<RealType> > >(); | |
95 | function_requires<DistributionConcept<non_central_beta_distribution<RealType> > >(); | |
96 | function_requires<DistributionConcept<non_central_f_distribution<RealType> > >(); | |
97 | function_requires<DistributionConcept<non_central_t_distribution<RealType> > >(); | |
98 | function_requires<DistributionConcept<normal_distribution<RealType> > >(); | |
99 | function_requires<DistributionConcept<pareto_distribution<RealType> > >(); | |
100 | function_requires<DistributionConcept<poisson_distribution<RealType> > >(); | |
101 | function_requires<DistributionConcept<rayleigh_distribution<RealType> > >(); | |
102 | function_requires<DistributionConcept<students_t_distribution<RealType> > >(); | |
103 | function_requires<DistributionConcept<skew_normal_distribution<RealType> > >(); | |
104 | function_requires<DistributionConcept<triangular_distribution<RealType> > >(); | |
105 | function_requires<DistributionConcept<uniform_distribution<RealType> > >(); | |
106 | function_requires<DistributionConcept<weibull_distribution<RealType> > >(); | |
107 | #endif | |
108 | #ifndef BOOST_MATH_INSTANTIATE_MINIMUM | |
109 | #ifdef TEST_GROUP_2 | |
110 | function_requires<DistributionConcept<arcsine_distribution<RealType> > >(); | |
111 | function_requires<DistributionConcept<bernoulli_distribution<RealType, test_policy> > >(); | |
112 | function_requires<DistributionConcept<beta_distribution<RealType, test_policy> > >(); | |
113 | function_requires<DistributionConcept<binomial_distribution<RealType, test_policy> > >(); | |
114 | function_requires<DistributionConcept<cauchy_distribution<RealType, test_policy> > >(); | |
115 | function_requires<DistributionConcept<chi_squared_distribution<RealType, test_policy> > >(); | |
116 | function_requires<DistributionConcept<exponential_distribution<RealType, test_policy> > >(); | |
117 | function_requires<DistributionConcept<extreme_value_distribution<RealType, test_policy> > >(); | |
118 | function_requires<DistributionConcept<fisher_f_distribution<RealType, test_policy> > >(); | |
119 | function_requires<DistributionConcept<gamma_distribution<RealType, test_policy> > >(); | |
120 | function_requires<DistributionConcept<geometric_distribution<RealType, test_policy> > >(); | |
121 | function_requires<DistributionConcept<hypergeometric_distribution<RealType, test_policy> > >(); | |
122 | function_requires<DistributionConcept<inverse_chi_squared_distribution<RealType, test_policy> > >(); | |
123 | function_requires<DistributionConcept<inverse_gamma_distribution<RealType, test_policy> > >(); | |
124 | function_requires<DistributionConcept<inverse_gaussian_distribution<RealType, test_policy> > >(); | |
20effc67 | 125 | function_requires<DistributionConcept<kolmogorov_smirnov_distribution<RealType, test_policy> > >(); |
7c673cae FG |
126 | function_requires<DistributionConcept<laplace_distribution<RealType, test_policy> > >(); |
127 | function_requires<DistributionConcept<logistic_distribution<RealType, test_policy> > >(); | |
128 | function_requires<DistributionConcept<lognormal_distribution<RealType, test_policy> > >(); | |
129 | function_requires<DistributionConcept<negative_binomial_distribution<RealType, test_policy> > >(); | |
130 | function_requires<DistributionConcept<non_central_chi_squared_distribution<RealType, test_policy> > >(); | |
131 | function_requires<DistributionConcept<non_central_beta_distribution<RealType, test_policy> > >(); | |
132 | function_requires<DistributionConcept<non_central_f_distribution<RealType, test_policy> > >(); | |
133 | function_requires<DistributionConcept<non_central_t_distribution<RealType, test_policy> > >(); | |
134 | function_requires<DistributionConcept<normal_distribution<RealType, test_policy> > >(); | |
135 | function_requires<DistributionConcept<pareto_distribution<RealType, test_policy> > >(); | |
136 | function_requires<DistributionConcept<poisson_distribution<RealType, test_policy> > >(); | |
137 | function_requires<DistributionConcept<rayleigh_distribution<RealType, test_policy> > >(); | |
138 | function_requires<DistributionConcept<skew_normal_distribution<RealType, test_policy> > >(); | |
139 | function_requires<DistributionConcept<students_t_distribution<RealType, test_policy> > >(); | |
140 | function_requires<DistributionConcept<triangular_distribution<RealType, test_policy> > >(); | |
141 | function_requires<DistributionConcept<uniform_distribution<RealType, test_policy> > >(); | |
142 | function_requires<DistributionConcept<weibull_distribution<RealType, test_policy> > >(); | |
143 | #endif | |
144 | #ifdef TEST_GROUP_3 | |
145 | function_requires<DistributionConcept<dist_test::arcsine > >(); | |
146 | function_requires<DistributionConcept<dist_test::bernoulli > >(); | |
147 | function_requires<DistributionConcept<dist_test::beta > >(); | |
148 | function_requires<DistributionConcept<dist_test::binomial > >(); | |
149 | function_requires<DistributionConcept<dist_test::cauchy > >(); | |
150 | function_requires<DistributionConcept<dist_test::chi_squared > >(); | |
151 | function_requires<DistributionConcept<dist_test::exponential > >(); | |
152 | function_requires<DistributionConcept<dist_test::extreme_value > >(); | |
153 | function_requires<DistributionConcept<dist_test::fisher_f > >(); | |
154 | function_requires<DistributionConcept<dist_test::gamma > >(); | |
155 | function_requires<DistributionConcept<dist_test::geometric > >(); | |
156 | function_requires<DistributionConcept<dist_test::hypergeometric > >(); | |
157 | function_requires<DistributionConcept<dist_test::inverse_chi_squared > >(); | |
158 | function_requires<DistributionConcept<dist_test::inverse_gamma > >(); | |
159 | function_requires<DistributionConcept<dist_test::inverse_gaussian > >(); | |
160 | function_requires<DistributionConcept<dist_test::laplace > >(); | |
161 | function_requires<DistributionConcept<dist_test::logistic > >(); | |
162 | function_requires<DistributionConcept<dist_test::lognormal > >(); | |
163 | function_requires<DistributionConcept<dist_test::negative_binomial > >(); | |
164 | function_requires<DistributionConcept<dist_test::non_central_chi_squared > >(); | |
165 | function_requires<DistributionConcept<dist_test::non_central_beta > >(); | |
166 | function_requires<DistributionConcept<dist_test::non_central_f > >(); | |
167 | function_requires<DistributionConcept<dist_test::non_central_t > >(); | |
168 | function_requires<DistributionConcept<dist_test::normal > >(); | |
169 | function_requires<DistributionConcept<dist_test::pareto > >(); | |
170 | function_requires<DistributionConcept<dist_test::poisson > >(); | |
171 | function_requires<DistributionConcept<dist_test::rayleigh > >(); | |
172 | function_requires<DistributionConcept<dist_test::students_t > >(); | |
173 | function_requires<DistributionConcept<dist_test::triangular > >(); | |
174 | function_requires<DistributionConcept<dist_test::uniform > >(); | |
175 | function_requires<DistributionConcept<dist_test::weibull > >(); | |
176 | function_requires<DistributionConcept<dist_test::hypergeometric > >(); | |
177 | #endif | |
178 | #endif | |
b32b8144 FG |
179 | int i = 1; |
180 | // Deal with unused variable warnings: | |
181 | (void)i; | |
7c673cae FG |
182 | RealType v1(0.5), v2(0.5), v3(0.5); |
183 | boost::detail::dummy_constructor dc; | |
184 | boost::output_iterator_archetype<RealType> oi(dc); | |
185 | #ifdef TEST_GROUP_4 | |
186 | boost::math::tgamma(v1); | |
187 | boost::math::tgamma1pm1(v1); | |
188 | boost::math::lgamma(v1); | |
189 | boost::math::lgamma(v1, &i); | |
190 | boost::math::digamma(v1); | |
191 | boost::math::trigamma(v1); | |
192 | boost::math::polygamma(i, v1); | |
193 | boost::math::tgamma_ratio(v1, v2); | |
194 | boost::math::tgamma_delta_ratio(v1, v2); | |
195 | boost::math::factorial<RealType>(i); | |
196 | boost::math::unchecked_factorial<RealType>(i); | |
197 | i = boost::math::max_factorial<RealType>::value; | |
198 | boost::math::double_factorial<RealType>(i); | |
199 | boost::math::rising_factorial(v1, i); | |
200 | boost::math::falling_factorial(v1, i); | |
201 | boost::math::tgamma(v1, v2); | |
202 | boost::math::tgamma_lower(v1, v2); | |
203 | boost::math::gamma_p(v1, v2); | |
204 | boost::math::gamma_q(v1, v2); | |
205 | boost::math::gamma_p_inv(v1, v2); | |
206 | boost::math::gamma_q_inv(v1, v2); | |
207 | boost::math::gamma_p_inva(v1, v2); | |
208 | boost::math::gamma_q_inva(v1, v2); | |
209 | boost::math::erf(v1); | |
210 | boost::math::erfc(v1); | |
211 | boost::math::erf_inv(v1); | |
212 | boost::math::erfc_inv(v1); | |
213 | boost::math::beta(v1, v2); | |
214 | boost::math::beta(v1, v2, v3); | |
215 | boost::math::betac(v1, v2, v3); | |
216 | boost::math::ibeta(v1, v2, v3); | |
217 | boost::math::ibetac(v1, v2, v3); | |
218 | boost::math::ibeta_inv(v1, v2, v3); | |
219 | boost::math::ibetac_inv(v1, v2, v3); | |
220 | boost::math::ibeta_inva(v1, v2, v3); | |
221 | boost::math::ibetac_inva(v1, v2, v3); | |
222 | boost::math::ibeta_invb(v1, v2, v3); | |
223 | boost::math::ibetac_invb(v1, v2, v3); | |
224 | boost::math::gamma_p_derivative(v2, v3); | |
225 | boost::math::ibeta_derivative(v1, v2, v3); | |
226 | boost::math::binomial_coefficient<RealType>(i, i); | |
227 | (boost::math::fpclassify)(v1); | |
228 | (boost::math::isfinite)(v1); | |
229 | (boost::math::isnormal)(v1); | |
230 | (boost::math::isnan)(v1); | |
231 | (boost::math::isinf)(v1); | |
232 | (boost::math::signbit)(v1); | |
233 | (boost::math::copysign)(v1, v2); | |
234 | (boost::math::changesign)(v1); | |
235 | (boost::math::sign)(v1); | |
236 | boost::math::log1p(v1); | |
237 | boost::math::expm1(v1); | |
238 | boost::math::cbrt(v1); | |
239 | boost::math::sqrt1pm1(v1); | |
240 | boost::math::powm1(v1, v2); | |
1e59de90 TL |
241 | #endif |
242 | #ifdef TEST_GROUP_5 | |
7c673cae FG |
243 | boost::math::legendre_p(1, v1); |
244 | boost::math::legendre_p(1, 0, v1); | |
245 | boost::math::legendre_q(1, v1); | |
b32b8144 | 246 | boost::math::legendre_p_prime(1, v1); |
7c673cae FG |
247 | boost::math::legendre_next(2, v1, v2, v3); |
248 | boost::math::legendre_next(2, 2, v1, v2, v3); | |
249 | boost::math::laguerre(1, v1); | |
250 | boost::math::laguerre(2, 1, v1); | |
251 | boost::math::laguerre(2u, 1u, v1); | |
252 | boost::math::laguerre_next(2, v1, v2, v3); | |
253 | boost::math::laguerre_next(2, 1, v1, v2, v3); | |
254 | boost::math::hermite(1, v1); | |
255 | boost::math::hermite_next(2, v1, v2, v3); | |
b32b8144 FG |
256 | boost::math::chebyshev_next(v1, v2, v3); |
257 | boost::math::chebyshev_t(1, v1); | |
258 | boost::math::chebyshev_u(1, v1); | |
259 | boost::math::chebyshev_t_prime(1, v1); | |
260 | boost::math::chebyshev_clenshaw_recurrence(&v1, 0, v2); | |
7c673cae FG |
261 | boost::math::spherical_harmonic_r(2, 1, v1, v2); |
262 | boost::math::spherical_harmonic_i(2, 1, v1, v2); | |
263 | boost::math::ellint_1(v1); | |
264 | boost::math::ellint_1(v1, v2); | |
265 | boost::math::ellint_2(v1); | |
266 | boost::math::ellint_2(v1, v2); | |
267 | boost::math::ellint_3(v1, v2); | |
268 | boost::math::ellint_3(v1, v2, v3); | |
269 | boost::math::ellint_d(v1); | |
270 | boost::math::ellint_d(v1, v2); | |
271 | boost::math::jacobi_zeta(v1, v2); | |
272 | boost::math::heuman_lambda(v1, v2); | |
273 | boost::math::ellint_rc(v1, v2); | |
274 | boost::math::ellint_rd(v1, v2, v3); | |
275 | boost::math::ellint_rf(v1, v2, v3); | |
276 | boost::math::ellint_rg(v1, v2, v3); | |
277 | boost::math::ellint_rj(v1, v2, v3, v1); | |
278 | boost::math::jacobi_elliptic(v1, v2, &v1, &v2); | |
279 | boost::math::jacobi_cd(v1, v2); | |
280 | boost::math::jacobi_cn(v1, v2); | |
281 | boost::math::jacobi_cs(v1, v2); | |
282 | boost::math::jacobi_dc(v1, v2); | |
283 | boost::math::jacobi_dn(v1, v2); | |
284 | boost::math::jacobi_ds(v1, v2); | |
285 | boost::math::jacobi_nc(v1, v2); | |
286 | boost::math::jacobi_nd(v1, v2); | |
287 | boost::math::jacobi_ns(v1, v2); | |
288 | boost::math::jacobi_sc(v1, v2); | |
289 | boost::math::jacobi_sd(v1, v2); | |
290 | boost::math::jacobi_sn(v1, v2); | |
20effc67 TL |
291 | boost::math::jacobi_theta1(v1, v2); |
292 | boost::math::jacobi_theta1tau(v1, v2); | |
293 | boost::math::jacobi_theta2(v1, v2); | |
294 | boost::math::jacobi_theta2tau(v1, v2); | |
295 | boost::math::jacobi_theta3(v1, v2); | |
296 | boost::math::jacobi_theta3tau(v1, v2); | |
297 | boost::math::jacobi_theta3m1(v1, v2); | |
298 | boost::math::jacobi_theta3m1tau(v1, v2); | |
299 | boost::math::jacobi_theta4(v1, v2); | |
300 | boost::math::jacobi_theta4tau(v1, v2); | |
301 | boost::math::jacobi_theta4m1(v1, v2); | |
302 | boost::math::jacobi_theta4m1tau(v1, v2); | |
7c673cae FG |
303 | boost::math::hypot(v1, v2); |
304 | boost::math::sinc_pi(v1); | |
305 | boost::math::sinhc_pi(v1); | |
306 | boost::math::asinh(v1); | |
307 | boost::math::acosh(v1); | |
308 | boost::math::atanh(v1); | |
309 | boost::math::sin_pi(v1); | |
310 | boost::math::cos_pi(v1); | |
1e59de90 TL |
311 | #endif |
312 | #ifdef TEST_GROUP_6 | |
7c673cae FG |
313 | boost::math::cyl_neumann(v1, v2); |
314 | boost::math::cyl_neumann(i, v2); | |
315 | boost::math::cyl_bessel_j(v1, v2); | |
316 | boost::math::cyl_bessel_j(i, v2); | |
317 | boost::math::cyl_bessel_i(v1, v2); | |
318 | boost::math::cyl_bessel_i(i, v2); | |
319 | boost::math::cyl_bessel_k(v1, v2); | |
320 | boost::math::cyl_bessel_k(i, v2); | |
321 | boost::math::sph_bessel(i, v2); | |
322 | boost::math::sph_bessel(i, 1); | |
323 | boost::math::sph_neumann(i, v2); | |
324 | boost::math::sph_neumann(i, i); | |
325 | boost::math::cyl_neumann_prime(v1, v2); | |
326 | boost::math::cyl_neumann_prime(i, v2); | |
327 | boost::math::cyl_bessel_j_prime(v1, v2); | |
328 | boost::math::cyl_bessel_j_prime(i, v2); | |
329 | boost::math::cyl_bessel_i_prime(v1, v2); | |
330 | boost::math::cyl_bessel_i_prime(i, v2); | |
331 | boost::math::cyl_bessel_k_prime(v1, v2); | |
332 | boost::math::cyl_bessel_k_prime(i, v2); | |
333 | boost::math::sph_bessel_prime(i, v2); | |
334 | boost::math::sph_bessel_prime(i, 1); | |
335 | boost::math::sph_neumann_prime(i, v2); | |
336 | boost::math::sph_neumann_prime(i, i); | |
337 | boost::math::cyl_bessel_j_zero(v1, i); | |
338 | boost::math::cyl_bessel_j_zero(v1, i, i, oi); | |
339 | boost::math::cyl_neumann_zero(v1, i); | |
340 | boost::math::cyl_neumann_zero(v1, i, i, oi); | |
92f5a8d4 TL |
341 | boost::math::lambert_w0(v1); |
342 | boost::math::lambert_wm1(v1); | |
343 | boost::math::lambert_w0_prime(v1); | |
7c673cae FG |
344 | #ifdef TEST_COMPLEX |
345 | boost::math::cyl_hankel_1(v1, v2); | |
346 | boost::math::cyl_hankel_1(i, v2); | |
347 | boost::math::cyl_hankel_2(v1, v2); | |
348 | boost::math::cyl_hankel_2(i, v2); | |
349 | boost::math::sph_hankel_1(v1, v2); | |
350 | boost::math::sph_hankel_1(i, v2); | |
351 | boost::math::sph_hankel_2(v1, v2); | |
352 | boost::math::sph_hankel_2(i, v2); | |
353 | #endif | |
1e59de90 TL |
354 | #endif |
355 | #ifdef TEST_GROUP_7 | |
7c673cae FG |
356 | boost::math::airy_ai(v1); |
357 | boost::math::airy_bi(v1); | |
358 | boost::math::airy_ai_prime(v1); | |
359 | boost::math::airy_bi_prime(v1); | |
360 | ||
361 | boost::math::airy_ai_zero<RealType>(i); | |
362 | boost::math::airy_bi_zero<RealType>(i); | |
363 | boost::math::airy_ai_zero<RealType>(i, i, oi); | |
364 | boost::math::airy_bi_zero<RealType>(i, i, oi); | |
365 | ||
92f5a8d4 TL |
366 | boost::math::hypergeometric_1F0(v1, v2); |
367 | boost::math::hypergeometric_0F1(v1, v2); | |
368 | boost::math::hypergeometric_2F0(v1, v2, v3); | |
369 | #if !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_CXX11_HDR_TUPLE) | |
370 | boost::math::hypergeometric_1F1(v1, v2, v3); | |
371 | #ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST | |
372 | boost::math::hypergeometric_pFq({ v1 }, { v2 }, v3); | |
373 | #endif | |
374 | #endif | |
375 | ||
7c673cae FG |
376 | boost::math::expint(v1); |
377 | boost::math::expint(i); | |
378 | boost::math::expint(i, v2); | |
379 | boost::math::expint(i, i); | |
380 | boost::math::zeta(v1); | |
381 | boost::math::zeta(i); | |
382 | boost::math::owens_t(v1, v2); | |
383 | boost::math::trunc(v1); | |
384 | boost::math::itrunc(v1); | |
385 | boost::math::ltrunc(v1); | |
386 | boost::math::round(v1); | |
387 | boost::math::iround(v1); | |
388 | boost::math::lround(v1); | |
389 | boost::math::modf(v1, &v1); | |
390 | boost::math::modf(v1, &i); | |
7c673cae FG |
391 | boost::math::modf(v1, &l); |
392 | #ifdef BOOST_HAS_LONG_LONG | |
393 | boost::math::lltrunc(v1); | |
394 | boost::math::llround(v1); | |
7c673cae FG |
395 | boost::math::modf(v1, &ll); |
396 | #endif | |
397 | boost::math::pow<2>(v1); | |
398 | boost::math::nextafter(v1, v1); | |
399 | boost::math::float_next(v1); | |
400 | boost::math::float_prior(v1); | |
401 | boost::math::float_distance(v1, v1); | |
402 | boost::math::ulp(v1); | |
403 | boost::math::relative_difference(v1, v2); | |
404 | boost::math::epsilon_difference(v1, v2); | |
405 | ||
406 | boost::math::unchecked_bernoulli_b2n<RealType>(i); | |
407 | boost::math::bernoulli_b2n<RealType>(i); | |
408 | boost::math::bernoulli_b2n<RealType>(i, i, &v1); | |
409 | boost::math::tangent_t2n<RealType>(i); | |
410 | boost::math::tangent_t2n<RealType>(i, i, &v1); | |
411 | ||
412 | #endif | |
1e59de90 | 413 | #ifdef TEST_GROUP_12 |
7c673cae FG |
414 | // |
415 | // Over again, but arguments may be expression templates: | |
416 | // | |
417 | boost::math::tgamma(v1 + 0); | |
418 | boost::math::tgamma1pm1(v1 + 0); | |
419 | boost::math::lgamma(v1 * 1); | |
420 | boost::math::lgamma(v1 * 1, &i); | |
421 | boost::math::digamma(v1 * 1); | |
422 | boost::math::trigamma(v1 * 1); | |
423 | boost::math::polygamma(i, v1 * 1); | |
424 | boost::math::tgamma_ratio(v1 * 1, v2 + 0); | |
425 | boost::math::tgamma_delta_ratio(v1 * 1, v2 + 0); | |
426 | boost::math::factorial<RealType>(i); | |
427 | boost::math::unchecked_factorial<RealType>(i); | |
428 | i = boost::math::max_factorial<RealType>::value; | |
429 | boost::math::double_factorial<RealType>(i); | |
430 | boost::math::rising_factorial(v1 * 1, i); | |
431 | boost::math::falling_factorial(v1 * 1, i); | |
432 | boost::math::tgamma(v1 * 1, v2 + 0); | |
433 | boost::math::tgamma_lower(v1 * 1, v2 - 0); | |
434 | boost::math::gamma_p(v1 * 1, v2 + 0); | |
435 | boost::math::gamma_q(v1 * 1, v2 + 0); | |
436 | boost::math::gamma_p_inv(v1 * 1, v2 + 0); | |
437 | boost::math::gamma_q_inv(v1 * 1, v2 + 0); | |
438 | boost::math::gamma_p_inva(v1 * 1, v2 + 0); | |
439 | boost::math::gamma_q_inva(v1 * 1, v2 + 0); | |
440 | boost::math::erf(v1 * 1); | |
441 | boost::math::erfc(v1 * 1); | |
442 | boost::math::erf_inv(v1 * 1); | |
443 | boost::math::erfc_inv(v1 * 1); | |
444 | boost::math::beta(v1 * 1, v2 + 0); | |
445 | boost::math::beta(v1 * 1, v2 + 0, v3 / 1); | |
446 | boost::math::betac(v1 * 1, v2 + 0, v3 / 1); | |
447 | boost::math::ibeta(v1 * 1, v2 + 0, v3 / 1); | |
448 | boost::math::ibetac(v1 * 1, v2 + 0, v3 / 1); | |
449 | boost::math::ibeta_inv(v1 * 1, v2 + 0, v3 / 1); | |
450 | boost::math::ibetac_inv(v1 * 1, v2 + 0, v3 / 1); | |
451 | boost::math::ibeta_inva(v1 * 1, v2 + 0, v3 / 1); | |
452 | boost::math::ibetac_inva(v1 * 1, v2 + 0, v3 / 1); | |
453 | boost::math::ibeta_invb(v1 * 1, v2 + 0, v3 / 1); | |
454 | boost::math::ibetac_invb(v1 * 1, v2 + 0, v3 / 1); | |
455 | boost::math::gamma_p_derivative(v2 * 1, v3 + 0); | |
456 | boost::math::ibeta_derivative(v1 * 1, v2 + 0, v3 / 1); | |
457 | (boost::math::fpclassify)(v1 * 1); | |
458 | (boost::math::isfinite)(v1 * 1); | |
459 | (boost::math::isnormal)(v1 * 1); | |
460 | (boost::math::isnan)(v1 * 1); | |
461 | (boost::math::isinf)(v1 * 1); | |
462 | (boost::math::signbit)(v1 * 1); | |
463 | (boost::math::copysign)(v1 * 1, v2 + 0); | |
464 | (boost::math::changesign)(v1 * 1); | |
465 | (boost::math::sign)(v1 * 1); | |
466 | boost::math::log1p(v1 * 1); | |
467 | boost::math::expm1(v1 * 1); | |
468 | boost::math::cbrt(v1 * 1); | |
469 | boost::math::sqrt1pm1(v1 * 1); | |
470 | boost::math::powm1(v1 * 1, v2 + 0); | |
1e59de90 TL |
471 | #endif |
472 | #ifdef TEST_GROUP_13 | |
7c673cae FG |
473 | boost::math::legendre_p(1, v1 * 1); |
474 | boost::math::legendre_p(1, 0, v1 * 1); | |
b32b8144 | 475 | boost::math::legendre_p_prime(1, v1 * 1); |
7c673cae FG |
476 | boost::math::legendre_q(1, v1 * 1); |
477 | boost::math::legendre_next(2, v1 * 1, v2 + 0, v3 / 1); | |
478 | boost::math::legendre_next(2, 2, v1 * 1, v2 + 0, v3 / 1); | |
479 | boost::math::laguerre(1, v1 * 1); | |
480 | boost::math::laguerre(2, 1, v1 * 1); | |
481 | boost::math::laguerre(2u, 1u, v1 * 1); | |
482 | boost::math::laguerre_next(2, v1 * 1, v2 + 0, v3 / 1); | |
483 | boost::math::laguerre_next(2, 1, v1 * 1, v2 + 0, v3 / 1); | |
484 | boost::math::hermite(1, v1 * 1); | |
485 | boost::math::hermite_next(2, v1 * 1, v2 + 0, v3 / 1); | |
b32b8144 FG |
486 | boost::math::chebyshev_next(2 * v1, 1 + v2, 3 * v3); |
487 | boost::math::chebyshev_t(1, 2 * v1); | |
488 | boost::math::chebyshev_u(1, 2 * v1); | |
489 | boost::math::chebyshev_t_prime(1, 2 * v1); | |
490 | boost::math::chebyshev_clenshaw_recurrence(&v1, 0, 2 * v2); | |
7c673cae FG |
491 | boost::math::spherical_harmonic_r(2, 1, v1 * 1, v2 + 0); |
492 | boost::math::spherical_harmonic_i(2, 1, v1 * 1, v2 + 0); | |
493 | boost::math::ellint_1(v1 * 1); | |
494 | boost::math::ellint_1(v1 * 1, v2 + 0); | |
495 | boost::math::ellint_2(v1 * 1); | |
496 | boost::math::ellint_2(v1 * 1, v2 + 0); | |
497 | boost::math::ellint_3(v1 * 1, v2 + 0); | |
498 | boost::math::ellint_3(v1 * 1, v2 + 0, v3 / 1); | |
499 | boost::math::ellint_rc(v1 * 1, v2 + 0); | |
500 | boost::math::ellint_rd(v1 * 1, v2 + 0, v3 / 1); | |
501 | boost::math::ellint_rf(v1 * 1, v2 + 0, v3 / 1); | |
502 | boost::math::ellint_rg(v1 * 1, v2 + 0, v3 / 1); | |
503 | boost::math::ellint_rj(v1 * 1, v2 + 0, v3 / 1, v1 * 1); | |
504 | boost::math::ellint_d(v1 * 1); | |
505 | boost::math::ellint_d(v1 * 1, v2 + 0); | |
506 | boost::math::jacobi_zeta(v1 * 1, v2 + 0); | |
507 | boost::math::heuman_lambda(v1 * 1, v2 + 0); | |
508 | boost::math::jacobi_elliptic(v1 * 1, v2 + 0, &v1, &v2); | |
509 | boost::math::jacobi_cd(v1 * 1, v2 + 0); | |
510 | boost::math::jacobi_cn(v1 * 1, v2 + 0); | |
511 | boost::math::jacobi_cs(v1 * 1, v2 + 0); | |
512 | boost::math::jacobi_dc(v1 * 1, v2 + 0); | |
513 | boost::math::jacobi_dn(v1 * 1, v2 + 0); | |
514 | boost::math::jacobi_ds(v1 * 1, v2 + 0); | |
515 | boost::math::jacobi_nc(v1 * 1, v2 + 0); | |
516 | boost::math::jacobi_nd(v1 * 1, v2 + 0); | |
517 | boost::math::jacobi_ns(v1 * 1, v2 + 0); | |
518 | boost::math::jacobi_sc(v1 * 1, v2 + 0); | |
519 | boost::math::jacobi_sd(v1 * 1, v2 + 0); | |
520 | boost::math::jacobi_sn(v1 * 1, v2 + 0); | |
20effc67 TL |
521 | boost::math::jacobi_theta1(v1 * 1, v2 + 0); |
522 | boost::math::jacobi_theta1tau(v1 * 1, v2 + 0); | |
523 | boost::math::jacobi_theta2(v1 * 1, v2 + 0); | |
524 | boost::math::jacobi_theta2tau(v1 * 1, v2 + 0); | |
525 | boost::math::jacobi_theta3(v1 * 1, v2 + 0); | |
526 | boost::math::jacobi_theta3tau(v1 * 1, v2 + 0); | |
527 | boost::math::jacobi_theta3m1(v1 * 1, v2 + 0); | |
528 | boost::math::jacobi_theta3m1tau(v1 * 1, v2 + 0); | |
529 | boost::math::jacobi_theta4(v1 * 1, v2 + 0); | |
530 | boost::math::jacobi_theta4tau(v1 * 1, v2 + 0); | |
531 | boost::math::jacobi_theta4m1(v1 * 1, v2 + 0); | |
532 | boost::math::jacobi_theta4m1tau(v1 * 1, v2 + 0); | |
7c673cae FG |
533 | boost::math::hypot(v1 * 1, v2 + 0); |
534 | boost::math::sinc_pi(v1 * 1); | |
535 | boost::math::sinhc_pi(v1 * 1); | |
536 | boost::math::asinh(v1 * 1); | |
537 | boost::math::acosh(v1 * 1); | |
538 | boost::math::atanh(v1 * 1); | |
539 | boost::math::sin_pi(v1 * 1); | |
540 | boost::math::cos_pi(v1 * 1); | |
1e59de90 TL |
541 | #endif |
542 | #ifdef TEST_GROUP_14 | |
7c673cae FG |
543 | boost::math::cyl_neumann(v1 * 1, v2 + 0); |
544 | boost::math::cyl_neumann(i, v2 * 1); | |
545 | boost::math::cyl_bessel_j(v1 * 1, v2 + 0); | |
546 | boost::math::cyl_bessel_j(i, v2 * 1); | |
547 | boost::math::cyl_bessel_i(v1 * 1, v2 + 0); | |
548 | boost::math::cyl_bessel_i(i, v2 * 1); | |
549 | boost::math::cyl_bessel_k(v1 * 1, v2 + 0); | |
550 | boost::math::cyl_bessel_k(i, v2 * 1); | |
551 | boost::math::sph_bessel(i, v2 * 1); | |
552 | boost::math::sph_bessel(i, 1); | |
553 | boost::math::sph_neumann(i, v2 * 1); | |
554 | boost::math::sph_neumann(i, i); | |
555 | boost::math::cyl_neumann_prime(v1 * 1, v2 + 0); | |
556 | boost::math::cyl_neumann_prime(i, v2 * 1); | |
557 | boost::math::cyl_bessel_j_prime(v1 * 1, v2 + 0); | |
558 | boost::math::cyl_bessel_j_prime(i, v2 * 1); | |
559 | boost::math::cyl_bessel_i_prime(v1 * 1, v2 + 0); | |
560 | boost::math::cyl_bessel_i_prime(i, v2 * 1); | |
561 | boost::math::cyl_bessel_k_prime(v1 * 1, v2 + 0); | |
562 | boost::math::cyl_bessel_k_prime(i, v2 * 1); | |
563 | boost::math::sph_bessel_prime(i, v2 * 1); | |
564 | boost::math::sph_bessel_prime(i, 1); | |
565 | boost::math::sph_neumann_prime(i, v2 * 1); | |
566 | boost::math::sph_neumann_prime(i, i); | |
567 | boost::math::cyl_bessel_j_zero(v1 * 1, i); | |
568 | boost::math::cyl_bessel_j_zero(v1 * 1, i, i, oi); | |
569 | boost::math::cyl_neumann_zero(v1 * 1, i); | |
570 | boost::math::cyl_neumann_zero(v1 * 1, i, i, oi); | |
92f5a8d4 TL |
571 | boost::math::lambert_w0(v1 * 1); |
572 | boost::math::lambert_wm1(v1 * 1); | |
573 | boost::math::lambert_w0_prime(v1 * 1); | |
7c673cae FG |
574 | #ifdef TEST_COMPLEX |
575 | boost::math::cyl_hankel_1(v1, v2); | |
576 | boost::math::cyl_hankel_1(i, v2); | |
577 | boost::math::cyl_hankel_2(v1, v2); | |
578 | boost::math::cyl_hankel_2(i, v2); | |
579 | boost::math::sph_hankel_1(v1, v2); | |
580 | boost::math::sph_hankel_1(i, v2); | |
581 | boost::math::sph_hankel_2(v1, v2); | |
582 | boost::math::sph_hankel_2(i, v2); | |
583 | #endif | |
1e59de90 TL |
584 | #endif |
585 | #ifdef TEST_GROUP_15 | |
7c673cae FG |
586 | boost::math::airy_ai(v1 * 1); |
587 | boost::math::airy_bi(v1 * 1); | |
588 | boost::math::airy_ai_prime(v1 * 1); | |
589 | boost::math::airy_bi_prime(v1 * 1); | |
590 | boost::math::expint(v1 * 1); | |
591 | boost::math::expint(i); | |
592 | boost::math::expint(i, v2 * 1); | |
593 | boost::math::expint(i, i); | |
594 | boost::math::zeta(v1 * 1); | |
595 | boost::math::zeta(i); | |
596 | boost::math::owens_t(v1 * 1, v2 + 0); | |
597 | boost::math::trunc(v1 * 1); | |
598 | boost::math::itrunc(v1 * 1); | |
599 | boost::math::ltrunc(v1 * 1); | |
600 | boost::math::round(v1 * 1); | |
601 | boost::math::iround(v1 * 1); | |
602 | boost::math::lround(v1 * 1); | |
603 | //boost::math::modf(v1 * 1, &v1); | |
604 | //boost::math::modf(v1 * 1, &i); | |
605 | //long l; | |
606 | //boost::math::modf(v1 * 1, &l); | |
607 | #ifdef BOOST_HAS_LONG_LONG | |
608 | boost::math::lltrunc(v1 * 1); | |
609 | boost::math::llround(v1 * 1); | |
610 | //boost::long_long_type ll; | |
611 | //boost::math::modf(v1 * 1, &ll); | |
612 | #endif | |
613 | boost::math::pow<2>(v1 * 1); | |
614 | boost::math::nextafter(v1 * 1, v1 + 0); | |
615 | boost::math::float_next(v1 * 1); | |
616 | boost::math::float_prior(v1 * 1); | |
617 | boost::math::float_distance(v1 * 1, v1 * 1); | |
618 | boost::math::ulp(v1 * 1); | |
619 | boost::math::relative_difference(v1 * 1, v2 * 1); | |
620 | boost::math::epsilon_difference(v1 * 1, v2 * 1); | |
621 | #endif | |
622 | #ifndef BOOST_MATH_INSTANTIATE_MINIMUM | |
1e59de90 | 623 | #ifdef TEST_GROUP_8 |
7c673cae FG |
624 | // |
625 | // All over again, with a policy this time: | |
626 | // | |
627 | test_policy pol; | |
628 | boost::math::tgamma(v1, pol); | |
629 | boost::math::tgamma1pm1(v1, pol); | |
630 | boost::math::lgamma(v1, pol); | |
631 | boost::math::lgamma(v1, &i, pol); | |
632 | boost::math::digamma(v1, pol); | |
633 | boost::math::trigamma(v1, pol); | |
634 | boost::math::polygamma(i, v1, pol); | |
635 | boost::math::tgamma_ratio(v1, v2, pol); | |
636 | boost::math::tgamma_delta_ratio(v1, v2, pol); | |
637 | boost::math::factorial<RealType>(i, pol); | |
638 | boost::math::unchecked_factorial<RealType>(i); | |
639 | i = boost::math::max_factorial<RealType>::value; | |
640 | boost::math::double_factorial<RealType>(i, pol); | |
641 | boost::math::rising_factorial(v1, i, pol); | |
642 | boost::math::falling_factorial(v1, i, pol); | |
643 | boost::math::tgamma(v1, v2, pol); | |
644 | boost::math::tgamma_lower(v1, v2, pol); | |
645 | boost::math::gamma_p(v1, v2, pol); | |
646 | boost::math::gamma_q(v1, v2, pol); | |
647 | boost::math::gamma_p_inv(v1, v2, pol); | |
648 | boost::math::gamma_q_inv(v1, v2, pol); | |
649 | boost::math::gamma_p_inva(v1, v2, pol); | |
650 | boost::math::gamma_q_inva(v1, v2, pol); | |
651 | boost::math::erf(v1, pol); | |
652 | boost::math::erfc(v1, pol); | |
653 | boost::math::erf_inv(v1, pol); | |
654 | boost::math::erfc_inv(v1, pol); | |
655 | boost::math::beta(v1, v2, pol); | |
656 | boost::math::beta(v1, v2, v3, pol); | |
657 | boost::math::betac(v1, v2, v3, pol); | |
658 | boost::math::ibeta(v1, v2, v3, pol); | |
659 | boost::math::ibetac(v1, v2, v3, pol); | |
660 | boost::math::ibeta_inv(v1, v2, v3, pol); | |
661 | boost::math::ibetac_inv(v1, v2, v3, pol); | |
662 | boost::math::ibeta_inva(v1, v2, v3, pol); | |
663 | boost::math::ibetac_inva(v1, v2, v3, pol); | |
664 | boost::math::ibeta_invb(v1, v2, v3, pol); | |
665 | boost::math::ibetac_invb(v1, v2, v3, pol); | |
666 | boost::math::gamma_p_derivative(v2, v3, pol); | |
667 | boost::math::ibeta_derivative(v1, v2, v3, pol); | |
668 | boost::math::binomial_coefficient<RealType>(i, i, pol); | |
669 | boost::math::log1p(v1, pol); | |
670 | boost::math::expm1(v1, pol); | |
671 | boost::math::cbrt(v1, pol); | |
672 | boost::math::sqrt1pm1(v1, pol); | |
673 | boost::math::powm1(v1, v2, pol); | |
674 | boost::math::legendre_p(1, v1, pol); | |
675 | boost::math::legendre_p(1, 0, v1, pol); | |
b32b8144 | 676 | boost::math::legendre_p_prime(1, v1 * 1, pol); |
7c673cae FG |
677 | boost::math::legendre_q(1, v1, pol); |
678 | boost::math::legendre_next(2, v1, v2, v3); | |
679 | boost::math::legendre_next(2, 2, v1, v2, v3); | |
680 | boost::math::laguerre(1, v1, pol); | |
681 | boost::math::laguerre(2, 1, v1, pol); | |
682 | boost::math::laguerre_next(2, v1, v2, v3); | |
683 | boost::math::laguerre_next(2, 1, v1, v2, v3); | |
684 | boost::math::hermite(1, v1, pol); | |
685 | boost::math::hermite_next(2, v1, v2, v3); | |
b32b8144 FG |
686 | boost::math::chebyshev_t(1, v1, pol); |
687 | boost::math::chebyshev_u(1, v1, pol); | |
688 | boost::math::chebyshev_t_prime(1, v1, pol); | |
7c673cae FG |
689 | boost::math::spherical_harmonic_r(2, 1, v1, v2, pol); |
690 | boost::math::spherical_harmonic_i(2, 1, v1, v2, pol); | |
691 | boost::math::ellint_1(v1, pol); | |
692 | boost::math::ellint_1(v1, v2, pol); | |
693 | boost::math::ellint_2(v1, pol); | |
694 | boost::math::ellint_2(v1, v2, pol); | |
695 | boost::math::ellint_3(v1, v2, pol); | |
696 | boost::math::ellint_3(v1, v2, v3, pol); | |
697 | boost::math::ellint_d(v1, pol); | |
698 | boost::math::ellint_d(v1, v2, pol); | |
699 | boost::math::jacobi_zeta(v1, v2, pol); | |
700 | boost::math::heuman_lambda(v1, v2, pol); | |
701 | boost::math::ellint_rc(v1, v2, pol); | |
702 | boost::math::ellint_rd(v1, v2, v3, pol); | |
703 | boost::math::ellint_rf(v1, v2, v3, pol); | |
704 | boost::math::ellint_rg(v1, v2, v3, pol); | |
705 | boost::math::ellint_rj(v1, v2, v3, v1, pol); | |
706 | boost::math::jacobi_elliptic(v1, v2, &v1, &v2, pol); | |
707 | boost::math::jacobi_cd(v1, v2, pol); | |
708 | boost::math::jacobi_cn(v1, v2, pol); | |
709 | boost::math::jacobi_cs(v1, v2, pol); | |
710 | boost::math::jacobi_dc(v1, v2, pol); | |
711 | boost::math::jacobi_dn(v1, v2, pol); | |
712 | boost::math::jacobi_ds(v1, v2, pol); | |
713 | boost::math::jacobi_nc(v1, v2, pol); | |
714 | boost::math::jacobi_nd(v1, v2, pol); | |
715 | boost::math::jacobi_ns(v1, v2, pol); | |
716 | boost::math::jacobi_sc(v1, v2, pol); | |
717 | boost::math::jacobi_sd(v1, v2, pol); | |
718 | boost::math::jacobi_sn(v1, v2, pol); | |
20effc67 TL |
719 | boost::math::jacobi_theta1(v1, v2, pol); |
720 | boost::math::jacobi_theta1tau(v1, v2, pol); | |
721 | boost::math::jacobi_theta2(v1, v2, pol); | |
722 | boost::math::jacobi_theta2tau(v1, v2, pol); | |
723 | boost::math::jacobi_theta3(v1, v2, pol); | |
724 | boost::math::jacobi_theta3tau(v1, v2, pol); | |
725 | boost::math::jacobi_theta3m1(v1, v2, pol); | |
726 | boost::math::jacobi_theta3m1tau(v1, v2, pol); | |
727 | boost::math::jacobi_theta4(v1, v2, pol); | |
728 | boost::math::jacobi_theta4tau(v1, v2, pol); | |
729 | boost::math::jacobi_theta4m1(v1, v2, pol); | |
730 | boost::math::jacobi_theta4m1tau(v1, v2, pol); | |
7c673cae FG |
731 | boost::math::hypot(v1, v2, pol); |
732 | boost::math::sinc_pi(v1, pol); | |
733 | boost::math::sinhc_pi(v1, pol); | |
734 | boost::math::asinh(v1, pol); | |
735 | boost::math::acosh(v1, pol); | |
736 | boost::math::atanh(v1, pol); | |
737 | boost::math::sin_pi(v1, pol); | |
738 | boost::math::cos_pi(v1, pol); | |
739 | boost::math::cyl_neumann(v1, v2, pol); | |
740 | boost::math::cyl_neumann(i, v2, pol); | |
741 | boost::math::cyl_bessel_j(v1, v2, pol); | |
742 | boost::math::cyl_bessel_j(i, v2, pol); | |
743 | boost::math::cyl_bessel_i(v1, v2, pol); | |
744 | boost::math::cyl_bessel_i(i, v2, pol); | |
745 | boost::math::cyl_bessel_k(v1, v2, pol); | |
746 | boost::math::cyl_bessel_k(i, v2, pol); | |
747 | boost::math::sph_bessel(i, v2, pol); | |
748 | boost::math::sph_bessel(i, 1, pol); | |
749 | boost::math::sph_neumann(i, v2, pol); | |
750 | boost::math::sph_neumann(i, i, pol); | |
751 | boost::math::cyl_neumann_prime(v1, v2, pol); | |
752 | boost::math::cyl_neumann_prime(i, v2, pol); | |
753 | boost::math::cyl_bessel_j_prime(v1, v2, pol); | |
754 | boost::math::cyl_bessel_j_prime(i, v2, pol); | |
755 | boost::math::cyl_bessel_i_prime(v1, v2, pol); | |
756 | boost::math::cyl_bessel_i_prime(i, v2, pol); | |
757 | boost::math::cyl_bessel_k_prime(v1, v2, pol); | |
758 | boost::math::cyl_bessel_k_prime(i, v2, pol); | |
759 | boost::math::sph_bessel_prime(i, v2, pol); | |
760 | boost::math::sph_bessel_prime(i, 1, pol); | |
761 | boost::math::sph_neumann_prime(i, v2, pol); | |
762 | boost::math::sph_neumann_prime(i, i, pol); | |
763 | boost::math::cyl_bessel_j_zero(v1, i, pol); | |
764 | boost::math::cyl_bessel_j_zero(v1, i, i, oi, pol); | |
765 | boost::math::cyl_neumann_zero(v1, i, pol); | |
766 | boost::math::cyl_neumann_zero(v1, i, i, oi, pol); | |
92f5a8d4 TL |
767 | boost::math::lambert_w0(v1, pol); |
768 | boost::math::lambert_wm1(v1, pol); | |
769 | boost::math::lambert_w0_prime(v1, pol); | |
7c673cae FG |
770 | #ifdef TEST_COMPLEX |
771 | boost::math::cyl_hankel_1(v1, v2, pol); | |
772 | boost::math::cyl_hankel_1(i, v2, pol); | |
773 | boost::math::cyl_hankel_2(v1, v2, pol); | |
774 | boost::math::cyl_hankel_2(i, v2, pol); | |
775 | boost::math::sph_hankel_1(v1, v2, pol); | |
776 | boost::math::sph_hankel_1(i, v2, pol); | |
777 | boost::math::sph_hankel_2(v1, v2, pol); | |
778 | boost::math::sph_hankel_2(i, v2, pol); | |
779 | #endif | |
780 | boost::math::airy_ai(v1, pol); | |
781 | boost::math::airy_bi(v1, pol); | |
782 | boost::math::airy_ai_prime(v1, pol); | |
783 | boost::math::airy_bi_prime(v1, pol); | |
784 | ||
785 | boost::math::airy_ai_zero<RealType>(i, pol); | |
786 | boost::math::airy_bi_zero<RealType>(i, pol); | |
787 | boost::math::airy_ai_zero<RealType>(i, i, oi, pol); | |
788 | boost::math::airy_bi_zero<RealType>(i, i, oi, pol); | |
789 | ||
92f5a8d4 TL |
790 | boost::math::hypergeometric_1F0(i, v2, pol); |
791 | boost::math::hypergeometric_1F0(v1, i, pol); | |
792 | boost::math::hypergeometric_1F0(i, i, pol); | |
793 | boost::math::hypergeometric_0F1(i, v2, pol); | |
794 | boost::math::hypergeometric_0F1(v1, i, pol); | |
795 | boost::math::hypergeometric_0F1(i, i, pol); | |
796 | boost::math::hypergeometric_2F0(i, v2, v3, pol); | |
797 | boost::math::hypergeometric_2F0(v1, i, v3, pol); | |
798 | boost::math::hypergeometric_2F0(v1, v2, i, pol); | |
799 | #if !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_CXX11_HDR_TUPLE) | |
800 | boost::math::hypergeometric_1F1(i, v2, v3, pol); | |
801 | boost::math::hypergeometric_1F1(v1, i, v3, pol); | |
802 | boost::math::hypergeometric_1F1(v1, v2, i, pol); | |
803 | #endif | |
804 | ||
7c673cae FG |
805 | boost::math::expint(v1, pol); |
806 | boost::math::expint(i, pol); | |
807 | boost::math::expint(i, v2, pol); | |
808 | boost::math::expint(i, i, pol); | |
809 | boost::math::zeta(v1, pol); | |
810 | boost::math::zeta(i, pol); | |
811 | boost::math::owens_t(v1, v2, pol); | |
812 | // | |
813 | // These next functions are intended to be found via ADL: | |
814 | // | |
815 | BOOST_MATH_STD_USING | |
816 | trunc(v1, pol); | |
817 | itrunc(v1, pol); | |
818 | ltrunc(v1, pol); | |
819 | round(v1, pol); | |
820 | iround(v1, pol); | |
821 | lround(v1, pol); | |
822 | modf(v1, &v1, pol); | |
823 | modf(v1, &i, pol); | |
824 | modf(v1, &l, pol); | |
825 | #ifdef BOOST_HAS_LONG_LONG | |
826 | using boost::math::lltrunc; | |
827 | using boost::math::llround; | |
828 | lltrunc(v1, pol); | |
829 | llround(v1, pol); | |
830 | modf(v1, &ll, pol); | |
831 | #endif | |
832 | boost::math::pow<2>(v1, pol); | |
833 | boost::math::nextafter(v1, v1, pol); | |
834 | boost::math::float_next(v1, pol); | |
835 | boost::math::float_prior(v1, pol); | |
836 | boost::math::float_distance(v1, v1, pol); | |
837 | boost::math::ulp(v1, pol); | |
838 | ||
839 | boost::math::bernoulli_b2n<RealType>(i, pol); | |
840 | boost::math::bernoulli_b2n<RealType>(i, i, &v1, pol); | |
841 | boost::math::tangent_t2n<RealType>(i, pol); | |
842 | boost::math::tangent_t2n<RealType>(i, i, &v1, pol); | |
843 | #endif | |
1e59de90 | 844 | #ifdef TEST_GROUP_9 |
7c673cae FG |
845 | // |
846 | // All over again with the versions in test:: | |
847 | // | |
848 | test::tgamma(v1); | |
849 | test::tgamma1pm1(v1); | |
850 | test::lgamma(v1); | |
851 | test::lgamma(v1, &i); | |
852 | test::digamma(v1); | |
853 | test::trigamma(v1); | |
854 | test::polygamma(i, v1); | |
855 | test::tgamma_ratio(v1, v2); | |
856 | test::tgamma_delta_ratio(v1, v2); | |
857 | test::factorial<RealType>(i); | |
858 | test::unchecked_factorial<RealType>(i); | |
859 | i = test::max_factorial<RealType>::value; | |
860 | test::double_factorial<RealType>(i); | |
861 | test::rising_factorial(v1, i); | |
862 | test::falling_factorial(v1, i); | |
863 | test::tgamma(v1, v2); | |
864 | test::tgamma_lower(v1, v2); | |
865 | test::gamma_p(v1, v2); | |
866 | test::gamma_q(v1, v2); | |
867 | test::gamma_p_inv(v1, v2); | |
868 | test::gamma_q_inv(v1, v2); | |
869 | test::gamma_p_inva(v1, v2); | |
870 | test::gamma_q_inva(v1, v2); | |
871 | test::erf(v1); | |
872 | test::erfc(v1); | |
873 | test::erf_inv(v1); | |
874 | test::erfc_inv(v1); | |
875 | test::beta(v1, v2); | |
876 | test::beta(v1, v2, v3); | |
877 | test::betac(v1, v2, v3); | |
878 | test::ibeta(v1, v2, v3); | |
879 | test::ibetac(v1, v2, v3); | |
880 | test::ibeta_inv(v1, v2, v3); | |
881 | test::ibetac_inv(v1, v2, v3); | |
882 | test::ibeta_inva(v1, v2, v3); | |
883 | test::ibetac_inva(v1, v2, v3); | |
884 | test::ibeta_invb(v1, v2, v3); | |
885 | test::ibetac_invb(v1, v2, v3); | |
886 | test::gamma_p_derivative(v2, v3); | |
887 | test::ibeta_derivative(v1, v2, v3); | |
888 | test::binomial_coefficient<RealType>(i, i); | |
889 | (test::fpclassify)(v1); | |
890 | (test::isfinite)(v1); | |
891 | (test::isnormal)(v1); | |
892 | (test::isnan)(v1); | |
893 | (test::isinf)(v1); | |
894 | (test::signbit)(v1); | |
895 | (test::copysign)(v1, v2); | |
896 | (test::changesign)(v1); | |
897 | (test::sign)(v1); | |
898 | test::log1p(v1); | |
899 | test::expm1(v1); | |
900 | test::cbrt(v1); | |
901 | test::sqrt1pm1(v1); | |
902 | test::powm1(v1, v2); | |
903 | test::legendre_p(1, v1); | |
904 | test::legendre_p(1, 0, v1); | |
b32b8144 | 905 | test::legendre_p_prime(1, v1 * 1); |
7c673cae FG |
906 | test::legendre_q(1, v1); |
907 | test::legendre_next(2, v1, v2, v3); | |
908 | test::legendre_next(2, 2, v1, v2, v3); | |
909 | test::laguerre(1, v1); | |
910 | test::laguerre(2, 1, v1); | |
911 | test::laguerre_next(2, v1, v2, v3); | |
912 | test::laguerre_next(2, 1, v1, v2, v3); | |
913 | test::hermite(1, v1); | |
914 | test::hermite_next(2, v1, v2, v3); | |
b32b8144 FG |
915 | test::chebyshev_next(v1, v2, v3); |
916 | test::chebyshev_t(1, v1); | |
917 | test::chebyshev_u(1, v1); | |
918 | test::chebyshev_t_prime(1, v1); | |
919 | test::chebyshev_clenshaw_recurrence(&v1, 0, v2); | |
7c673cae FG |
920 | test::spherical_harmonic_r(2, 1, v1, v2); |
921 | test::spherical_harmonic_i(2, 1, v1, v2); | |
922 | test::ellint_1(v1); | |
923 | test::ellint_1(v1, v2); | |
924 | test::ellint_2(v1); | |
925 | test::ellint_2(v1, v2); | |
926 | test::ellint_3(v1, v2); | |
927 | test::ellint_3(v1, v2, v3); | |
928 | test::ellint_d(v1); | |
929 | test::ellint_d(v1, v2); | |
930 | test::jacobi_zeta(v1, v2); | |
931 | test::heuman_lambda(v1, v2); | |
932 | test::ellint_rc(v1, v2); | |
933 | test::ellint_rd(v1, v2, v3); | |
934 | test::ellint_rf(v1, v2, v3); | |
935 | test::ellint_rg(v1, v2, v3); | |
936 | test::ellint_rj(v1, v2, v3, v1); | |
937 | test::jacobi_elliptic(v1, v2, &v1, &v2); | |
938 | test::jacobi_cd(v1, v2); | |
939 | test::jacobi_cn(v1, v2); | |
940 | test::jacobi_cs(v1, v2); | |
941 | test::jacobi_dc(v1, v2); | |
942 | test::jacobi_dn(v1, v2); | |
943 | test::jacobi_ds(v1, v2); | |
944 | test::jacobi_nc(v1, v2); | |
945 | test::jacobi_nd(v1, v2); | |
946 | test::jacobi_ns(v1, v2); | |
947 | test::jacobi_sc(v1, v2); | |
948 | test::jacobi_sd(v1, v2); | |
949 | test::jacobi_sn(v1, v2); | |
20effc67 TL |
950 | test::jacobi_theta1(v1, v2); |
951 | test::jacobi_theta1tau(v1, v2); | |
952 | test::jacobi_theta2(v1, v2); | |
953 | test::jacobi_theta2tau(v1, v2); | |
954 | test::jacobi_theta3(v1, v2); | |
955 | test::jacobi_theta3tau(v1, v2); | |
956 | test::jacobi_theta3m1(v1, v2); | |
957 | test::jacobi_theta3m1tau(v1, v2); | |
958 | test::jacobi_theta4(v1, v2); | |
959 | test::jacobi_theta4tau(v1, v2); | |
960 | test::jacobi_theta4m1(v1, v2); | |
961 | test::jacobi_theta4m1tau(v1, v2); | |
7c673cae FG |
962 | test::hypot(v1, v2); |
963 | test::sinc_pi(v1); | |
964 | test::sinhc_pi(v1); | |
965 | test::asinh(v1); | |
966 | test::acosh(v1); | |
967 | test::atanh(v1); | |
968 | test::sin_pi(v1); | |
969 | test::cos_pi(v1); | |
970 | test::cyl_neumann(v1, v2); | |
971 | test::cyl_neumann(i, v2); | |
972 | test::cyl_bessel_j(v1, v2); | |
973 | test::cyl_bessel_j(i, v2); | |
974 | test::cyl_bessel_i(v1, v2); | |
975 | test::cyl_bessel_i(i, v2); | |
976 | test::cyl_bessel_k(v1, v2); | |
977 | test::cyl_bessel_k(i, v2); | |
978 | test::sph_bessel(i, v2); | |
979 | test::sph_bessel(i, 1); | |
980 | test::sph_neumann(i, v2); | |
981 | test::sph_neumann(i, i); | |
982 | test::cyl_neumann_prime(v1, v2); | |
983 | test::cyl_neumann_prime(i, v2); | |
984 | test::cyl_bessel_j_prime(v1, v2); | |
985 | test::cyl_bessel_j_prime(i, v2); | |
986 | test::cyl_bessel_i_prime(v1, v2); | |
987 | test::cyl_bessel_i_prime(i, v2); | |
988 | test::cyl_bessel_k_prime(v1, v2); | |
989 | test::cyl_bessel_k_prime(i, v2); | |
990 | test::sph_bessel_prime(i, v2); | |
991 | test::sph_bessel_prime(i, 1); | |
992 | test::sph_neumann_prime(i, v2); | |
993 | test::sph_neumann_prime(i, i); | |
994 | test::cyl_bessel_j_zero(v1, i); | |
995 | test::cyl_bessel_j_zero(v1, i, i, oi); | |
996 | test::cyl_neumann_zero(v1, i); | |
997 | test::cyl_neumann_zero(v1, i, i, oi); | |
92f5a8d4 TL |
998 | test::lambert_w0(v1); |
999 | test::lambert_wm1(v1); | |
1000 | test::lambert_w0_prime(v1); | |
7c673cae FG |
1001 | #ifdef TEST_COMPLEX |
1002 | test::cyl_hankel_1(v1, v2); | |
1003 | test::cyl_hankel_1(i, v2); | |
1004 | test::cyl_hankel_2(v1, v2); | |
1005 | test::cyl_hankel_2(i, v2); | |
1006 | test::sph_hankel_1(v1, v2); | |
1007 | test::sph_hankel_1(i, v2); | |
1008 | test::sph_hankel_2(v1, v2); | |
1009 | test::sph_hankel_2(i, v2); | |
1010 | #endif | |
1011 | test::airy_ai(i); | |
1012 | test::airy_bi(i); | |
1013 | test::airy_ai_prime(i); | |
1014 | test::airy_bi_prime(i); | |
1015 | ||
1016 | test::airy_ai_zero<RealType>(i); | |
1017 | test::airy_bi_zero<RealType>(i); | |
1018 | test::airy_ai_zero<RealType>(i, i, oi); | |
1019 | test::airy_bi_zero<RealType>(i, i, oi); | |
1020 | ||
92f5a8d4 TL |
1021 | test::hypergeometric_1F0(v1, v2); |
1022 | test::hypergeometric_0F1(v1, v2); | |
1023 | test::hypergeometric_2F0(v1, v1, v2); | |
1024 | #if !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_CXX11_HDR_TUPLE) | |
1025 | test::hypergeometric_1F1(v1, v2, v2); | |
1026 | #endif | |
1027 | ||
7c673cae FG |
1028 | test::expint(v1); |
1029 | test::expint(i); | |
1030 | test::expint(i, v2); | |
1031 | test::expint(i, i); | |
1032 | test::zeta(v1); | |
1033 | test::zeta(i); | |
1034 | test::owens_t(v1, v2); | |
1035 | test::trunc(v1); | |
1036 | test::itrunc(v1); | |
1037 | test::ltrunc(v1); | |
1038 | test::round(v1); | |
1039 | test::iround(v1); | |
1040 | test::lround(v1); | |
1041 | test::modf(v1, &v1); | |
1042 | test::modf(v1, &i); | |
1043 | test::modf(v1, &l); | |
1044 | #ifdef BOOST_HAS_LONG_LONG | |
1045 | test::lltrunc(v1); | |
1046 | test::llround(v1); | |
1047 | test::modf(v1, &ll); | |
1048 | #endif | |
1049 | test::pow<2>(v1); | |
1050 | test::nextafter(v1, v1); | |
1051 | test::float_next(v1); | |
1052 | test::float_prior(v1); | |
1053 | test::float_distance(v1, v1); | |
1054 | test::ulp(v1); | |
1055 | #endif | |
1056 | #endif | |
1057 | } | |
1058 | ||
1059 | template <class RealType> | |
1060 | void instantiate_mixed(RealType) | |
1061 | { | |
1062 | using namespace boost; | |
1063 | using namespace boost::math; | |
1064 | #ifndef BOOST_MATH_INSTANTIATE_MINIMUM | |
1065 | int i = 1; | |
b32b8144 | 1066 | (void)i; |
7c673cae | 1067 | long l = 1; |
b32b8144 | 1068 | (void)l; |
7c673cae | 1069 | short s = 1; |
b32b8144 | 1070 | (void)s; |
7c673cae | 1071 | float fr = 0.5F; |
b32b8144 | 1072 | (void)fr; |
7c673cae | 1073 | double dr = 0.5; |
b32b8144 | 1074 | (void)dr; |
7c673cae FG |
1075 | #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS |
1076 | long double lr = 0.5L; | |
b32b8144 | 1077 | (void)lr; |
7c673cae FG |
1078 | #else |
1079 | double lr = 0.5L; | |
b32b8144 | 1080 | (void)lr; |
7c673cae | 1081 | #endif |
1e59de90 | 1082 | #ifdef TEST_GROUP_10 |
7c673cae FG |
1083 | boost::math::tgamma(i); |
1084 | boost::math::tgamma1pm1(i); | |
1085 | boost::math::lgamma(i); | |
1086 | boost::math::lgamma(i, &i); | |
1087 | boost::math::digamma(i); | |
1088 | boost::math::trigamma(i); | |
1089 | boost::math::polygamma(i, i); | |
1090 | boost::math::tgamma_ratio(i, l); | |
1091 | boost::math::tgamma_ratio(fr, lr); | |
1092 | boost::math::tgamma_delta_ratio(i, s); | |
1093 | boost::math::tgamma_delta_ratio(fr, lr); | |
1094 | boost::math::rising_factorial(s, i); | |
1095 | boost::math::falling_factorial(s, i); | |
1096 | boost::math::tgamma(i, l); | |
1097 | boost::math::tgamma(fr, lr); | |
1098 | boost::math::tgamma_lower(i, s); | |
1099 | boost::math::tgamma_lower(fr, lr); | |
1100 | boost::math::gamma_p(i, s); | |
1101 | boost::math::gamma_p(fr, lr); | |
1102 | boost::math::gamma_q(i, s); | |
1103 | boost::math::gamma_q(fr, lr); | |
1104 | boost::math::gamma_p_inv(i, fr); | |
1105 | boost::math::gamma_q_inv(s, fr); | |
1106 | boost::math::gamma_p_inva(i, lr); | |
1107 | boost::math::gamma_q_inva(i, lr); | |
1108 | boost::math::erf(i); | |
1109 | boost::math::erfc(i); | |
1110 | boost::math::erf_inv(i); | |
1111 | boost::math::erfc_inv(i); | |
1112 | boost::math::beta(i, s); | |
1113 | boost::math::beta(fr, lr); | |
1114 | boost::math::beta(i, s, l); | |
1115 | boost::math::beta(fr, dr, lr); | |
1116 | boost::math::betac(l, i, s); | |
1117 | boost::math::betac(fr, dr, lr); | |
1118 | boost::math::ibeta(l, i, s); | |
1119 | boost::math::ibeta(fr, dr, lr); | |
1120 | boost::math::ibetac(l, i, s); | |
1121 | boost::math::ibetac(fr, dr, lr); | |
1122 | boost::math::ibeta_inv(l, s, i); | |
1123 | boost::math::ibeta_inv(fr, dr, lr); | |
1124 | boost::math::ibetac_inv(l, i, s); | |
1125 | boost::math::ibetac_inv(fr, dr, lr); | |
1126 | boost::math::ibeta_inva(l, i, s); | |
1127 | boost::math::ibeta_inva(fr, dr, lr); | |
1128 | boost::math::ibetac_inva(l, i, s); | |
1129 | boost::math::ibetac_inva(fr, dr, lr); | |
1130 | boost::math::ibeta_invb(l, i, s); | |
1131 | boost::math::ibeta_invb(fr, dr, lr); | |
1132 | boost::math::ibetac_invb(l, i, s); | |
1133 | boost::math::ibetac_invb(fr, dr, lr); | |
1134 | boost::math::gamma_p_derivative(i, l); | |
1135 | boost::math::gamma_p_derivative(fr, lr); | |
1136 | boost::math::ibeta_derivative(l, i, s); | |
1137 | boost::math::ibeta_derivative(fr, dr, lr); | |
1138 | (boost::math::fpclassify)(i); | |
1139 | (boost::math::isfinite)(s); | |
1140 | (boost::math::isnormal)(l); | |
1141 | (boost::math::isnan)(i); | |
1142 | (boost::math::isinf)(l); | |
1143 | boost::math::log1p(i); | |
1144 | boost::math::expm1(s); | |
1145 | boost::math::cbrt(l); | |
1146 | boost::math::sqrt1pm1(s); | |
1147 | boost::math::powm1(i, s); | |
1148 | boost::math::powm1(fr, lr); | |
1149 | //boost::math::legendre_p(1, i); | |
1150 | boost::math::legendre_p(1, 0, s); | |
1151 | boost::math::legendre_q(1, i); | |
1152 | boost::math::laguerre(1, i); | |
1153 | boost::math::laguerre(2, 1, i); | |
1154 | boost::math::laguerre(2u, 1u, s); | |
1155 | boost::math::hermite(1, s); | |
b32b8144 FG |
1156 | boost::math::chebyshev_t(1, i); |
1157 | boost::math::chebyshev_u(1, i); | |
1158 | boost::math::chebyshev_t_prime(1, i); | |
7c673cae FG |
1159 | boost::math::spherical_harmonic_r(2, 1, s, i); |
1160 | boost::math::spherical_harmonic_i(2, 1, fr, lr); | |
1161 | boost::math::ellint_1(i); | |
1162 | boost::math::ellint_1(i, s); | |
1163 | boost::math::ellint_1(fr, lr); | |
1164 | boost::math::ellint_2(i); | |
1165 | boost::math::ellint_2(i, l); | |
1166 | boost::math::ellint_2(fr, lr); | |
1167 | boost::math::ellint_3(i, l); | |
1168 | boost::math::ellint_3(fr, lr); | |
1169 | boost::math::ellint_3(s, l, i); | |
1170 | boost::math::ellint_3(fr, dr, lr); | |
1171 | boost::math::ellint_d(i); | |
1172 | boost::math::ellint_d(i, l); | |
1173 | boost::math::ellint_d(fr, lr); | |
1174 | boost::math::jacobi_zeta(i, l); | |
1175 | boost::math::jacobi_zeta(fr, lr); | |
1176 | boost::math::heuman_lambda(i, l); | |
1177 | boost::math::heuman_lambda(fr, lr); | |
1178 | boost::math::ellint_rc(i, s); | |
1179 | boost::math::ellint_rc(fr, lr); | |
1180 | boost::math::ellint_rd(s, i, l); | |
1181 | boost::math::ellint_rd(fr, lr, dr); | |
1182 | boost::math::ellint_rf(s, l, i); | |
1183 | boost::math::ellint_rf(fr, dr, lr); | |
1184 | boost::math::ellint_rg(s, l, i); | |
1185 | boost::math::ellint_rg(fr, dr, lr); | |
1186 | boost::math::ellint_rj(i, i, s, l); | |
1187 | boost::math::ellint_rj(i, fr, dr, lr); | |
1188 | boost::math::jacobi_cd(i, fr); | |
1189 | boost::math::jacobi_cn(i, fr); | |
1190 | boost::math::jacobi_cs(i, fr); | |
1191 | boost::math::jacobi_dc(i, fr); | |
1192 | boost::math::jacobi_dn(i, fr); | |
1193 | boost::math::jacobi_ds(i, fr); | |
1194 | boost::math::jacobi_nc(i, fr); | |
1195 | boost::math::jacobi_nd(i, fr); | |
1196 | boost::math::jacobi_ns(i, fr); | |
1197 | boost::math::jacobi_sc(i, fr); | |
1198 | boost::math::jacobi_sd(i, fr); | |
1199 | boost::math::jacobi_sn(i, fr); | |
20effc67 TL |
1200 | boost::math::jacobi_theta1(i, fr); |
1201 | boost::math::jacobi_theta1tau(i, fr); | |
1202 | boost::math::jacobi_theta2(i, fr); | |
1203 | boost::math::jacobi_theta2tau(i, fr); | |
1204 | boost::math::jacobi_theta3(i, fr); | |
1205 | boost::math::jacobi_theta3tau(i, fr); | |
1206 | boost::math::jacobi_theta3m1(i, fr); | |
1207 | boost::math::jacobi_theta3m1tau(i, fr); | |
1208 | boost::math::jacobi_theta4(i, fr); | |
1209 | boost::math::jacobi_theta4tau(i, fr); | |
1210 | boost::math::jacobi_theta4m1(i, fr); | |
1211 | boost::math::jacobi_theta4m1tau(i, fr); | |
7c673cae FG |
1212 | boost::math::hypot(i, s); |
1213 | boost::math::hypot(fr, lr); | |
1214 | boost::math::sinc_pi(i); | |
1215 | boost::math::sinhc_pi(i); | |
1216 | boost::math::asinh(s); | |
1217 | boost::math::acosh(l); | |
1218 | boost::math::atanh(l); | |
1219 | boost::math::sin_pi(s); | |
1220 | boost::math::cos_pi(s); | |
1221 | boost::math::cyl_neumann(fr, dr); | |
1222 | boost::math::cyl_neumann(i, s); | |
1223 | boost::math::cyl_bessel_j(fr, lr); | |
1224 | boost::math::cyl_bessel_j(i, s); | |
1225 | boost::math::cyl_bessel_i(fr, lr); | |
1226 | boost::math::cyl_bessel_i(i, s); | |
1227 | boost::math::cyl_bessel_k(fr, lr); | |
1228 | boost::math::cyl_bessel_k(i, s); | |
1229 | boost::math::sph_bessel(i, fr); | |
1230 | boost::math::sph_bessel(i, 1); | |
1231 | boost::math::sph_neumann(i, lr); | |
1232 | boost::math::sph_neumann(i, i); | |
1233 | boost::math::cyl_neumann_prime(fr, dr); | |
1234 | boost::math::cyl_neumann_prime(i, s); | |
1235 | boost::math::cyl_bessel_j_prime(fr, lr); | |
1236 | boost::math::cyl_bessel_j_prime(i, s); | |
1237 | boost::math::cyl_bessel_i_prime(fr, lr); | |
1238 | boost::math::cyl_bessel_i_prime(i, s); | |
1239 | boost::math::cyl_bessel_k_prime(fr, lr); | |
1240 | boost::math::cyl_bessel_k_prime(i, s); | |
1241 | boost::math::sph_bessel_prime(i, fr); | |
1242 | boost::math::sph_bessel_prime(i, 1); | |
1243 | boost::math::sph_neumann_prime(i, lr); | |
1244 | boost::math::sph_neumann_prime(i, i); | |
1245 | boost::math::owens_t(fr, dr); | |
1246 | boost::math::owens_t(i, s); | |
1247 | ||
1248 | boost::math::policies::policy<> pol; | |
1249 | ||
1250 | ||
1251 | boost::math::tgamma(i, pol); | |
1252 | boost::math::tgamma1pm1(i, pol); | |
1253 | boost::math::lgamma(i, pol); | |
1254 | boost::math::lgamma(i, &i, pol); | |
1255 | boost::math::digamma(i, pol); | |
1256 | boost::math::trigamma(i, pol); | |
1257 | boost::math::polygamma(i, i, pol); | |
1258 | boost::math::tgamma_ratio(i, l, pol); | |
1259 | boost::math::tgamma_ratio(fr, lr, pol); | |
1260 | boost::math::tgamma_delta_ratio(i, s, pol); | |
1261 | boost::math::tgamma_delta_ratio(fr, lr, pol); | |
1262 | boost::math::rising_factorial(s, i, pol); | |
1263 | boost::math::falling_factorial(s, i, pol); | |
1264 | boost::math::tgamma(i, l, pol); | |
1265 | boost::math::tgamma(fr, lr, pol); | |
1266 | boost::math::tgamma_lower(i, s, pol); | |
1267 | boost::math::tgamma_lower(fr, lr, pol); | |
1268 | boost::math::gamma_p(i, s, pol); | |
1269 | boost::math::gamma_p(fr, lr, pol); | |
1270 | boost::math::gamma_q(i, s, pol); | |
1271 | boost::math::gamma_q(fr, lr, pol); | |
1272 | boost::math::gamma_p_inv(i, fr, pol); | |
1273 | boost::math::gamma_q_inv(s, fr, pol); | |
1274 | boost::math::gamma_p_inva(i, lr, pol); | |
1275 | boost::math::gamma_q_inva(i, lr, pol); | |
1276 | boost::math::erf(i, pol); | |
1277 | boost::math::erfc(i, pol); | |
1278 | boost::math::erf_inv(i, pol); | |
1279 | boost::math::erfc_inv(i, pol); | |
1280 | boost::math::beta(i, s, pol); | |
1281 | boost::math::beta(fr, lr, pol); | |
1282 | boost::math::beta(i, s, l, pol); | |
1283 | boost::math::beta(fr, dr, lr, pol); | |
1284 | boost::math::betac(l, i, s, pol); | |
1285 | boost::math::betac(fr, dr, lr, pol); | |
1286 | boost::math::ibeta(l, i, s, pol); | |
1287 | boost::math::ibeta(fr, dr, lr, pol); | |
1288 | boost::math::ibetac(l, i, s, pol); | |
1289 | boost::math::ibetac(fr, dr, lr, pol); | |
1290 | boost::math::ibeta_inv(l, s, i, pol); | |
1291 | boost::math::ibeta_inv(fr, dr, lr, pol); | |
1292 | boost::math::ibetac_inv(l, i, s, pol); | |
1293 | boost::math::ibetac_inv(fr, dr, lr, pol); | |
1294 | boost::math::ibeta_inva(l, i, s, pol); | |
1295 | boost::math::ibeta_inva(fr, dr, lr, pol); | |
1296 | boost::math::ibetac_inva(l, i, s, pol); | |
1297 | boost::math::ibetac_inva(fr, dr, lr, pol); | |
1298 | boost::math::ibeta_invb(l, i, s, pol); | |
1299 | boost::math::ibeta_invb(fr, dr, lr, pol); | |
1300 | boost::math::ibetac_invb(l, i, s, pol); | |
1301 | boost::math::ibetac_invb(fr, dr, lr, pol); | |
1302 | boost::math::gamma_p_derivative(i, l, pol); | |
1303 | boost::math::gamma_p_derivative(fr, lr, pol); | |
1304 | boost::math::ibeta_derivative(l, i, s, pol); | |
1305 | boost::math::ibeta_derivative(fr, dr, lr, pol); | |
1306 | boost::math::log1p(i, pol); | |
1307 | boost::math::expm1(s, pol); | |
1308 | boost::math::cbrt(l, pol); | |
1309 | boost::math::sqrt1pm1(s, pol); | |
1310 | boost::math::powm1(i, s, pol); | |
1311 | boost::math::powm1(fr, lr, pol); | |
1312 | //boost::math::legendre_p(1, i, pol); | |
1313 | boost::math::legendre_p(1, 0, s, pol); | |
1314 | boost::math::legendre_q(1, i, pol); | |
1315 | boost::math::laguerre(1, i, pol); | |
1316 | boost::math::laguerre(2, 1, i, pol); | |
1317 | boost::math::laguerre(2u, 1u, s, pol); | |
1318 | boost::math::hermite(1, s, pol); | |
b32b8144 FG |
1319 | boost::math::chebyshev_t(1, i, pol); |
1320 | boost::math::chebyshev_u(1, i, pol); | |
1321 | boost::math::chebyshev_t_prime(1, i, pol); | |
7c673cae FG |
1322 | boost::math::spherical_harmonic_r(2, 1, s, i, pol); |
1323 | boost::math::spherical_harmonic_i(2, 1, fr, lr, pol); | |
1324 | boost::math::ellint_1(i, pol); | |
1325 | boost::math::ellint_1(i, s, pol); | |
1326 | boost::math::ellint_1(fr, lr, pol); | |
1327 | boost::math::ellint_2(i, pol); | |
1328 | boost::math::ellint_2(i, l, pol); | |
1329 | boost::math::ellint_2(fr, lr, pol); | |
1330 | boost::math::ellint_3(i, l, pol); | |
1331 | boost::math::ellint_3(fr, lr, pol); | |
1332 | boost::math::ellint_3(s, l, i, pol); | |
1333 | boost::math::ellint_3(fr, dr, lr, pol); | |
1334 | boost::math::ellint_d(i, pol); | |
1335 | boost::math::ellint_d(i, l, pol); | |
1336 | boost::math::ellint_d(fr, lr, pol); | |
1337 | boost::math::jacobi_zeta(i, l, pol); | |
1338 | boost::math::jacobi_zeta(fr, lr, pol); | |
1339 | boost::math::heuman_lambda(i, l, pol); | |
1340 | boost::math::heuman_lambda(fr, lr, pol); | |
1341 | boost::math::ellint_rc(i, s, pol); | |
1342 | boost::math::ellint_rc(fr, lr, pol); | |
1343 | boost::math::ellint_rd(s, i, l, pol); | |
1344 | boost::math::ellint_rd(fr, lr, dr, pol); | |
1345 | boost::math::ellint_rf(s, l, i, pol); | |
1346 | boost::math::ellint_rf(fr, dr, lr, pol); | |
1347 | boost::math::ellint_rg(s, l, i, pol); | |
1348 | boost::math::ellint_rg(fr, dr, lr, pol); | |
1349 | boost::math::ellint_rj(i, i, s, l, pol); | |
1350 | boost::math::ellint_rj(i, fr, dr, lr, pol); | |
1351 | boost::math::jacobi_cd(i, fr, pol); | |
1352 | boost::math::jacobi_cn(i, fr, pol); | |
1353 | boost::math::jacobi_cs(i, fr, pol); | |
1354 | boost::math::jacobi_dc(i, fr, pol); | |
1355 | boost::math::jacobi_dn(i, fr, pol); | |
1356 | boost::math::jacobi_ds(i, fr, pol); | |
1357 | boost::math::jacobi_nc(i, fr, pol); | |
1358 | boost::math::jacobi_nd(i, fr, pol); | |
1359 | boost::math::jacobi_ns(i, fr, pol); | |
1360 | boost::math::jacobi_sc(i, fr, pol); | |
1361 | boost::math::jacobi_sd(i, fr, pol); | |
1362 | boost::math::jacobi_sn(i, fr, pol); | |
20effc67 TL |
1363 | boost::math::jacobi_theta1(i, fr, pol); |
1364 | boost::math::jacobi_theta1tau(i, fr, pol); | |
1365 | boost::math::jacobi_theta2(i, fr, pol); | |
1366 | boost::math::jacobi_theta2tau(i, fr, pol); | |
1367 | boost::math::jacobi_theta3(i, fr, pol); | |
1368 | boost::math::jacobi_theta3tau(i, fr, pol); | |
1369 | boost::math::jacobi_theta3m1(i, fr, pol); | |
1370 | boost::math::jacobi_theta3m1tau(i, fr, pol); | |
1371 | boost::math::jacobi_theta4(i, fr, pol); | |
1372 | boost::math::jacobi_theta4tau(i, fr, pol); | |
1373 | boost::math::jacobi_theta4m1(i, fr, pol); | |
1374 | boost::math::jacobi_theta4m1tau(i, fr, pol); | |
7c673cae FG |
1375 | boost::math::hypot(i, s, pol); |
1376 | boost::math::hypot(fr, lr, pol); | |
1377 | boost::math::sinc_pi(i, pol); | |
1378 | boost::math::sinhc_pi(i, pol); | |
1379 | boost::math::asinh(s, pol); | |
1380 | boost::math::acosh(l, pol); | |
1381 | boost::math::atanh(l, pol); | |
1382 | boost::math::sin_pi(s, pol); | |
1383 | boost::math::cos_pi(s, pol); | |
1384 | boost::math::cyl_neumann(fr, dr, pol); | |
1385 | boost::math::cyl_neumann(i, s, pol); | |
1386 | boost::math::cyl_bessel_j(fr, lr, pol); | |
1387 | boost::math::cyl_bessel_j(i, s, pol); | |
1388 | boost::math::cyl_bessel_i(fr, lr, pol); | |
1389 | boost::math::cyl_bessel_i(i, s, pol); | |
1390 | boost::math::cyl_bessel_k(fr, lr, pol); | |
1391 | boost::math::cyl_bessel_k(i, s, pol); | |
1392 | boost::math::sph_bessel(i, fr, pol); | |
1393 | boost::math::sph_bessel(i, 1, pol); | |
1394 | boost::math::sph_neumann(i, lr, pol); | |
1395 | boost::math::sph_neumann(i, i, pol); | |
1396 | boost::math::cyl_neumann_prime(fr, dr, pol); | |
1397 | boost::math::cyl_neumann_prime(i, s, pol); | |
1398 | boost::math::cyl_bessel_j_prime(fr, lr, pol); | |
1399 | boost::math::cyl_bessel_j_prime(i, s, pol); | |
1400 | boost::math::cyl_bessel_i_prime(fr, lr, pol); | |
1401 | boost::math::cyl_bessel_i_prime(i, s, pol); | |
1402 | boost::math::cyl_bessel_k_prime(fr, lr, pol); | |
1403 | boost::math::cyl_bessel_k_prime(i, s, pol); | |
1404 | boost::math::sph_bessel_prime(i, fr, pol); | |
1405 | boost::math::sph_bessel_prime(i, 1, pol); | |
1406 | boost::math::sph_neumann_prime(i, lr, pol); | |
1407 | boost::math::sph_neumann_prime(i, i, pol); | |
1408 | boost::math::owens_t(fr, dr, pol); | |
1409 | boost::math::owens_t(i, s, pol); | |
92f5a8d4 TL |
1410 | boost::math::lambert_w0(i, pol); |
1411 | boost::math::lambert_wm1(i, pol); | |
1412 | boost::math::lambert_w0_prime(i, pol); | |
7c673cae | 1413 | #endif |
1e59de90 | 1414 | #ifdef TEST_GROUP_11 |
7c673cae FG |
1415 | test::tgamma(i); |
1416 | test::tgamma1pm1(i); | |
1417 | test::lgamma(i); | |
1418 | test::lgamma(i, &i); | |
1419 | test::digamma(i); | |
1420 | test::trigamma(i); | |
1421 | test::polygamma(i, i); | |
1422 | test::tgamma_ratio(i, l); | |
1423 | test::tgamma_ratio(fr, lr); | |
1424 | test::tgamma_delta_ratio(i, s); | |
1425 | test::tgamma_delta_ratio(fr, lr); | |
1426 | test::rising_factorial(s, i); | |
1427 | test::falling_factorial(s, i); | |
1428 | test::tgamma(i, l); | |
1429 | test::tgamma(fr, lr); | |
1430 | test::tgamma_lower(i, s); | |
1431 | test::tgamma_lower(fr, lr); | |
1432 | test::gamma_p(i, s); | |
1433 | test::gamma_p(fr, lr); | |
1434 | test::gamma_q(i, s); | |
1435 | test::gamma_q(fr, lr); | |
1436 | test::gamma_p_inv(i, fr); | |
1437 | test::gamma_q_inv(s, fr); | |
1438 | test::gamma_p_inva(i, lr); | |
1439 | test::gamma_q_inva(i, lr); | |
1440 | test::erf(i); | |
1441 | test::erfc(i); | |
1442 | test::erf_inv(i); | |
1443 | test::erfc_inv(i); | |
1444 | test::beta(i, s); | |
1445 | test::beta(fr, lr); | |
1446 | test::beta(i, s, l); | |
1447 | test::beta(fr, dr, lr); | |
1448 | test::betac(l, i, s); | |
1449 | test::betac(fr, dr, lr); | |
1450 | test::ibeta(l, i, s); | |
1451 | test::ibeta(fr, dr, lr); | |
1452 | test::ibetac(l, i, s); | |
1453 | test::ibetac(fr, dr, lr); | |
1454 | test::ibeta_inv(l, s, i); | |
1455 | test::ibeta_inv(fr, dr, lr); | |
1456 | test::ibetac_inv(l, i, s); | |
1457 | test::ibetac_inv(fr, dr, lr); | |
1458 | test::ibeta_inva(l, i, s); | |
1459 | test::ibeta_inva(fr, dr, lr); | |
1460 | test::ibetac_inva(l, i, s); | |
1461 | test::ibetac_inva(fr, dr, lr); | |
1462 | test::ibeta_invb(l, i, s); | |
1463 | test::ibeta_invb(fr, dr, lr); | |
1464 | test::ibetac_invb(l, i, s); | |
1465 | test::ibetac_invb(fr, dr, lr); | |
1466 | test::gamma_p_derivative(i, l); | |
1467 | test::gamma_p_derivative(fr, lr); | |
1468 | test::ibeta_derivative(l, i, s); | |
1469 | test::ibeta_derivative(fr, dr, lr); | |
1470 | (test::fpclassify)(i); | |
1471 | (test::isfinite)(s); | |
1472 | (test::isnormal)(l); | |
1473 | (test::isnan)(i); | |
1474 | (test::isinf)(l); | |
1475 | test::log1p(i); | |
1476 | test::expm1(s); | |
1477 | test::cbrt(l); | |
1478 | test::sqrt1pm1(s); | |
1479 | test::powm1(i, s); | |
1480 | test::powm1(fr, lr); | |
1481 | //test::legendre_p(1, i); | |
1482 | test::legendre_p(1, 0, s); | |
1483 | test::legendre_q(1, i); | |
1484 | test::laguerre(1, i); | |
1485 | test::laguerre(2, 1, i); | |
1486 | test::laguerre(2u, 1u, s); | |
1487 | test::hermite(1, s); | |
b32b8144 FG |
1488 | test::chebyshev_t(1, i); |
1489 | test::chebyshev_u(1, i); | |
1490 | test::chebyshev_t_prime(1, s); | |
7c673cae FG |
1491 | test::spherical_harmonic_r(2, 1, s, i); |
1492 | test::spherical_harmonic_i(2, 1, fr, lr); | |
1493 | test::ellint_1(i); | |
1494 | test::ellint_1(i, s); | |
1495 | test::ellint_1(fr, lr); | |
1496 | test::ellint_2(i); | |
1497 | test::ellint_2(i, l); | |
1498 | test::ellint_2(fr, lr); | |
1499 | test::ellint_3(i, l); | |
1500 | test::ellint_3(fr, lr); | |
1501 | test::ellint_3(s, l, i); | |
1502 | test::ellint_3(fr, dr, lr); | |
1503 | test::ellint_d(i); | |
1504 | test::ellint_d(i, l); | |
1505 | test::ellint_d(fr, lr); | |
1506 | test::jacobi_zeta(i, l); | |
1507 | test::jacobi_zeta(fr, lr); | |
1508 | test::heuman_lambda(i, l); | |
1509 | test::heuman_lambda(fr, lr); | |
1510 | test::ellint_rc(i, s); | |
1511 | test::ellint_rc(fr, lr); | |
1512 | test::ellint_rd(s, i, l); | |
1513 | test::ellint_rd(fr, lr, dr); | |
1514 | test::ellint_rf(s, l, i); | |
1515 | test::ellint_rf(fr, dr, lr); | |
1516 | test::ellint_rg(s, l, i); | |
1517 | test::ellint_rg(fr, dr, lr); | |
1518 | test::ellint_rj(i, i, s, l); | |
1519 | test::ellint_rj(i, fr, dr, lr); | |
1520 | test::hypot(i, s); | |
1521 | test::hypot(fr, lr); | |
1522 | test::sinc_pi(i); | |
1523 | test::sinhc_pi(i); | |
1524 | test::asinh(s); | |
1525 | test::acosh(l); | |
1526 | test::atanh(l); | |
1527 | test::sin_pi(s); | |
1528 | test::cos_pi(s); | |
1529 | test::cyl_neumann(fr, dr); | |
1530 | test::cyl_neumann(i, s); | |
1531 | test::cyl_bessel_j(fr, lr); | |
1532 | test::cyl_bessel_j(i, s); | |
1533 | test::cyl_bessel_i(fr, lr); | |
1534 | test::cyl_bessel_i(i, s); | |
1535 | test::cyl_bessel_k(fr, lr); | |
1536 | test::cyl_bessel_k(i, s); | |
1537 | test::sph_bessel(i, fr); | |
1538 | test::sph_bessel(i, 1); | |
1539 | test::sph_neumann(i, lr); | |
1540 | test::sph_neumann(i, i); | |
1541 | test::cyl_neumann_prime(fr, dr); | |
1542 | test::cyl_neumann_prime(i, s); | |
1543 | test::cyl_bessel_j_prime(fr, lr); | |
1544 | test::cyl_bessel_j_prime(i, s); | |
1545 | test::cyl_bessel_i_prime(fr, lr); | |
1546 | test::cyl_bessel_i_prime(i, s); | |
1547 | test::cyl_bessel_k_prime(fr, lr); | |
1548 | test::cyl_bessel_k_prime(i, s); | |
1549 | test::sph_bessel_prime(i, fr); | |
1550 | test::sph_bessel_prime(i, 1); | |
1551 | test::sph_neumann_prime(i, lr); | |
1552 | test::sph_neumann_prime(i, i); | |
1553 | test::airy_ai(i); | |
1554 | test::airy_bi(i); | |
1555 | test::airy_ai_prime(i); | |
1556 | test::airy_bi_prime(i); | |
1557 | test::owens_t(fr, dr); | |
1558 | test::owens_t(i, s); | |
92f5a8d4 TL |
1559 | boost::math::lambert_w0(i); |
1560 | boost::math::lambert_wm1(i); | |
1561 | boost::math::lambert_w0_prime(i); | |
7c673cae FG |
1562 | #endif |
1563 | #endif | |
1564 | } | |
1565 | ||
1e59de90 TL |
1566 | #else // Standalone mode |
1567 | ||
1568 | template <typename T> | |
1569 | void instantiate(T) {} | |
1570 | ||
1571 | template <typename T> | |
1572 | void instantiate_mixed(T) {} | |
1573 | ||
1574 | #endif // Standalone mode | |
7c673cae FG |
1575 | |
1576 | #endif // BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP |