[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