forked from OSchip/llvm-project
Summary: Currently std::asinh and std::acosh use std::pow to compute x^2. This results in a significant error when computing e.g. asinh(i) or acosh(-1). This patch expresses x^2 directly via x.real() and x.imag(), like it is done in libstdc++/glibc, and adds tests that checks the accuracy. Reviewers: EricWF, mclow.lists Reviewed By: mclow.lists Subscribers: christof, cfe-commits Differential Revision: https://reviews.llvm.org/D41629 llvm-svn: 325510 |
||
|---|---|---|
| .. | ||
| acos.pass.cpp | ||
| acosh.pass.cpp | ||
| asin.pass.cpp | ||
| asinh.pass.cpp | ||
| atan.pass.cpp | ||
| atanh.pass.cpp | ||
| cos.pass.cpp | ||
| cosh.pass.cpp | ||
| exp.pass.cpp | ||
| log.pass.cpp | ||
| log10.pass.cpp | ||
| pow_complex_complex.pass.cpp | ||
| pow_complex_scalar.pass.cpp | ||
| pow_scalar_complex.pass.cpp | ||
| sin.pass.cpp | ||
| sinh.pass.cpp | ||
| sqrt.pass.cpp | ||
| tan.pass.cpp | ||
| tanh.pass.cpp | ||