uc-sdk
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
s_logb.c
Go to the documentation of this file.
1
2
/* @(#)s_logb.c 1.3 95/01/18 */
3
/*
4
* ====================================================
5
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6
*
7
* Developed at SunSoft, a Sun Microsystems, Inc. business.
8
* Permission to use, copy, modify, and distribute this
9
* software is freely granted, provided that this notice
10
* is preserved.
11
* ====================================================
12
*/
13
14
/*
15
* double logb(x)
16
* IEEE 754 logb. Included to pass IEEE test suite. Not recommend.
17
* Use ilogb instead.
18
*/
19
20
#include "
fdlibm.h
"
21
22
#ifdef __STDC__
23
double
logb
(
double
x)
24
#else
25
double
logb
(x)
26
double x;
27
#endif
28
{
29
int
lx,ix;
30
ix = (
__HI
(x))&0x7fffffff;
/* high |x| */
31
lx =
__LO
(x);
/* low x */
32
if
((ix|lx)==0)
return
-1.0/
fabs
(x);
33
if
(ix>=0x7ff00000)
return
x*x;
34
if
((ix>>=20)==0)
/* IEEE 754 logb */
35
return
-1022.0;
36
else
37
return
(
double
) (ix-1023);
38
}
libm
src
s_logb.c
Generated on Fri Nov 15 2013 05:00:19 for uc-sdk by
1.8.4