diff --git a/modules/fdlibm/src/k_exp.cpp b/modules/fdlibm/src/k_exp.cpp --- a/modules/fdlibm/src/k_exp.cpp +++ b/modules/fdlibm/src/k_exp.cpp @@ -22,18 +22,16 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ //#include //__FBSDID("$FreeBSD$"); -#include - #include "math_private.h" static const uint32_t k = 1799; /* constant for reduction */ static const double kln2 = 1246.97177782734161156; /* k * ln2 */ /* * Compute exp(x), scaled to avoid spurious overflow. An exponent is * returned separately in 'expt'. @@ -76,32 +74,8 @@ double double exp_x, scale; int ex_expt; exp_x = __frexp_exp(x, &ex_expt); expt += ex_expt; INSERT_WORDS(scale, (0x3ff + expt) << 20, 0); return (exp_x * scale); } - -double complex -__ldexp_cexp(double complex z, int expt) -{ - double x, y, exp_x, scale1, scale2; - int ex_expt, half_expt; - - x = creal(z); - y = cimag(z); - exp_x = __frexp_exp(x, &ex_expt); - expt += ex_expt; - - /* - * Arrange so that scale1 * scale2 == 2**expt. We use this to - * compensate for scalbn being horrendously slow. - */ - half_expt = expt / 2; - INSERT_WORDS(scale1, (0x3ff + half_expt) << 20, 0); - half_expt = expt - half_expt; - INSERT_WORDS(scale2, (0x3ff + half_expt) << 20, 0); - - return (CMPLX(cos(y) * exp_x * scale1 * scale2, - sin(y) * exp_x * scale1 * scale2)); -}