uc-sdk
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
e_scalb.c
Go to the documentation of this file.
1
2
/* @(#)e_scalb.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
* __ieee754_scalb(x, fn) is provide for
16
* passing various standard test suite. One
17
* should use scalbn() instead.
18
*/
19
20
#include "
fdlibm.h
"
21
22
#ifdef _SCALB_INT
23
#ifdef __STDC__
24
double
__ieee754_scalb
(
double
x,
int
fn)
25
#else
26
double
__ieee754_scalb
(x,fn)
27
double x;
int
fn;
28
#endif
29
#else
30
#ifdef __STDC__
31
double
__ieee754_scalb
(
double
x,
double
fn)
32
#else
33
double
__ieee754_scalb
(x,fn)
34
double x, fn;
35
#endif
36
#endif
37
{
38
#ifdef _SCALB_INT
39
return
scalbn
(x,fn);
40
#else
41
if
(
isnan
(x)||
isnan
(fn))
return
x*fn;
42
if
(!
finite
(fn)) {
43
if
(fn>0.0)
return
x*fn;
44
else
return
x/(-fn);
45
}
46
if
(
rint
(fn)!=fn)
return
(fn-fn)/(fn-fn);
47
if
( fn > 65000.0)
return
scalbn
(x, 65000);
48
if
(-fn > 65000.0)
return
scalbn
(x,-65000);
49
return
scalbn
(x,(
int
)fn);
50
#endif
51
}
libm
src
e_scalb.c
Generated on Fri Nov 15 2013 05:00:19 for uc-sdk by
1.8.4