summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorlntue <35648136+lntue@users.noreply.github.com>2023-11-06 16:54:25 -0500
committerGitHub <noreply@github.com>2023-11-06 16:54:25 -0500
commitbc7a3bd864be696217c4d11eddf16bed7646b60f (patch)
tree40f29249601d28f090708ace1611811bb9534f13 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parent0156b6ed6561f67f1b86ceef027908dd425e0615 (diff)
[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 ```
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions