9 changes: 9 additions & 0 deletions libc/utils/MPFRWrapper/MPFRUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,12 @@ class MPFRNumber {
return result;
}

MPFRNumber acosh() const {
MPFRNumber result(*this);
mpfr_acosh(result.value, value, mpfr_rounding);
return result;
}

MPFRNumber asin() const {
MPFRNumber result(*this);
mpfr_asin(result.value, value, mpfr_rounding);
Expand All @@ -201,6 +207,7 @@ class MPFRNumber {
mpfr_asinh(result.value, value, mpfr_rounding);
return result;
}

MPFRNumber atan() const {
MPFRNumber result(*this);
mpfr_atan(result.value, value, mpfr_rounding);
Expand Down Expand Up @@ -545,6 +552,8 @@ unary_operation(Operation op, InputType input, unsigned int precision,
return mpfrInput.abs();
case Operation::Acos:
return mpfrInput.acos();
case Operation::Acosh:
return mpfrInput.acosh();
case Operation::Asin:
return mpfrInput.asin();
case Operation::Asinh:
Expand Down
1 change: 1 addition & 0 deletions libc/utils/MPFRWrapper/MPFRUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ enum class Operation : int {
BeginUnaryOperationsSingleOutput,
Abs,
Acos,
Acosh,
Asin,
Asinh,
Atan,
Expand Down