File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2424 * SUCH DAMAGE.
2525 */
2626
27- #include <sys/cdefs.h>
27+ #include "cdefs-compat.h"
28+ //__FBSDID("$FreeBSD: src/lib/msun/src/s_scalbln.c,v 1.2 2005/03/07 04:57:50 das Exp $");
2829
30+ #include <limits.h>
2931#include <openlibm_math.h>
3032
31- #define NMAX 65536
32- #define NMIN -65536
33+ #include "math_private.h"
3334
3435DLLEXPORT double
35- scalbln (double x , long n )
36+ scalbln (double x , long n )
3637{
38+ int in ;
3739
38- return (scalbn (x , (n > NMAX ) ? NMAX : (n < NMIN ) ? NMIN : (int )n ));
40+ in = (int )n ;
41+ if (in != n ) {
42+ if (n > 0 )
43+ in = INT_MAX ;
44+ else
45+ in = INT_MIN ;
46+ }
47+ return (scalbn (x , in ));
3948}
4049
4150DLLEXPORT float
42- scalblnf (float x , long n )
51+ scalblnf (float x , long n )
4352{
53+ int in ;
4454
45- return (scalbnf (x , (n > NMAX ) ? NMAX : (n < NMIN ) ? NMIN : (int )n ));
55+ in = (int )n ;
56+ if (in != n ) {
57+ if (n > 0 )
58+ in = INT_MAX ;
59+ else
60+ in = INT_MIN ;
61+ }
62+ return (scalbnf (x , in ));
4663}
4764
4865DLLEXPORT long double
49- scalblnl (long double x , long n )
66+ scalblnl (long double x , long n )
5067{
68+ int in ;
5169
52- return (scalbnl (x , (n > NMAX ) ? NMAX : (n < NMIN ) ? NMIN : (int )n ));
70+ in = (int )n ;
71+ if (in != n ) {
72+ if (n > 0 )
73+ in = INT_MAX ;
74+ else
75+ in = INT_MIN ;
76+ }
77+ return (scalbnl (x , (int )n ));
5378}
You can’t perform that action at this time.
0 commit comments