llvm-capstone/libc/utils
lntue bc7a3bd864
[libc][math] Implement powf function correctly rounded to all rounding modes. (#71188)
We compute `pow(x, y)` using the formula
```
  pow(x, y) = x^y = 2^(y * log2(x))
```
We follow similar steps as in `log2f(x)` and `exp2f(x)`, by breaking
down into `hi + mid + lo` parts, in which `hi` parts are computed using
the exponent field directly, `mid` parts will use look-up tables, and
`lo` parts are approximated by polynomials.

We add some speedup for common use-cases:
```
  pow(2, y) = exp2(y)
  pow(10, y) = exp10(y)
  pow(x, 2) = x * x
  pow(x, 1/2) = sqrt(x)
  pow(x, -1/2) = rsqrt(x) - to be added
```
2023-11-06 16:54:25 -05:00
..
buildbot [libc] Add python3 to libc buildbot depedencies. 2020-12-17 08:59:13 -08:00
gpu [amdgpu][openmp] Treat missing TIMESTAMP_FREQUENCY as non-fatal (#70987) 2023-11-01 22:43:34 +00:00
HdrGen [libc] Mass replace enclosing namespace (#67032) 2023-09-26 11:45:04 +02:00
LibcTableGenUtil [reland][libc][cmake] Tidy compiler includes (#66783) (#66878) 2023-09-20 11:21:46 +02:00
mathtools [libc] Fix Off By One Errors In Printf Long Double (#66957) 2023-09-21 11:43:29 -07:00
MPFRWrapper [libc][math] Implement powf function correctly rounded to all rounding modes. (#71188) 2023-11-06 16:54:25 -05:00
CMakeLists.txt [libc][NFC] Move RoundingModeUtils to LibcFPTestHelpers. 2023-04-18 18:37:30 +00:00