[libcxx-commits] [PATCH] D142806: [libc++] Implement P0226R1 (Mathematical Special Functions)

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Jan 28 05:17:06 PST 2023


philnik created this revision.
philnik added reviewers: ldionne, Mordante, var-const.
Herald added subscribers: mstorsjo, mgrang, fedor.sergeev, krytarowski.
Herald added a project: All.
philnik requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: libcxx-commits, pcwang-thead, sstefan1.
Herald added a project: libc++.
Herald added a reviewer: libc++.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142806

Files:
  libcxx/docs/ReleaseNotes.rst
  libcxx/docs/Status/Cxx17Papers.csv
  libcxx/include/CMakeLists.txt
  libcxx/include/__availability
  libcxx/include/__math/special_functions.h
  libcxx/include/cmath
  libcxx/include/module.modulemap.in
  libcxx/src/CMakeLists.txt
  libcxx/src/mathematical_special_functions.cpp
  libcxx/src/third-party/LICENSE_1_0.txt
  libcxx/src/third-party/boost/math/bindings/detail/big_digamma.hpp
  libcxx/src/third-party/boost/math/bindings/detail/big_lanczos.hpp
  libcxx/src/third-party/boost/math/bindings/mpfr.hpp
  libcxx/src/third-party/boost/math/bindings/mpreal.hpp
  libcxx/src/third-party/boost/math/bindings/rr.hpp
  libcxx/src/third-party/boost/math/ccmath/abs.hpp
  libcxx/src/third-party/boost/math/ccmath/ccmath.hpp
  libcxx/src/third-party/boost/math/ccmath/ceil.hpp
  libcxx/src/third-party/boost/math/ccmath/copysign.hpp
  libcxx/src/third-party/boost/math/ccmath/detail/swap.hpp
  libcxx/src/third-party/boost/math/ccmath/div.hpp
  libcxx/src/third-party/boost/math/ccmath/fabs.hpp
  libcxx/src/third-party/boost/math/ccmath/fdim.hpp
  libcxx/src/third-party/boost/math/ccmath/floor.hpp
  libcxx/src/third-party/boost/math/ccmath/fma.hpp
  libcxx/src/third-party/boost/math/ccmath/fmax.hpp
  libcxx/src/third-party/boost/math/ccmath/fmin.hpp
  libcxx/src/third-party/boost/math/ccmath/fmod.hpp
  libcxx/src/third-party/boost/math/ccmath/fpclassify.hpp
  libcxx/src/third-party/boost/math/ccmath/frexp.hpp
  libcxx/src/third-party/boost/math/ccmath/hypot.hpp
  libcxx/src/third-party/boost/math/ccmath/ilogb.hpp
  libcxx/src/third-party/boost/math/ccmath/isfinite.hpp
  libcxx/src/third-party/boost/math/ccmath/isgreater.hpp
  libcxx/src/third-party/boost/math/ccmath/isgreaterequal.hpp
  libcxx/src/third-party/boost/math/ccmath/isinf.hpp
  libcxx/src/third-party/boost/math/ccmath/isless.hpp
  libcxx/src/third-party/boost/math/ccmath/islessequal.hpp
  libcxx/src/third-party/boost/math/ccmath/isnan.hpp
  libcxx/src/third-party/boost/math/ccmath/isnormal.hpp
  libcxx/src/third-party/boost/math/ccmath/isunordered.hpp
  libcxx/src/third-party/boost/math/ccmath/ldexp.hpp
  libcxx/src/third-party/boost/math/ccmath/logb.hpp
  libcxx/src/third-party/boost/math/ccmath/modf.hpp
  libcxx/src/third-party/boost/math/ccmath/next.hpp
  libcxx/src/third-party/boost/math/ccmath/remainder.hpp
  libcxx/src/third-party/boost/math/ccmath/round.hpp
  libcxx/src/third-party/boost/math/ccmath/scalbln.hpp
  libcxx/src/third-party/boost/math/ccmath/scalbn.hpp
  libcxx/src/third-party/boost/math/ccmath/signbit.hpp
  libcxx/src/third-party/boost/math/ccmath/sqrt.hpp
  libcxx/src/third-party/boost/math/ccmath/trunc.hpp
  libcxx/src/third-party/boost/math/common_factor.hpp
  libcxx/src/third-party/boost/math/common_factor_ct.hpp
  libcxx/src/third-party/boost/math/common_factor_rt.hpp
  libcxx/src/third-party/boost/math/complex.hpp
  libcxx/src/third-party/boost/math/complex/acos.hpp
  libcxx/src/third-party/boost/math/complex/acosh.hpp
  libcxx/src/third-party/boost/math/complex/asin.hpp
  libcxx/src/third-party/boost/math/complex/asinh.hpp
  libcxx/src/third-party/boost/math/complex/atan.hpp
  libcxx/src/third-party/boost/math/complex/atanh.hpp
  libcxx/src/third-party/boost/math/complex/details.hpp
  libcxx/src/third-party/boost/math/complex/fabs.hpp
  libcxx/src/third-party/boost/math/concepts/distributions.hpp
  libcxx/src/third-party/boost/math/concepts/real_concept.hpp
  libcxx/src/third-party/boost/math/concepts/real_type_concept.hpp
  libcxx/src/third-party/boost/math/concepts/std_real_concept.hpp
  libcxx/src/third-party/boost/math/constants/calculate_constants.hpp
  libcxx/src/third-party/boost/math/constants/constants.hpp
  libcxx/src/third-party/boost/math/constants/info.hpp
  libcxx/src/third-party/boost/math/cstdfloat/cstdfloat_cmath.hpp
  libcxx/src/third-party/boost/math/cstdfloat/cstdfloat_complex.hpp
  libcxx/src/third-party/boost/math/cstdfloat/cstdfloat_complex_std.hpp
  libcxx/src/third-party/boost/math/cstdfloat/cstdfloat_iostream.hpp
  libcxx/src/third-party/boost/math/cstdfloat/cstdfloat_limits.hpp
  libcxx/src/third-party/boost/math/cstdfloat/cstdfloat_types.hpp
  libcxx/src/third-party/boost/math/differentiation/autodiff.hpp
  libcxx/src/third-party/boost/math/differentiation/autodiff_cpp11.hpp
  libcxx/src/third-party/boost/math/differentiation/finite_difference.hpp
  libcxx/src/third-party/boost/math/differentiation/lanczos_smoothing.hpp
  libcxx/src/third-party/boost/math/distributions.hpp
  libcxx/src/third-party/boost/math/distributions/arcsine.hpp
  libcxx/src/third-party/boost/math/distributions/bernoulli.hpp
  libcxx/src/third-party/boost/math/distributions/beta.hpp
  libcxx/src/third-party/boost/math/distributions/binomial.hpp
  libcxx/src/third-party/boost/math/distributions/cauchy.hpp
  libcxx/src/third-party/boost/math/distributions/chi_squared.hpp
  libcxx/src/third-party/boost/math/distributions/complement.hpp
  libcxx/src/third-party/boost/math/distributions/detail/common_error_handling.hpp
  libcxx/src/third-party/boost/math/distributions/detail/derived_accessors.hpp
  libcxx/src/third-party/boost/math/distributions/detail/generic_mode.hpp
  libcxx/src/third-party/boost/math/distributions/detail/generic_quantile.hpp
  libcxx/src/third-party/boost/math/distributions/detail/hypergeometric_cdf.hpp
  libcxx/src/third-party/boost/math/distributions/detail/hypergeometric_pdf.hpp
  libcxx/src/third-party/boost/math/distributions/detail/hypergeometric_quantile.hpp
  libcxx/src/third-party/boost/math/distributions/detail/inv_discrete_quantile.hpp
  libcxx/src/third-party/boost/math/distributions/empirical_cumulative_distribution_function.hpp
  libcxx/src/third-party/boost/math/distributions/exponential.hpp
  libcxx/src/third-party/boost/math/distributions/extreme_value.hpp
  libcxx/src/third-party/boost/math/distributions/find_location.hpp
  libcxx/src/third-party/boost/math/distributions/find_scale.hpp
  libcxx/src/third-party/boost/math/distributions/fisher_f.hpp
  libcxx/src/third-party/boost/math/distributions/fwd.hpp
  libcxx/src/third-party/boost/math/distributions/gamma.hpp
  libcxx/src/third-party/boost/math/distributions/geometric.hpp
  libcxx/src/third-party/boost/math/distributions/hyperexponential.hpp
  libcxx/src/third-party/boost/math/distributions/hypergeometric.hpp
  libcxx/src/third-party/boost/math/distributions/inverse_chi_squared.hpp
  libcxx/src/third-party/boost/math/distributions/inverse_gamma.hpp
  libcxx/src/third-party/boost/math/distributions/inverse_gaussian.hpp
  libcxx/src/third-party/boost/math/distributions/kolmogorov_smirnov.hpp
  libcxx/src/third-party/boost/math/distributions/laplace.hpp
  libcxx/src/third-party/boost/math/distributions/logistic.hpp
  libcxx/src/third-party/boost/math/distributions/lognormal.hpp
  libcxx/src/third-party/boost/math/distributions/negative_binomial.hpp
  libcxx/src/third-party/boost/math/distributions/non_central_beta.hpp
  libcxx/src/third-party/boost/math/distributions/non_central_chi_squared.hpp
  libcxx/src/third-party/boost/math/distributions/non_central_f.hpp
  libcxx/src/third-party/boost/math/distributions/non_central_t.hpp
  libcxx/src/third-party/boost/math/distributions/normal.hpp
  libcxx/src/third-party/boost/math/distributions/pareto.hpp
  libcxx/src/third-party/boost/math/distributions/poisson.hpp
  libcxx/src/third-party/boost/math/distributions/rayleigh.hpp
  libcxx/src/third-party/boost/math/distributions/skew_normal.hpp
  libcxx/src/third-party/boost/math/distributions/students_t.hpp
  libcxx/src/third-party/boost/math/distributions/triangular.hpp
  libcxx/src/third-party/boost/math/distributions/uniform.hpp
  libcxx/src/third-party/boost/math/distributions/weibull.hpp
  libcxx/src/third-party/boost/math/filters/daubechies.hpp
  libcxx/src/third-party/boost/math/interpolators/barycentric_rational.hpp
  libcxx/src/third-party/boost/math/interpolators/bezier_polynomial.hpp
  libcxx/src/third-party/boost/math/interpolators/bilinear_uniform.hpp
  libcxx/src/third-party/boost/math/interpolators/cardinal_cubic_b_spline.hpp
  libcxx/src/third-party/boost/math/interpolators/cardinal_quadratic_b_spline.hpp
  libcxx/src/third-party/boost/math/interpolators/cardinal_quintic_b_spline.hpp
  libcxx/src/third-party/boost/math/interpolators/cardinal_trigonometric.hpp
  libcxx/src/third-party/boost/math/interpolators/catmull_rom.hpp
  libcxx/src/third-party/boost/math/interpolators/cubic_b_spline.hpp
  libcxx/src/third-party/boost/math/interpolators/cubic_hermite.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/barycentric_rational_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/bezier_polynomial_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/bilinear_uniform_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/cardinal_cubic_b_spline_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/cardinal_quadratic_b_spline_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/cardinal_quintic_b_spline_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/cardinal_trigonometric_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/cubic_b_spline_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/cubic_hermite_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/quintic_hermite_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/septic_hermite_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/vector_barycentric_rational_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/detail/whittaker_shannon_detail.hpp
  libcxx/src/third-party/boost/math/interpolators/makima.hpp
  libcxx/src/third-party/boost/math/interpolators/pchip.hpp
  libcxx/src/third-party/boost/math/interpolators/quintic_hermite.hpp
  libcxx/src/third-party/boost/math/interpolators/septic_hermite.hpp
  libcxx/src/third-party/boost/math/interpolators/vector_barycentric_rational.hpp
  libcxx/src/third-party/boost/math/interpolators/whittaker_shannon.hpp
  libcxx/src/third-party/boost/math/octonion.hpp
  libcxx/src/third-party/boost/math/policies/error_handling.hpp
  libcxx/src/third-party/boost/math/policies/policy.hpp
  libcxx/src/third-party/boost/math/quadrature/detail/exp_sinh_detail.hpp
  libcxx/src/third-party/boost/math/quadrature/detail/ooura_fourier_integrals_detail.hpp
  libcxx/src/third-party/boost/math/quadrature/detail/sinh_sinh_detail.hpp
  libcxx/src/third-party/boost/math/quadrature/detail/tanh_sinh_detail.hpp
  libcxx/src/third-party/boost/math/quadrature/exp_sinh.hpp
  libcxx/src/third-party/boost/math/quadrature/gauss.hpp
  libcxx/src/third-party/boost/math/quadrature/gauss_kronrod.hpp
  libcxx/src/third-party/boost/math/quadrature/naive_monte_carlo.hpp
  libcxx/src/third-party/boost/math/quadrature/ooura_fourier_integrals.hpp
  libcxx/src/third-party/boost/math/quadrature/sinh_sinh.hpp
  libcxx/src/third-party/boost/math/quadrature/tanh_sinh.hpp
  libcxx/src/third-party/boost/math/quadrature/trapezoidal.hpp
  libcxx/src/third-party/boost/math/quadrature/wavelet_transforms.hpp
  libcxx/src/third-party/boost/math/quaternion.hpp
  libcxx/src/third-party/boost/math/special_functions.hpp
  libcxx/src/third-party/boost/math/special_functions/acosh.hpp
  libcxx/src/third-party/boost/math/special_functions/airy.hpp
  libcxx/src/third-party/boost/math/special_functions/asinh.hpp
  libcxx/src/third-party/boost/math/special_functions/atanh.hpp
  libcxx/src/third-party/boost/math/special_functions/bernoulli.hpp
  libcxx/src/third-party/boost/math/special_functions/bessel.hpp
  libcxx/src/third-party/boost/math/special_functions/bessel_iterators.hpp
  libcxx/src/third-party/boost/math/special_functions/bessel_prime.hpp
  libcxx/src/third-party/boost/math/special_functions/beta.hpp
  libcxx/src/third-party/boost/math/special_functions/binomial.hpp
  libcxx/src/third-party/boost/math/special_functions/cardinal_b_spline.hpp
  libcxx/src/third-party/boost/math/special_functions/cbrt.hpp
  libcxx/src/third-party/boost/math/special_functions/chebyshev.hpp
  libcxx/src/third-party/boost/math/special_functions/chebyshev_transform.hpp
  libcxx/src/third-party/boost/math/special_functions/cos_pi.hpp
  libcxx/src/third-party/boost/math/special_functions/daubechies_scaling.hpp
  libcxx/src/third-party/boost/math/special_functions/daubechies_wavelet.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/airy_ai_bi_zero.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bernoulli_details.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_derivatives_linear.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_i0.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_i1.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_ik.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_j0.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_j1.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jn.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jy.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jy_asym.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jy_derivatives_asym.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jy_derivatives_series.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jy_series.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_jy_zero.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_k0.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_k1.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_kn.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_y0.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_y1.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/bessel_yn.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/daubechies_scaling_integer_grid.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/erf_inv.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/fp_traits.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/gamma_inva.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_0F1_bessel.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_addition_theorems_on_z.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_bessel.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_by_ratios.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_cf.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_large_a.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_large_abz.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_negative_b_regions.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_recurrence.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_scaled_series.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_1F1_small_a_negative_b_by_ratio.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_asym.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_cf.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_pFq_checked_series.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_pade.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_rational.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_separated_series.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/hypergeometric_series.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/ibeta_inv_ab.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/ibeta_inverse.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/iconv.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/igamma_inverse.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/igamma_large.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/lambert_w_lookup_table.ipp
  libcxx/src/third-party/boost/math/special_functions/detail/lanczos_sse2.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/lgamma_small.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/polygamma.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/round_fwd.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/t_distribution_inv.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/unchecked_bernoulli.hpp
  libcxx/src/third-party/boost/math/special_functions/detail/unchecked_factorial.hpp
  (264 more files...)



More information about the libcxx-commits mailing list