[libcxx] [llvm] [libc++][math][c++17] P0226R1 - Mathematical Special Functions: infra + `std::assoc_laguerre` (PR #205649)

Hristo Hristov via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 6 04:27:47 PDT 2026


H-G-Hristov wrote:

> Towards #99939 .
> 
> First PR in a series implementing P0226R1 - C++17 Mathematical Special Functions.
> 
> Includes:
> 
>     * privately linking against Boost.Math
> 
>     * forwards to Boost.Math functions in `mathematical_special_functions.cpp` library TU
> 
>     * error handling (per [sf.cmath.general]):
>       
>       * NaN argument -> NaN result, no domain error
>       * domain/range errors set `errno` (EDOM / ERANGE) via `boost::math::policies::errno_on_error` policy; `BOOST_MATH_NO_EXCEPTIONS` keeps the library exception-free
>       * `<cfenv>` (MATH_ERREXCEPT) is not mirrored for now. Neither libc++'s `std::hermite` nor libstdc++'s special functions do so; the original Phabricator patch (D142806) had partial support
> 
>     * `std::assoc_laguerre` as the first function on top of it (+tests)

> Resources
> 
>     * PR that added Boost.Math: [[third-party] Add a snapshot of Boost.Math 1.89 standalone #141508](https://github.com/llvm/llvm-project/pull/141508)
> 
>     * cppref for [`std::assoc_laguerre`](https://cppreference.net/cpp/experimental/special_functions/assoc_laguerre.html)
> 
>     * `std::assoc_laguerre` in the draft standard: https://wg21.link/sf.cmath#assoc.laguerre

The top comment becomes the commit message. It should contain information relevant to this PR only. You can copy anything else in a follow-up comment.

The above is a suggestion of what it should contain.

https://github.com/llvm/llvm-project/pull/205649


More information about the llvm-commits mailing list