summaryrefslogtreecommitdiff
path: root/newlib/libc/machine/i386/f_exp.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
committerPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
commita6c1ed4716cf02626ea035beb6dd4a921642ba80 (patch)
treeef582c1b52819e27bdd16097ec03b69799d04ede /newlib/libc/machine/i386/f_exp.c
parentf6c9a624fa8a6878a7fb2b02f55e4990a20feb59 (diff)
Use libc from agbcc instead of standalone newlib\nYou must have AGBCC commit 80d029caec189587f8b9294b6c8a5a489b8f5f88 in order to compile pmd_red.gbalibc
Diffstat (limited to 'newlib/libc/machine/i386/f_exp.c')
-rw-r--r--newlib/libc/machine/i386/f_exp.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/newlib/libc/machine/i386/f_exp.c b/newlib/libc/machine/i386/f_exp.c
deleted file mode 100644
index a7fb055..0000000
--- a/newlib/libc/machine/i386/f_exp.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * ====================================================
- * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-Fast version of exp using Intel float instructions.
-
- double _f_exp (double x);
-
-Function computes e ** x. The following special cases exist:
- 1. if x is 0.0 ==> return 1.0
- 2. if x is infinity ==> return infinity
- 3. if x is -infinity ==> return 0.0
- 4. if x is NaN ==> return x
-There is no error checking or setting of errno.
-*/
-
-
-#include <math.h>
-#include <ieeefp.h>
-#include "f_math.h"
-
-double _f_exp (double x)
-{
- if (check_finite(x))
- {
- double result;
- asm ("fldl2e; fmulp; fld %%st; frndint; fsub %%st,%%st(1); fxch;" \
- "fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1); fmulp" :
- "=t"(result) : "0"(x));
- return result;
- }
- else if (x == -infinity())
- return 0.0;
-
- return x;
-}
-
-