@@ -70,7 +70,7 @@ using namespace common_constants_internal;
70
70
// Return expm1(dx) / x ~ 1 + dx / 2 + dx^2 / 6 + dx^3 / 24.
71
71
// For |dx| < 2^-13 + 2^-30:
72
72
// | output - expm1(dx) / dx | < 2^-51.
73
- LIBC_INLINE static constexpr double poly_approx_d (double dx) {
73
+ LIBC_INLINE static double poly_approx_d (double dx) {
74
74
// dx^2
75
75
double dx2 = dx * dx;
76
76
// c0 = 1 + dx / 2
@@ -144,8 +144,8 @@ std::ostream &operator<<(std::ostream &OS, const DoubleDouble &r) {
144
144
// Compute exp(x) - 1 using 128-bit precision.
145
145
// TODO(lntue): investigate triple-double precision implementation for this
146
146
// step.
147
- [[maybe_unused]] LIBC_INLINE static constexpr Float128
148
- expm1_f128 ( double x, double kd, int idx1, int idx2) {
147
+ [[maybe_unused]] LIBC_INLINE static Float128 expm1_f128 ( double x, double kd,
148
+ int idx1, int idx2) {
149
149
// Recalculate dx:
150
150
151
151
double t1 = fputil::multiply_add (kd, MLOG_2_EXP2_M12_HI, x); // exact
@@ -196,9 +196,9 @@ expm1_f128(double x, double kd, int idx1, int idx2) {
196
196
}
197
197
198
198
// Compute exp(x) - 1 with double-double precision.
199
- LIBC_INLINE static constexpr DoubleDouble
200
- exp_double_double ( double x, double kd, const DoubleDouble &exp_mid,
201
- const DoubleDouble &hi_part) {
199
+ LIBC_INLINE static DoubleDouble exp_double_double ( double x, double kd,
200
+ const DoubleDouble &exp_mid,
201
+ const DoubleDouble &hi_part) {
202
202
// Recalculate dx:
203
203
// dx = x - k * 2^-12 * log(2)
204
204
double t1 = fputil::multiply_add (kd, MLOG_2_EXP2_M12_HI, x); // exact
0 commit comments