gcc/libstdc++-v3/include/tr1/exp_integral.tcc

527 lines
15 KiB
Plaintext
Raw Normal View History

[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
// Special functions -*- C++ -*-
// Copyright (C) 2006-2013 Free Software Foundation, Inc.
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
/** @file tr1/exp_integral.tcc
* This is an internal header file, included by other library headers.
* Do not attempt to use it directly. @headername{tr1/cmath}
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
*/
//
// ISO C++ 14882 TR1: 5.2 Special functions
//
// Written by Edward Smith-Rowland based on:
//
// (1) Handbook of Mathematical Functions,
// Ed. by Milton Abramowitz and Irene A. Stegun,
// Dover Publications, New-York, Section 5, pp. 228-251.
// (2) The Gnu Scientific Library, http://www.gnu.org/software/gsl
// (3) Numerical Recipes in C, by W. H. Press, S. A. Teukolsky,
// W. T. Vetterling, B. P. Flannery, Cambridge University Press (1992),
// 2nd ed, pp. 222-225.
//
re PR libstdc++/31426 (TR1 includes do not work with -std=c++0x) 2007-05-31 Paolo Carlini <pcarlini@suse.de> PR libstdc++/31426 * include/bits/c++config: Remove namespace association bits from tr1 to std. * include/ext/type_traits.h (__promote, __promote2, __promote3, __promote4): Add. * include/bits/hashtable.h: New. * include/bits/functional_hash.h: Likewise. * include/tr1/hashtable.h: Likewise. * include/tr1_impl/random: New. * include/tr1_impl/cinttypes: Likewise. * include/tr1_impl/cstdlib: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/cstdio: Likewise. * include/tr1_impl/boost_shared_ptr.h: Likewise. * include/tr1_impl/cctype: Likewise. * include/tr1_impl/random.tcc: Likewise. * include/tr1_impl/tuple: Likewise. * include/tr1_impl/functional_hash.h: Likewise. * include/tr1_impl/hashtable: Likewise. * include/tr1_impl/cmath: Likewise. * include/tr1_impl/type_traitsfwd.h: Likewise. * include/tr1_impl/hashtable_policy.h: Likewise. * include/tr1_impl/cfenv: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/tr1_impl/functional: Likewise. * include/tr1_impl/utility: Likewise. * include/tr1_impl/complex: Likewise. * include/tr1_impl/type_traits: Likewise. * include/tr1_impl/cwchar: Likewise. * include/tr1_impl/cstdint: Likewise. * include/tr1_impl/regex: Likewise. * include/tr1_impl/array: Likewise. * include/tr1_impl/cwctype: Likewise. * include/tr1/type_traitsfwd.h: Remove. * include/tr1/boost_shared_ptr.h: Likewise. * include/tr1/common.h: Likewise. * include/tr1/hashtable: Likewise. * include/tr1/hashtable_policy.h: Likewise. * include/tr1/random.tcc: Likewise. * include/c_global/cinttypes: Include tr1_impl/cinttypes. * include/c_global/cstdlib: Likewise for cstdlib. * include/c_global/cstdio: Likewise for cstdio. * include/c_global/cctype: Likewise for cctype. * include/c_global/cmath: Likewise for cmath. * include/c_global/cfenv: Likewise for cfenv. * include/c_global/cwchar: Likewise for cwchar. * include/c_global/cstdint: Likewise for cstdint. * include/c_global/cwctype: Likewise for cwctype. * include/tr1/cinttypes: Likewise for cinttypes. * include/tr1/cstdlib: Likewise for cstdlib. * include/tr1/cstdio: Likewise for cstdio. * include/tr1/cctype: Likewise for cctype. * include/tr1/cmath: Likewise for cmath. * include/tr1/cfenv: Likewise for cfenv. * include/tr1/cwchar: Likewise for cwchar. * include/tr1/cstdint: Likewise for cstdint. * include/tr1/cwctype: Likewise for cwctype. * include/tr1/functional_hash.h: Likewise for functional_hash. * include/std/tuple: Include tr1_impl/tuple. * include/std/utility: Likewise for utility. * include/std/type_traits: Likewise for type_traits. (is_pod): Just forward to __is_pod. (has_trivial_default_constructor): Just forward to __has_trivial_constructor. (has_trivial_copy_constructor): Just forward to __has_trivial_copy. (has_trivial_assign): Just forward to __has_trivial_assign. (has_trivial_destructor): Just forward to __has_trivial_destructor. (has_nothrow_default_constructor): Just forward to __has_nothrow_constructor. (has_nothrow_copy_constructor): Just forward to __has_nothrow_copy. (has_nothrow_assign): Just forward to __has_nothrow_assign. (is_base_of): Just forward to __is_base_of. (is_signed, is_unsigned): Implement according to the C++0x specifications. * include/std/memory: Likewise for memory. * include/std/regex: Likewise for regex. * include/std/random: Likewise for random. * include/std/unordered_map: Likewise for unordered_map. * include/std/unordered_set: Likewise for unordered_set. * include/std/functional: Likewise for functional. * include/std/complex: Likewise for complex. * include/std/array: Likewise for array. * include/tr1/tuple: Likewise for tuple. * include/tr1/utility: Likewise for utility. * include/tr1/type_traits: Likewise for type_traits * include/tr1/memory: Likewise for memory. * include/tr1/regex: Likewise for regex. * include/tr1/random: Likewise for random. * include/tr1/unordered_map: Likewise for unordered_map. * include/tr1/unordered_set: Likewise for unordered_set. * include/tr1/functional: Likewise for functional. * include/tr1/complex: Likewise for complex. * include/tr1/array: Likewise for array. * include/c_global/ctgmath: Tweak. * include/c_global/cstdarg: Likewise. * include/c_global/ctime: Likewise. * include/c_global/climits: Likewise. * include/c_global/cfloat: Likewise. * include/c_global/ccomplex: Likewise. * include/c_global/cstdbool: Likewise. * include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/special_function_util.h: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/stdlib.h: Likewise. * include/tr1/math.h: Likewise. * include/tr1/complex.h: Minor tweaks. * include/tr1/wctype.h: Likewise. * include/tr1/wchar.h: Likewise. * include/tr1/inttypes.h: Likewise. * include/tr1/tgmath.h: Likewise. * include/tr1/cstdbool: Likewise. * include/tr1/cfloat: Likewise. * include/tr1/ccomplex: Likewise. * include/tr1/ctime: Likewise. * include/tr1/climits: Likewise. * include/tr1/ctgmath: Likewise. * include/tr1/cstdarg: Likewise. * testsuite/tr1/headers.cc: Move... * testsuite/tr1/headers/all.cc: ... here. * testsuite/tr1/using_namespace_std_tr1.cc: Move... * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here. * testsuite/tr1/headers/using_namespace_std_tr1.cc ... here. * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New. * testsuite/20_util/tuple/requirements/explicit_instantiation.cc: Adjust namespace. * testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to the C++0x requirements. * testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error lines. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Un-xfail. * testsuite/20_util/is_signed/value.cc: New. * testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_signed/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise.. * testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. From-SVN: r125244
2007-06-01 01:37:56 +02:00
#ifndef _GLIBCXX_TR1_EXP_INTEGRAL_TCC
#define _GLIBCXX_TR1_EXP_INTEGRAL_TCC 1
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
#include "special_function_util.h"
PR libstdc++/36104 part four 2011-01-30 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/36104 part four * include/bits/c++config (_GLIBCXX_STD): Remove. (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C. (_GLIBCXX_P): Now _GLIBCXX_STD_A. (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL, _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove. (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL, _GLIBCXX_INLINE_PROFILE): Remove. (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove. (_GLIBCXX_END_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove. (_GLIBCXX_END_NESTED_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add. (_GLIBCXX_END_NAMESPACE_ALGO): Add. (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add. (_GLIBCXX_END_NAMESPACE_CONTAINER): Add. (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add. (_GLIBCXX_END_NAMESPACE_VERSION): Add. (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL. (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL. (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY. * include/*: Use new macros for namespace scope. * config/*: Same. * src/*: Same. * src/Makefile.am (sources): Remove debug_list.cc, add compatibility-debug_list-2.cc. (parallel_sources): Remove parallel_list.cc, add compatibility-parallel_list-2.cc. (compatibility-parallel_list-2.[o,lo]): New rule. * src/Makefile.in: Regenerate. * src/debug_list.cc: Remove. * src/parallel_list.cc: Remove. * src/compatibility-list-2.cc: New. * src/compatibility-debug_list-2.cc: New. * src/compatibility-parallel_list-2.cc: New. * doc/doxygen/user.cfg.in: Adjust macros. * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros. * testsuite/20_util/declval/requirements/1_neg.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/forward/c_neg.cc: Same. * testsuite/20_util/forward/f_neg.cc: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/forward_list/capacity/1.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Same. * testsuite/23_containers/list/capacity/29134.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/bool/capacity/29134.cc: Same. * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/25_algorithms/sort/35588.cc: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * testsuite/ext/profile/mutex_extensions_neg.cc: Same. * testsuite/ext/profile/profiler_algos.cc: Same. * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. From-SVN: r169421
2011-01-30 23:39:36 +01:00
namespace std _GLIBCXX_VISIBILITY(default)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
re PR libstdc++/31426 (TR1 includes do not work with -std=c++0x) 2007-05-31 Paolo Carlini <pcarlini@suse.de> PR libstdc++/31426 * include/bits/c++config: Remove namespace association bits from tr1 to std. * include/ext/type_traits.h (__promote, __promote2, __promote3, __promote4): Add. * include/bits/hashtable.h: New. * include/bits/functional_hash.h: Likewise. * include/tr1/hashtable.h: Likewise. * include/tr1_impl/random: New. * include/tr1_impl/cinttypes: Likewise. * include/tr1_impl/cstdlib: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/cstdio: Likewise. * include/tr1_impl/boost_shared_ptr.h: Likewise. * include/tr1_impl/cctype: Likewise. * include/tr1_impl/random.tcc: Likewise. * include/tr1_impl/tuple: Likewise. * include/tr1_impl/functional_hash.h: Likewise. * include/tr1_impl/hashtable: Likewise. * include/tr1_impl/cmath: Likewise. * include/tr1_impl/type_traitsfwd.h: Likewise. * include/tr1_impl/hashtable_policy.h: Likewise. * include/tr1_impl/cfenv: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/tr1_impl/functional: Likewise. * include/tr1_impl/utility: Likewise. * include/tr1_impl/complex: Likewise. * include/tr1_impl/type_traits: Likewise. * include/tr1_impl/cwchar: Likewise. * include/tr1_impl/cstdint: Likewise. * include/tr1_impl/regex: Likewise. * include/tr1_impl/array: Likewise. * include/tr1_impl/cwctype: Likewise. * include/tr1/type_traitsfwd.h: Remove. * include/tr1/boost_shared_ptr.h: Likewise. * include/tr1/common.h: Likewise. * include/tr1/hashtable: Likewise. * include/tr1/hashtable_policy.h: Likewise. * include/tr1/random.tcc: Likewise. * include/c_global/cinttypes: Include tr1_impl/cinttypes. * include/c_global/cstdlib: Likewise for cstdlib. * include/c_global/cstdio: Likewise for cstdio. * include/c_global/cctype: Likewise for cctype. * include/c_global/cmath: Likewise for cmath. * include/c_global/cfenv: Likewise for cfenv. * include/c_global/cwchar: Likewise for cwchar. * include/c_global/cstdint: Likewise for cstdint. * include/c_global/cwctype: Likewise for cwctype. * include/tr1/cinttypes: Likewise for cinttypes. * include/tr1/cstdlib: Likewise for cstdlib. * include/tr1/cstdio: Likewise for cstdio. * include/tr1/cctype: Likewise for cctype. * include/tr1/cmath: Likewise for cmath. * include/tr1/cfenv: Likewise for cfenv. * include/tr1/cwchar: Likewise for cwchar. * include/tr1/cstdint: Likewise for cstdint. * include/tr1/cwctype: Likewise for cwctype. * include/tr1/functional_hash.h: Likewise for functional_hash. * include/std/tuple: Include tr1_impl/tuple. * include/std/utility: Likewise for utility. * include/std/type_traits: Likewise for type_traits. (is_pod): Just forward to __is_pod. (has_trivial_default_constructor): Just forward to __has_trivial_constructor. (has_trivial_copy_constructor): Just forward to __has_trivial_copy. (has_trivial_assign): Just forward to __has_trivial_assign. (has_trivial_destructor): Just forward to __has_trivial_destructor. (has_nothrow_default_constructor): Just forward to __has_nothrow_constructor. (has_nothrow_copy_constructor): Just forward to __has_nothrow_copy. (has_nothrow_assign): Just forward to __has_nothrow_assign. (is_base_of): Just forward to __is_base_of. (is_signed, is_unsigned): Implement according to the C++0x specifications. * include/std/memory: Likewise for memory. * include/std/regex: Likewise for regex. * include/std/random: Likewise for random. * include/std/unordered_map: Likewise for unordered_map. * include/std/unordered_set: Likewise for unordered_set. * include/std/functional: Likewise for functional. * include/std/complex: Likewise for complex. * include/std/array: Likewise for array. * include/tr1/tuple: Likewise for tuple. * include/tr1/utility: Likewise for utility. * include/tr1/type_traits: Likewise for type_traits * include/tr1/memory: Likewise for memory. * include/tr1/regex: Likewise for regex. * include/tr1/random: Likewise for random. * include/tr1/unordered_map: Likewise for unordered_map. * include/tr1/unordered_set: Likewise for unordered_set. * include/tr1/functional: Likewise for functional. * include/tr1/complex: Likewise for complex. * include/tr1/array: Likewise for array. * include/c_global/ctgmath: Tweak. * include/c_global/cstdarg: Likewise. * include/c_global/ctime: Likewise. * include/c_global/climits: Likewise. * include/c_global/cfloat: Likewise. * include/c_global/ccomplex: Likewise. * include/c_global/cstdbool: Likewise. * include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/special_function_util.h: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/stdlib.h: Likewise. * include/tr1/math.h: Likewise. * include/tr1/complex.h: Minor tweaks. * include/tr1/wctype.h: Likewise. * include/tr1/wchar.h: Likewise. * include/tr1/inttypes.h: Likewise. * include/tr1/tgmath.h: Likewise. * include/tr1/cstdbool: Likewise. * include/tr1/cfloat: Likewise. * include/tr1/ccomplex: Likewise. * include/tr1/ctime: Likewise. * include/tr1/climits: Likewise. * include/tr1/ctgmath: Likewise. * include/tr1/cstdarg: Likewise. * testsuite/tr1/headers.cc: Move... * testsuite/tr1/headers/all.cc: ... here. * testsuite/tr1/using_namespace_std_tr1.cc: Move... * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here. * testsuite/tr1/headers/using_namespace_std_tr1.cc ... here. * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New. * testsuite/20_util/tuple/requirements/explicit_instantiation.cc: Adjust namespace. * testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to the C++0x requirements. * testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error lines. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Un-xfail. * testsuite/20_util/is_signed/value.cc: New. * testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_signed/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise.. * testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. From-SVN: r125244
2007-06-01 01:37:56 +02:00
namespace tr1
{
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
PR libstdc++/36104 part four 2011-01-30 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/36104 part four * include/bits/c++config (_GLIBCXX_STD): Remove. (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C. (_GLIBCXX_P): Now _GLIBCXX_STD_A. (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL, _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove. (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL, _GLIBCXX_INLINE_PROFILE): Remove. (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove. (_GLIBCXX_END_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove. (_GLIBCXX_END_NESTED_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add. (_GLIBCXX_END_NAMESPACE_ALGO): Add. (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add. (_GLIBCXX_END_NAMESPACE_CONTAINER): Add. (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add. (_GLIBCXX_END_NAMESPACE_VERSION): Add. (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL. (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL. (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY. * include/*: Use new macros for namespace scope. * config/*: Same. * src/*: Same. * src/Makefile.am (sources): Remove debug_list.cc, add compatibility-debug_list-2.cc. (parallel_sources): Remove parallel_list.cc, add compatibility-parallel_list-2.cc. (compatibility-parallel_list-2.[o,lo]): New rule. * src/Makefile.in: Regenerate. * src/debug_list.cc: Remove. * src/parallel_list.cc: Remove. * src/compatibility-list-2.cc: New. * src/compatibility-debug_list-2.cc: New. * src/compatibility-parallel_list-2.cc: New. * doc/doxygen/user.cfg.in: Adjust macros. * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros. * testsuite/20_util/declval/requirements/1_neg.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/forward/c_neg.cc: Same. * testsuite/20_util/forward/f_neg.cc: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/forward_list/capacity/1.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Same. * testsuite/23_containers/list/capacity/29134.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/bool/capacity/29134.cc: Same. * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/25_algorithms/sort/35588.cc: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * testsuite/ext/profile/mutex_extensions_neg.cc: Same. * testsuite/ext/profile/profiler_algos.cc: Same. * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. From-SVN: r169421
2011-01-30 23:39:36 +01:00
_GLIBCXX_BEGIN_NAMESPACE_VERSION
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
template<typename _Tp> _Tp __expint_E1(_Tp);
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template) PR c++/24163 PR c++/29131 gcc/cp/ * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating unqualified lookup. * semantics.c (perform_koenig_lookup): Add complain parm. * cp-tree.h: Adjust. * parser.c (cp_parser_postfix_expression): Adjust. (cp_parser_perform_range_for_lookup): Adjust. libstdc++-v3/ * include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to functions from dependent bases. * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/tree_policy/ order_statistics_imp.hpp: Likewise. * include/ext/pb_ds/detail/trie_policy/ prefix_search_node_update_imp.hpp: Likewise. * include/ext/rc_string_base.h: Likewise. * include/ext/rope: Likewise. * include/ext/ropeimpl.h: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/util/native_type/native_priority_queue.hpp: Likewise. * testsuite/util/testsuite_io.h: Likewise. * include/std/functional: Declare mem_fn earlier. * include/tr1/functional: Likewise. * include/tr1/exp_integral.tcc: Declare __expint_E1 earlier. From-SVN: r173965
2011-05-20 20:01:22 +02:00
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
/**
* @brief Return the exponential integral @f$ E_1(x) @f$
* by series summation. This should be good
* for @f$ x < 1 @f$.
*
* The exponential integral is given by
* \f[
* E_1(x) = \int_{1}^{\infty} \frac{e^{-xt}}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_E1_series(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
_Tp __term = _Tp(1);
_Tp __esum = _Tp(0);
_Tp __osum = _Tp(0);
const unsigned int __max_iter = 100;
for (unsigned int __i = 1; __i < __max_iter; ++__i)
{
__term *= - __x / __i;
if (std::abs(__term) < __eps)
break;
if (__term >= _Tp(0))
__esum += __term / __i;
else
__osum += __term / __i;
}
return - __esum - __osum
- __numeric_constants<_Tp>::__gamma_e() - std::log(__x);
}
/**
* @brief Return the exponential integral @f$ E_1(x) @f$
* by asymptotic expansion.
*
* The exponential integral is given by
* \f[
* E_1(x) = \int_{1}^\infty \frac{e^{-xt}}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_E1_asymp(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
_Tp __term = _Tp(1);
_Tp __esum = _Tp(1);
_Tp __osum = _Tp(0);
const unsigned int __max_iter = 1000;
for (unsigned int __i = 1; __i < __max_iter; ++__i)
{
_Tp __prev = __term;
__term *= - __i / __x;
if (std::abs(__term) > std::abs(__prev))
break;
if (__term >= _Tp(0))
__esum += __term;
else
__osum += __term;
}
return std::exp(- __x) * (__esum + __osum) / __x;
}
/**
* @brief Return the exponential integral @f$ E_n(x) @f$
* by series summation.
*
* The exponential integral is given by
* \f[
* E_n(x) = \int_{1}^\infty \frac{e^{-xt}}{t^n} dt
* \f]
*
* @param __n The order of the exponential integral function.
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_En_series(unsigned int __n, _Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
const unsigned int __max_iter = 100;
const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
const int __nm1 = __n - 1;
_Tp __ans = (__nm1 != 0
? _Tp(1) / __nm1 : -std::log(__x)
- __numeric_constants<_Tp>::__gamma_e());
_Tp __fact = _Tp(1);
for (int __i = 1; __i <= __max_iter; ++__i)
{
__fact *= -__x / _Tp(__i);
_Tp __del;
if ( __i != __nm1 )
__del = -__fact / _Tp(__i - __nm1);
else
{
_Tp __psi = -__numeric_constants<_Tp>::gamma_e();
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
for (int __ii = 1; __ii <= __nm1; ++__ii)
__psi += _Tp(1) / _Tp(__ii);
__del = __fact * (__psi - std::log(__x));
}
__ans += __del;
if (std::abs(__del) < __eps * std::abs(__ans))
return __ans;
}
std::__throw_runtime_error(__N("Series summation failed "
"in __expint_En_series."));
}
/**
* @brief Return the exponential integral @f$ E_n(x) @f$
* by continued fractions.
*
* The exponential integral is given by
* \f[
* E_n(x) = \int_{1}^\infty \frac{e^{-xt}}{t^n} dt
* \f]
*
* @param __n The order of the exponential integral function.
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_En_cont_frac(unsigned int __n, _Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
const unsigned int __max_iter = 100;
const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
const _Tp __fp_min = std::numeric_limits<_Tp>::min();
const int __nm1 = __n - 1;
_Tp __b = __x + _Tp(__n);
_Tp __c = _Tp(1) / __fp_min;
_Tp __d = _Tp(1) / __b;
_Tp __h = __d;
for ( unsigned int __i = 1; __i <= __max_iter; ++__i )
{
_Tp __a = -_Tp(__i * (__nm1 + __i));
__b += _Tp(2);
__d = _Tp(1) / (__a * __d + __b);
__c = __b + __a / __c;
const _Tp __del = __c * __d;
__h *= __del;
if (std::abs(__del - _Tp(1)) < __eps)
{
const _Tp __ans = __h * std::exp(-__x);
return __ans;
}
}
std::__throw_runtime_error(__N("Continued fraction failed "
"in __expint_En_cont_frac."));
}
/**
* @brief Return the exponential integral @f$ E_n(x) @f$
* by recursion. Use upward recursion for @f$ x < n @f$
* and downward recursion (Miller's algorithm) otherwise.
*
* The exponential integral is given by
* \f[
* E_n(x) = \int_{1}^\infty \frac{e^{-xt}}{t^n} dt
* \f]
*
* @param __n The order of the exponential integral function.
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_En_recursion(unsigned int __n, _Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
_Tp __En;
_Tp __E1 = __expint_E1(__x);
if (__x < _Tp(__n))
{
// Forward recursion is stable only for n < x.
__En = __E1;
for (unsigned int __j = 2; __j < __n; ++__j)
__En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1);
}
else
{
// Backward recursion is stable only for n >= x.
__En = _Tp(1);
const int __N = __n + 20; // TODO: Check this starting number.
_Tp __save = _Tp(0);
for (int __j = __N; __j > 0; --__j)
{
__En = (std::exp(-__x) - __j * __En) / __x;
if (__j == __n)
__save = __En;
}
_Tp __norm = __En / __E1;
__En /= __norm;
}
return __En;
}
/**
* @brief Return the exponential integral @f$ Ei(x) @f$
* by series summation.
*
* The exponential integral is given by
* \f[
* Ei(x) = -\int_{-x}^\infty \frac{e^t}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_Ei_series(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
_Tp __term = _Tp(1);
_Tp __sum = _Tp(0);
const unsigned int __max_iter = 1000;
for (unsigned int __i = 1; __i < __max_iter; ++__i)
{
__term *= __x / __i;
__sum += __term / __i;
if (__term < std::numeric_limits<_Tp>::epsilon() * __sum)
break;
}
return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x);
}
/**
* @brief Return the exponential integral @f$ Ei(x) @f$
* by asymptotic expansion.
*
* The exponential integral is given by
* \f[
* Ei(x) = -\int_{-x}^\infty \frac{e^t}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_Ei_asymp(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
_Tp __term = _Tp(1);
_Tp __sum = _Tp(1);
const unsigned int __max_iter = 1000;
for (unsigned int __i = 1; __i < __max_iter; ++__i)
{
_Tp __prev = __term;
__term *= __i / __x;
if (__term < std::numeric_limits<_Tp>::epsilon())
break;
if (__term >= __prev)
break;
__sum += __term;
}
return std::exp(__x) * __sum / __x;
}
/**
* @brief Return the exponential integral @f$ Ei(x) @f$.
*
* The exponential integral is given by
* \f[
* Ei(x) = -\int_{-x}^\infty \frac{e^t}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_Ei(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
if (__x < _Tp(0))
return -__expint_E1(-__x);
else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon()))
return __expint_Ei_series(__x);
else
return __expint_Ei_asymp(__x);
}
/**
* @brief Return the exponential integral @f$ E_1(x) @f$.
*
* The exponential integral is given by
* \f[
* E_1(x) = \int_{1}^\infty \frac{e^{-xt}}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_E1(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
if (__x < _Tp(0))
return -__expint_Ei(-__x);
else if (__x < _Tp(1))
return __expint_E1_series(__x);
else if (__x < _Tp(100)) // TODO: Find a good asymptotic switch point.
return __expint_En_cont_frac(1, __x);
else
return __expint_E1_asymp(__x);
}
/**
* @brief Return the exponential integral @f$ E_n(x) @f$
* for large argument.
*
* The exponential integral is given by
* \f[
* E_n(x) = \int_{1}^\infty \frac{e^{-xt}}{t^n} dt
* \f]
*
* This is something of an extension.
*
* @param __n The order of the exponential integral function.
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_asymp(unsigned int __n, _Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
_Tp __term = _Tp(1);
_Tp __sum = _Tp(1);
for (unsigned int __i = 1; __i <= __n; ++__i)
{
_Tp __prev = __term;
__term *= -(__n - __i + 1) / __x;
if (std::abs(__term) > std::abs(__prev))
break;
__sum += __term;
}
return std::exp(-__x) * __sum / __x;
}
/**
* @brief Return the exponential integral @f$ E_n(x) @f$
* for large order.
*
* The exponential integral is given by
* \f[
* E_n(x) = \int_{1}^\infty \frac{e^{-xt}}{t^n} dt
* \f]
*
* This is something of an extension.
*
* @param __n The order of the exponential integral function.
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint_large_n(unsigned int __n, _Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
const _Tp __xpn = __x + __n;
const _Tp __xpn2 = __xpn * __xpn;
_Tp __term = _Tp(1);
_Tp __sum = _Tp(1);
for (unsigned int __i = 1; __i <= __n; ++__i)
{
_Tp __prev = __term;
__term *= (__n - 2 * (__i - 1) * __x) / __xpn2;
if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
break;
__sum += __term;
}
return std::exp(-__x) * __sum / __xpn;
}
/**
* @brief Return the exponential integral @f$ E_n(x) @f$.
*
* The exponential integral is given by
* \f[
* E_n(x) = \int_{1}^\infty \frac{e^{-xt}}{t^n} dt
* \f]
* This is something of an extension.
*
* @param __n The order of the exponential integral function.
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
_Tp
__expint(unsigned int __n, _Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
// Return NaN on NaN input.
if (__isnan(__x))
return std::numeric_limits<_Tp>::quiet_NaN();
else if (__n <= 1 && __x == _Tp(0))
return std::numeric_limits<_Tp>::infinity();
else
{
_Tp __E0 = std::exp(__x) / __x;
if (__n == 0)
return __E0;
_Tp __E1 = __expint_E1(__x);
if (__n == 1)
return __E1;
if (__x == _Tp(0))
return _Tp(1) / static_cast<_Tp>(__n - 1);
_Tp __En = __expint_En_recursion(__n, __x);
return __En;
}
}
/**
* @brief Return the exponential integral @f$ Ei(x) @f$.
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
*
* The exponential integral is given by
* \f[
* Ei(x) = -\int_{-x}^\infty \frac{e^t}{t} dt
* \f]
*
* @param __x The argument of the exponential integral function.
* @return The exponential integral.
*/
template<typename _Tp>
inline _Tp
__expint(_Tp __x)
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
{
if (__isnan(__x))
return std::numeric_limits<_Tp>::quiet_NaN();
else
return __expint_Ei(__x);
}
PR libstdc++/36104 part four 2011-01-30 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/36104 part four * include/bits/c++config (_GLIBCXX_STD): Remove. (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C. (_GLIBCXX_P): Now _GLIBCXX_STD_A. (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL, _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove. (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL, _GLIBCXX_INLINE_PROFILE): Remove. (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove. (_GLIBCXX_END_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove. (_GLIBCXX_END_NESTED_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add. (_GLIBCXX_END_NAMESPACE_ALGO): Add. (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add. (_GLIBCXX_END_NAMESPACE_CONTAINER): Add. (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add. (_GLIBCXX_END_NAMESPACE_VERSION): Add. (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL. (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL. (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY. * include/*: Use new macros for namespace scope. * config/*: Same. * src/*: Same. * src/Makefile.am (sources): Remove debug_list.cc, add compatibility-debug_list-2.cc. (parallel_sources): Remove parallel_list.cc, add compatibility-parallel_list-2.cc. (compatibility-parallel_list-2.[o,lo]): New rule. * src/Makefile.in: Regenerate. * src/debug_list.cc: Remove. * src/parallel_list.cc: Remove. * src/compatibility-list-2.cc: New. * src/compatibility-debug_list-2.cc: New. * src/compatibility-parallel_list-2.cc: New. * doc/doxygen/user.cfg.in: Adjust macros. * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros. * testsuite/20_util/declval/requirements/1_neg.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/forward/c_neg.cc: Same. * testsuite/20_util/forward/f_neg.cc: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/forward_list/capacity/1.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Same. * testsuite/23_containers/list/capacity/29134.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/bool/capacity/29134.cc: Same. * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/25_algorithms/sort/35588.cc: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * testsuite/ext/profile/mutex_extensions_neg.cc: Same. * testsuite/ext/profile/profiler_algos.cc: Same. * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. From-SVN: r169421
2011-01-30 23:39:36 +01:00
_GLIBCXX_END_NAMESPACE_VERSION
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
} // namespace std::tr1::__detail
re PR libstdc++/31426 (TR1 includes do not work with -std=c++0x) 2007-05-31 Paolo Carlini <pcarlini@suse.de> PR libstdc++/31426 * include/bits/c++config: Remove namespace association bits from tr1 to std. * include/ext/type_traits.h (__promote, __promote2, __promote3, __promote4): Add. * include/bits/hashtable.h: New. * include/bits/functional_hash.h: Likewise. * include/tr1/hashtable.h: Likewise. * include/tr1_impl/random: New. * include/tr1_impl/cinttypes: Likewise. * include/tr1_impl/cstdlib: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/cstdio: Likewise. * include/tr1_impl/boost_shared_ptr.h: Likewise. * include/tr1_impl/cctype: Likewise. * include/tr1_impl/random.tcc: Likewise. * include/tr1_impl/tuple: Likewise. * include/tr1_impl/functional_hash.h: Likewise. * include/tr1_impl/hashtable: Likewise. * include/tr1_impl/cmath: Likewise. * include/tr1_impl/type_traitsfwd.h: Likewise. * include/tr1_impl/hashtable_policy.h: Likewise. * include/tr1_impl/cfenv: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/tr1_impl/functional: Likewise. * include/tr1_impl/utility: Likewise. * include/tr1_impl/complex: Likewise. * include/tr1_impl/type_traits: Likewise. * include/tr1_impl/cwchar: Likewise. * include/tr1_impl/cstdint: Likewise. * include/tr1_impl/regex: Likewise. * include/tr1_impl/array: Likewise. * include/tr1_impl/cwctype: Likewise. * include/tr1/type_traitsfwd.h: Remove. * include/tr1/boost_shared_ptr.h: Likewise. * include/tr1/common.h: Likewise. * include/tr1/hashtable: Likewise. * include/tr1/hashtable_policy.h: Likewise. * include/tr1/random.tcc: Likewise. * include/c_global/cinttypes: Include tr1_impl/cinttypes. * include/c_global/cstdlib: Likewise for cstdlib. * include/c_global/cstdio: Likewise for cstdio. * include/c_global/cctype: Likewise for cctype. * include/c_global/cmath: Likewise for cmath. * include/c_global/cfenv: Likewise for cfenv. * include/c_global/cwchar: Likewise for cwchar. * include/c_global/cstdint: Likewise for cstdint. * include/c_global/cwctype: Likewise for cwctype. * include/tr1/cinttypes: Likewise for cinttypes. * include/tr1/cstdlib: Likewise for cstdlib. * include/tr1/cstdio: Likewise for cstdio. * include/tr1/cctype: Likewise for cctype. * include/tr1/cmath: Likewise for cmath. * include/tr1/cfenv: Likewise for cfenv. * include/tr1/cwchar: Likewise for cwchar. * include/tr1/cstdint: Likewise for cstdint. * include/tr1/cwctype: Likewise for cwctype. * include/tr1/functional_hash.h: Likewise for functional_hash. * include/std/tuple: Include tr1_impl/tuple. * include/std/utility: Likewise for utility. * include/std/type_traits: Likewise for type_traits. (is_pod): Just forward to __is_pod. (has_trivial_default_constructor): Just forward to __has_trivial_constructor. (has_trivial_copy_constructor): Just forward to __has_trivial_copy. (has_trivial_assign): Just forward to __has_trivial_assign. (has_trivial_destructor): Just forward to __has_trivial_destructor. (has_nothrow_default_constructor): Just forward to __has_nothrow_constructor. (has_nothrow_copy_constructor): Just forward to __has_nothrow_copy. (has_nothrow_assign): Just forward to __has_nothrow_assign. (is_base_of): Just forward to __is_base_of. (is_signed, is_unsigned): Implement according to the C++0x specifications. * include/std/memory: Likewise for memory. * include/std/regex: Likewise for regex. * include/std/random: Likewise for random. * include/std/unordered_map: Likewise for unordered_map. * include/std/unordered_set: Likewise for unordered_set. * include/std/functional: Likewise for functional. * include/std/complex: Likewise for complex. * include/std/array: Likewise for array. * include/tr1/tuple: Likewise for tuple. * include/tr1/utility: Likewise for utility. * include/tr1/type_traits: Likewise for type_traits * include/tr1/memory: Likewise for memory. * include/tr1/regex: Likewise for regex. * include/tr1/random: Likewise for random. * include/tr1/unordered_map: Likewise for unordered_map. * include/tr1/unordered_set: Likewise for unordered_set. * include/tr1/functional: Likewise for functional. * include/tr1/complex: Likewise for complex. * include/tr1/array: Likewise for array. * include/c_global/ctgmath: Tweak. * include/c_global/cstdarg: Likewise. * include/c_global/ctime: Likewise. * include/c_global/climits: Likewise. * include/c_global/cfloat: Likewise. * include/c_global/ccomplex: Likewise. * include/c_global/cstdbool: Likewise. * include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/special_function_util.h: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/stdlib.h: Likewise. * include/tr1/math.h: Likewise. * include/tr1/complex.h: Minor tweaks. * include/tr1/wctype.h: Likewise. * include/tr1/wchar.h: Likewise. * include/tr1/inttypes.h: Likewise. * include/tr1/tgmath.h: Likewise. * include/tr1/cstdbool: Likewise. * include/tr1/cfloat: Likewise. * include/tr1/ccomplex: Likewise. * include/tr1/ctime: Likewise. * include/tr1/climits: Likewise. * include/tr1/ctgmath: Likewise. * include/tr1/cstdarg: Likewise. * testsuite/tr1/headers.cc: Move... * testsuite/tr1/headers/all.cc: ... here. * testsuite/tr1/using_namespace_std_tr1.cc: Move... * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here. * testsuite/tr1/headers/using_namespace_std_tr1.cc ... here. * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New. * testsuite/20_util/tuple/requirements/explicit_instantiation.cc: Adjust namespace. * testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to the C++0x requirements. * testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error lines. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Un-xfail. * testsuite/20_util/is_signed/value.cc: New. * testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_signed/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise.. * testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. From-SVN: r125244
2007-06-01 01:37:56 +02:00
}
[multiple changes] 2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/lib/dg-options.exp (dg-require-c-std): New. * testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to see if _GLIBCXX_USE_C99_MATH is active. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std. * testsuite/tr1/5_numerical_facilities/special_functions/ 17_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 13_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 12_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 14_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 19_legendre/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 03_beta/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 15_expint/check_nan.cc: Same. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: Same. * include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if unsigned int can be a NaN. 2007-03-16 Edward M. Smith-Rowland <3dw4rd@verizon.net> * docs/html/ext/tr1.html : Marked tr1 math special functions done. * docs/html/faq/index.html : Ditto. * include/Makefile.in : Added new special function header files. * include/Makefile.am : Ditto. * include/tr1/common.h : Added type promotion routines for three and four args. * include/tr1/special_function_util.h: New. * include/tr1/bessel_function.tcc: New. * include/tr1/beta_function.tcc: New. * include/tr1/ell_integral.tcc: New. * include/tr1/exp_integral.tcc: New. * include/tr1/gamma.tcc: New. * include/tr1/hypergeometric.tcc: New. * include/tr1/legendre_function.tcc: New. * include/tr1/modified_bessel_func.tcc: New. * include/tr1/poly_hermite.tcc: New. * include/tr1/poly_laguerre.tcc: New. * include/tr1/riemann_zeta.tcc: New. * include/tr1/cmath : Included tr1 math special functions. * include/tr1/math.h : Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/ testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 02_assoc_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/03_beta/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 04_comp_ellint_1/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 05_comp_ellint_2/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 06_comp_ellint_3/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 07_conf_hyperg/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/ compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_neg.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 20_riemann_zeta/check_value_pos.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 22_sph_legendre/compile_2.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/compile.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_nan.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: New. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/ compile_2.cc: New. From-SVN: r122986
2007-03-16 11:35:16 +01:00
}
re PR libstdc++/31426 (TR1 includes do not work with -std=c++0x) 2007-05-31 Paolo Carlini <pcarlini@suse.de> PR libstdc++/31426 * include/bits/c++config: Remove namespace association bits from tr1 to std. * include/ext/type_traits.h (__promote, __promote2, __promote3, __promote4): Add. * include/bits/hashtable.h: New. * include/bits/functional_hash.h: Likewise. * include/tr1/hashtable.h: Likewise. * include/tr1_impl/random: New. * include/tr1_impl/cinttypes: Likewise. * include/tr1_impl/cstdlib: Likewise. * include/tr1_impl/unordered_map: Likewise. * include/tr1_impl/cstdio: Likewise. * include/tr1_impl/boost_shared_ptr.h: Likewise. * include/tr1_impl/cctype: Likewise. * include/tr1_impl/random.tcc: Likewise. * include/tr1_impl/tuple: Likewise. * include/tr1_impl/functional_hash.h: Likewise. * include/tr1_impl/hashtable: Likewise. * include/tr1_impl/cmath: Likewise. * include/tr1_impl/type_traitsfwd.h: Likewise. * include/tr1_impl/hashtable_policy.h: Likewise. * include/tr1_impl/cfenv: Likewise. * include/tr1_impl/unordered_set: Likewise. * include/tr1_impl/functional: Likewise. * include/tr1_impl/utility: Likewise. * include/tr1_impl/complex: Likewise. * include/tr1_impl/type_traits: Likewise. * include/tr1_impl/cwchar: Likewise. * include/tr1_impl/cstdint: Likewise. * include/tr1_impl/regex: Likewise. * include/tr1_impl/array: Likewise. * include/tr1_impl/cwctype: Likewise. * include/tr1/type_traitsfwd.h: Remove. * include/tr1/boost_shared_ptr.h: Likewise. * include/tr1/common.h: Likewise. * include/tr1/hashtable: Likewise. * include/tr1/hashtable_policy.h: Likewise. * include/tr1/random.tcc: Likewise. * include/c_global/cinttypes: Include tr1_impl/cinttypes. * include/c_global/cstdlib: Likewise for cstdlib. * include/c_global/cstdio: Likewise for cstdio. * include/c_global/cctype: Likewise for cctype. * include/c_global/cmath: Likewise for cmath. * include/c_global/cfenv: Likewise for cfenv. * include/c_global/cwchar: Likewise for cwchar. * include/c_global/cstdint: Likewise for cstdint. * include/c_global/cwctype: Likewise for cwctype. * include/tr1/cinttypes: Likewise for cinttypes. * include/tr1/cstdlib: Likewise for cstdlib. * include/tr1/cstdio: Likewise for cstdio. * include/tr1/cctype: Likewise for cctype. * include/tr1/cmath: Likewise for cmath. * include/tr1/cfenv: Likewise for cfenv. * include/tr1/cwchar: Likewise for cwchar. * include/tr1/cstdint: Likewise for cstdint. * include/tr1/cwctype: Likewise for cwctype. * include/tr1/functional_hash.h: Likewise for functional_hash. * include/std/tuple: Include tr1_impl/tuple. * include/std/utility: Likewise for utility. * include/std/type_traits: Likewise for type_traits. (is_pod): Just forward to __is_pod. (has_trivial_default_constructor): Just forward to __has_trivial_constructor. (has_trivial_copy_constructor): Just forward to __has_trivial_copy. (has_trivial_assign): Just forward to __has_trivial_assign. (has_trivial_destructor): Just forward to __has_trivial_destructor. (has_nothrow_default_constructor): Just forward to __has_nothrow_constructor. (has_nothrow_copy_constructor): Just forward to __has_nothrow_copy. (has_nothrow_assign): Just forward to __has_nothrow_assign. (is_base_of): Just forward to __is_base_of. (is_signed, is_unsigned): Implement according to the C++0x specifications. * include/std/memory: Likewise for memory. * include/std/regex: Likewise for regex. * include/std/random: Likewise for random. * include/std/unordered_map: Likewise for unordered_map. * include/std/unordered_set: Likewise for unordered_set. * include/std/functional: Likewise for functional. * include/std/complex: Likewise for complex. * include/std/array: Likewise for array. * include/tr1/tuple: Likewise for tuple. * include/tr1/utility: Likewise for utility. * include/tr1/type_traits: Likewise for type_traits * include/tr1/memory: Likewise for memory. * include/tr1/regex: Likewise for regex. * include/tr1/random: Likewise for random. * include/tr1/unordered_map: Likewise for unordered_map. * include/tr1/unordered_set: Likewise for unordered_set. * include/tr1/functional: Likewise for functional. * include/tr1/complex: Likewise for complex. * include/tr1/array: Likewise for array. * include/c_global/ctgmath: Tweak. * include/c_global/cstdarg: Likewise. * include/c_global/ctime: Likewise. * include/c_global/climits: Likewise. * include/c_global/cfloat: Likewise. * include/c_global/ccomplex: Likewise. * include/c_global/cstdbool: Likewise. * include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/special_function_util.h: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/stdlib.h: Likewise. * include/tr1/math.h: Likewise. * include/tr1/complex.h: Minor tweaks. * include/tr1/wctype.h: Likewise. * include/tr1/wchar.h: Likewise. * include/tr1/inttypes.h: Likewise. * include/tr1/tgmath.h: Likewise. * include/tr1/cstdbool: Likewise. * include/tr1/cfloat: Likewise. * include/tr1/ccomplex: Likewise. * include/tr1/ctime: Likewise. * include/tr1/climits: Likewise. * include/tr1/ctgmath: Likewise. * include/tr1/cstdarg: Likewise. * testsuite/tr1/headers.cc: Move... * testsuite/tr1/headers/all.cc: ... here. * testsuite/tr1/using_namespace_std_tr1.cc: Move... * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here. * testsuite/tr1/headers/using_namespace_std_tr1.cc ... here. * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New. * testsuite/20_util/tuple/requirements/explicit_instantiation.cc: Adjust namespace. * testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to the C++0x requirements. * testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error lines. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Un-xfail. * testsuite/20_util/is_signed/value.cc: New. * testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_signed/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise.. * testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. From-SVN: r125244
2007-06-01 01:37:56 +02:00
#endif // _GLIBCXX_TR1_EXP_INTEGRAL_TCC