Print this page
11210 libm should be cstyle(1ONBLD) clean
*** 20,29 ****
--- 20,30 ----
*/
/*
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
+
/*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
*** 37,72 ****
#include "longdouble.h"
#include <sys/isa_defs.h>
long double
! scalbl(long double x, long double fn) {
! int *py = (int *) &fn, n;
long double z;
if (isnanl(x) || isnanl(fn))
! return x * fn;
/* fn is +/-Inf */
#if defined(_BIG_ENDIAN)
if ((py[0] & 0x7fff0000) == 0x7fff0000) {
if ((py[0] & 0x80000000) != 0)
#else
if ((py[2] & 0x7fff) == 0x7fff) {
if ((py[2] & 0x8000) != 0)
#endif
! return x / (-fn);
else
! return x * fn;
}
if (rintl(fn) != fn)
! return (fn - fn) / (fn - fn);
! if (fn > 65000.0L)
z = scalbnl(x, 65000);
! else if (-fn > 65000.0L)
z = scalbnl(x, -65000);
! else {
! n = (int) fn;
z = scalbnl(x, n);
}
! return z;
}
--- 38,77 ----
#include "longdouble.h"
#include <sys/isa_defs.h>
long double
! scalbl(long double x, long double fn)
! {
! int *py = (int *)&fn, n;
long double z;
if (isnanl(x) || isnanl(fn))
! return (x * fn);
/* fn is +/-Inf */
#if defined(_BIG_ENDIAN)
if ((py[0] & 0x7fff0000) == 0x7fff0000) {
if ((py[0] & 0x80000000) != 0)
#else
if ((py[2] & 0x7fff) == 0x7fff) {
if ((py[2] & 0x8000) != 0)
#endif
! return (x / (-fn));
else
! return (x * fn);
}
+
if (rintl(fn) != fn)
! return ((fn - fn) / (fn - fn));
!
! if (fn > 65000.0L) {
z = scalbnl(x, 65000);
! } else if (-fn > 65000.0L) {
z = scalbnl(x, -65000);
! } else {
! n = (int)fn;
z = scalbnl(x, n);
}
!
! return (z);
}