uc-sdk
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
w_exp.c
Go to the documentation of this file.
1
2
/* @(#)w_exp.c 1.4 04/04/22 */
3
/*
4
* ====================================================
5
* Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
6
*
7
* Permission to use, copy, modify, and distribute this
8
* software is freely granted, provided that this notice
9
* is preserved.
10
* ====================================================
11
*/
12
13
/*
14
* wrapper exp(x)
15
*/
16
17
#include "
fdlibm.h
"
18
19
#ifdef __STDC__
20
static
const
double
21
#else
22
static
double
23
#endif
24
o_threshold= 7.09782712893383973096e+02,
/* 0x40862E42, 0xFEFA39EF */
25
u_threshold= -7.45133219101941108420e+02;
/* 0xc0874910, 0xD52D3051 */
26
27
#ifdef __STDC__
28
double
exp
(
double
x)
/* wrapper exp */
29
#else
30
double
exp
(x)
/* wrapper exp */
31
double x;
32
#endif
33
{
34
#ifdef _IEEE_LIBM
35
return
__ieee754_exp
(x);
36
#else
37
double
z;
38
z =
__ieee754_exp
(x);
39
if
(
_LIB_VERSION
==
_IEEE_
)
return
z;
40
if
(
finite
(x)) {
41
if
(x>o_threshold)
42
return
__kernel_standard
(x,x,6);
/* exp overflow */
43
else
if
(x<u_threshold)
44
return
__kernel_standard
(x,x,7);
/* exp underflow */
45
}
46
return
z;
47
#endif
48
}
libm
src
w_exp.c
Generated on Fri Nov 15 2013 05:00:19 for uc-sdk by
1.8.4