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 "cdefs-compat.h"
28- //__FBSDID("$FreeBSD: src/lib/msun/src/s_scalbln.c,v 1.2 2005/03/07 04:57:50 das Exp $");
27+ #include <sys/cdefs.h>
2928
30- #include <limits.h>
3129#include <openlibm_math.h>
3230
33- #include "math_private.h"
31+ #define NMAX 65536
32+ #define NMIN -65536
3433
3534DLLEXPORT double
36- scalbln (double x , long n )
35+ scalbln (double x , long n )
3736{
38- int in ;
3937
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 ));
38+ return (scalbn (x , (n > NMAX ) ? NMAX : (n < NMIN ) ? NMIN : (int )n ));
4839}
4940
5041DLLEXPORT float
51- scalblnf (float x , long n )
42+ scalblnf (float x , long n )
5243{
53- int in ;
5444
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 ));
45+ return (scalbnf (x , (n > NMAX ) ? NMAX : (n < NMIN ) ? NMIN : (int )n ));
6346}
6447
6548DLLEXPORT long double
66- scalblnl (long double x , long n )
49+ scalblnl (long double x , long n )
6750{
68- int in ;
6951
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 ));
52+ return (scalbnl (x , (n > NMAX ) ? NMAX : (n < NMIN ) ? NMIN : (int )n ));
7853}
You can’t perform that action at this time.
0 commit comments