aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/libm-ieee754/s_scalbn.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-03-12 09:50:46 +0000
committerRoland McGrath <roland@gnu.org>1996-03-12 09:50:46 +0000
commit1177c8babf74c7335c5f3bf09c45961bebeed6c6 (patch)
tree32a7b9a837848f7af33a8c541f092ec6acfda9ac /sysdeps/libm-ieee754/s_scalbn.c
parentdd0e4e0c8bc50309bdadae2ec78c4ccf15e6c402 (diff)
downloadglibc-1177c8babf74c7335c5f3bf09c45961bebeed6c6.tar
glibc-1177c8babf74c7335c5f3bf09c45961bebeed6c6.tar.gz
glibc-1177c8babf74c7335c5f3bf09c45961bebeed6c6.tar.bz2
glibc-1177c8babf74c7335c5f3bf09c45961bebeed6c6.zip
Tue Mar 12 04:42:01 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/sparc/jmp_buf.h: Rewritten; use array of ints, not struct. * sysdeps/sparc/setjmp.S: Rewritten; store %fp value as well. * sysdeps/sparc/__longjmp.S: Rewritten; unwind frames one by one with `restore' until the target frame is hit. Sun Mar 10 20:29:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/sigsuspend.c: New file. * sysdeps/unix/sysv/linux/syscalls.list: Remove sigsuspend, add s_sigsuspend. Thu Mar 7 21:30:58 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules (+make-deps, sed-remove-objpfx): Quote periods on the left side of sed substitutions. Sun Mar 10 16:58:10 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu> * stdio-common/printf_fp.c (hack_digit): __mpn_normal_size is not available anymore. Do it ourselves. * sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_SETCW): Correct GCC `asm' syntax. * stdio-common/Makefile (tests): Add tst-ungetc. * stdio-common/tst-ungetc.c: New test from drepper. * stdio-common/tstscanf.c (main): New %[ test case from drepper. * sysdeps/libm-ieee754/s_scalbn.c (scalbn): Rename to __scalbn; somehow this was missed, though the weak alias is already there.
Diffstat (limited to 'sysdeps/libm-ieee754/s_scalbn.c')
-rw-r--r--sysdeps/libm-ieee754/s_scalbn.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sysdeps/libm-ieee754/s_scalbn.c b/sysdeps/libm-ieee754/s_scalbn.c
index 835f00ea77..6efaec07ac 100644
--- a/sysdeps/libm-ieee754/s_scalbn.c
+++ b/sysdeps/libm-ieee754/s_scalbn.c
@@ -5,7 +5,7 @@
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
+ * software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
@@ -14,10 +14,10 @@
static char rcsid[] = "$NetBSD: s_scalbn.c,v 1.8 1995/05/10 20:48:08 jtc Exp $";
#endif
-/*
+/*
* scalbn (double x, int n)
- * scalbn(x,n) returns x* 2**n computed by exponent
- * manipulation rather than by actually performing an
+ * scalbn(x,n) returns x* 2**n computed by exponent
+ * manipulation rather than by actually performing an
* exponentiation or a multiplication.
*/
@@ -35,9 +35,9 @@ huge = 1.0e+300,
tiny = 1.0e-300;
#ifdef __STDC__
- double scalbn (double x, int n)
+ double __scalbn (double x, int n)
#else
- double scalbn (x,n)
+ double __scalbn (x,n)
double x; int n;
#endif
{
@@ -46,20 +46,20 @@ tiny = 1.0e-300;
k = (hx&0x7ff00000)>>20; /* extract exponent */
if (k==0) { /* 0 or subnormal x */
if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */
- x *= two54;
+ x *= two54;
GET_HIGH_WORD(hx,x);
- k = ((hx&0x7ff00000)>>20) - 54;
+ k = ((hx&0x7ff00000)>>20) - 54;
if (n< -50000) return tiny*x; /*underflow*/
}
if (k==0x7ff) return x+x; /* NaN or Inf */
- k = k+n;
- if (k > 0x7fe) return huge*copysign(huge,x); /* overflow */
+ k = k+n;
+ if (k > 0x7fe) return huge*__copysign(huge,x); /* overflow */
if (k > 0) /* normal result */
{SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;}
if (k <= -54)
if (n > 50000) /* in case integer overflow in n+k */
- return huge*copysign(huge,x); /*overflow*/
- else return tiny*copysign(tiny,x); /*underflow*/
+ return huge*__copysign(huge,x); /*overflow*/
+ else return tiny*__copysign(tiny,x); /*underflow*/
k += 54; /* subnormal result */
SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
return x*twom54;