diff options
Diffstat (limited to 'libc/utils/MPFRWrapper/MPCommon.cpp')
| -rw-r--r-- | libc/utils/MPFRWrapper/MPCommon.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libc/utils/MPFRWrapper/MPCommon.cpp b/libc/utils/MPFRWrapper/MPCommon.cpp index 77039d4bf7df..c25522077411 100644 --- a/libc/utils/MPFRWrapper/MPCommon.cpp +++ b/libc/utils/MPFRWrapper/MPCommon.cpp @@ -138,6 +138,21 @@ MPFRNumber MPFRNumber::atanh() const { return result; } +MPFRNumber MPFRNumber::atanpi() const { + MPFRNumber result(*this); +#if MPFR_VERSION >= MPFR_VERSION_NUM(4, 2, 0) + mpfr_atanpi(result.value, value, mpfr_rounding); + return result; +#else + MPFRNumber value_atan(0.0, mpfr_precision * 3); + mpfr_atan(value_atan.value, value, MPFR_RNDN); + MPFRNumber value_pi(0.0, mpfr_precision * 3); + mpfr_const_pi(value_pi.value, MPFR_RNDN); + mpfr_div(result.value, value_atan.value, value_pi.value, mpfr_rounding); + return result; +#endif +} + MPFRNumber MPFRNumber::cbrt() const { MPFRNumber result(*this); mpfr_cbrt(result.value, value, mpfr_rounding); |
