Print this page
11210 libm should be cstyle(1ONBLD) clean
*** 16,60 ****
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma weak __scalbf = scalbf
#include "libm.h"
float
! scalbf(float x, float y) {
int ix, iy, hx, hy, n;
ix = *(int *)&x;
iy = *(int *)&y;
hx = ix & ~0x80000000;
hy = iy & ~0x80000000;
if (hx > 0x7f800000 || hy >= 0x7f800000) {
/* x is nan or y is inf or nan */
! return ((iy < 0)? x / -y : x * y);
}
/* see if y is an integer without raising inexact */
if (hy >= 0x4b000000) {
/* |y| >= 2^23, so it must be an integer */
! n = (iy < 0)? -65000 : 65000;
} else if (hy < 0x3f800000) {
/* |y| < 1, so it must be zero or non-integer */
! return ((hy == 0)? x : (x - x) / (x - x));
} else {
if (hy & ((1 << (0x96 - (hy >> 23))) - 1))
return ((y - y) / (y - y));
n = (int)y;
}
return (scalbnf(x, n));
}
--- 16,65 ----
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
+
/*
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
+
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma weak __scalbf = scalbf
#include "libm.h"
float
! scalbf(float x, float y)
! {
int ix, iy, hx, hy, n;
ix = *(int *)&x;
iy = *(int *)&y;
hx = ix & ~0x80000000;
hy = iy & ~0x80000000;
if (hx > 0x7f800000 || hy >= 0x7f800000) {
/* x is nan or y is inf or nan */
! return ((iy < 0) ? x / -y : x *y);
}
/* see if y is an integer without raising inexact */
if (hy >= 0x4b000000) {
/* |y| >= 2^23, so it must be an integer */
! n = (iy < 0) ? -65000 : 65000;
} else if (hy < 0x3f800000) {
/* |y| < 1, so it must be zero or non-integer */
! return ((hy == 0) ? x : (x - x) / (x - x));
} else {
if (hy & ((1 << (0x96 - (hy >> 23))) - 1))
return ((y - y) / (y - y));
+
n = (int)y;
}
+
return (scalbnf(x, n));
}