13a8617a8SJordan K. Hubbard/* 23a8617a8SJordan K. Hubbard * Copyright (c) 1993,94 Winning Strategies, Inc. 33a8617a8SJordan K. Hubbard * All rights reserved. 43a8617a8SJordan K. Hubbard * 53a8617a8SJordan K. Hubbard * Redistribution and use in source and binary forms, with or without 63a8617a8SJordan K. Hubbard * modification, are permitted provided that the following conditions 73a8617a8SJordan K. Hubbard * are met: 83a8617a8SJordan K. Hubbard * 1. Redistributions of source code must retain the above copyright 93a8617a8SJordan K. Hubbard * notice, this list of conditions and the following disclaimer. 103a8617a8SJordan K. Hubbard * 2. Redistributions in binary form must reproduce the above copyright 113a8617a8SJordan K. Hubbard * notice, this list of conditions and the following disclaimer in the 123a8617a8SJordan K. Hubbard * documentation and/or other materials provided with the distribution. 133a8617a8SJordan K. Hubbard * 3. All advertising materials mentioning features or use of this software 143a8617a8SJordan K. Hubbard * must display the following acknowledgement: 153a8617a8SJordan K. Hubbard * This product includes software developed by Winning Strategies, Inc. 163a8617a8SJordan K. Hubbard * 4. The name of the author may not be used to endorse or promote products 173a8617a8SJordan K. Hubbard * derived from this software without specific prior written permission. 183a8617a8SJordan K. Hubbard * 193a8617a8SJordan K. Hubbard * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 203a8617a8SJordan K. Hubbard * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 213a8617a8SJordan K. Hubbard * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 223a8617a8SJordan K. Hubbard * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 233a8617a8SJordan K. Hubbard * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 243a8617a8SJordan K. Hubbard * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 253a8617a8SJordan K. Hubbard * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 263a8617a8SJordan K. Hubbard * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 273a8617a8SJordan K. Hubbard * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 283a8617a8SJordan K. Hubbard * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 293a8617a8SJordan K. Hubbard */ 303a8617a8SJordan K. Hubbard 313a8617a8SJordan K. Hubbard/* 323a8617a8SJordan K. Hubbard * Written by: 333a8617a8SJordan K. Hubbard * J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc. 343a8617a8SJordan K. Hubbard */ 353a8617a8SJordan K. Hubbard 36ec8cc608SJordan K. Hubbard#include <machine/asmacros.h> 373a8617a8SJordan K. Hubbard 38ec8cc608SJordan K. HubbardRCSID("$Id: e_exp.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") 393a8617a8SJordan K. Hubbard 403a8617a8SJordan K. Hubbard/* e^x = 2^(x * log2(e)) */ 413a8617a8SJordan K. HubbardENTRY(__ieee754_exp) 423a8617a8SJordan K. Hubbard fldl 4(%esp) 433a8617a8SJordan K. Hubbard fldl2e 443a8617a8SJordan K. Hubbard fmulp /* x * log2(e) */ 453a8617a8SJordan K. Hubbard fstl %st(1) 463a8617a8SJordan K. Hubbard frndint /* int(x * log2(e)) */ 473a8617a8SJordan K. Hubbard fstl %st(2) 483a8617a8SJordan K. Hubbard fsubrp /* fract(x * log2(e)) */ 493a8617a8SJordan K. Hubbard f2xm1 /* 2^(fract(x * log2(e))) - 1 */ 503a8617a8SJordan K. Hubbard fld1 513a8617a8SJordan K. Hubbard faddp /* 2^(fract(x * log2(e))) */ 523a8617a8SJordan K. Hubbard fscale /* e^x */ 533a8617a8SJordan K. Hubbard ret 54