From: Gero Peterhoff (g.peterhoff_at_[hidden])
Date: 2022-08-17 19:29:12
> Some of the checks you will find in the ccmath library seem common sense, but it is implemented to match the C++23 proposal (now standard) for constexpr cmath and cstdlib functionality. We used C++17 throughout to provide a clean solution with a reasonable language standard. If you look at the definition of BOOST_MATH_IS_CONSTANT_EVALUATED we are already using compiler intrinsics to allow this to be used without C++20s std::is_constant_evaluated. For non-trivial functionality C++11 would become extremely difficult to implement. C++14 would require code bloat that we can get around with if constexpr. Feel free to open up PRs and I will review your solutions.
Hello Matt, Hello John,
I wrote that it is possible to define workarounds. This even works with C++11 without having to fiddle on ccmath. But for that I need a few #define and the code has to be C++11-compatible (single return statement). In this way, constexpr boost::math functions can already be implemented if the compiler supports it. I have implemented a few functions for testing and would like to ask whether I can implement the remaining functions in this way. If this is not ok, please let me know exactly under which conditions this would have to be done.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk