OSDN Git Service

- fix fpclassify, signbit, isfinite, isnan, isinf macros for long double math support
[uclinux-h8/uClibc.git] / libm / s_ldexp.c
1 /* @(#)s_ldexp.c 5.1 93/09/24 */
2 /*
3  * ====================================================
4  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5  *
6  * Developed at SunPro, a Sun Microsystems, Inc. business.
7  * Permission to use, copy, modify, and distribute this
8  * software is freely granted, provided that this notice
9  * is preserved.
10  * ====================================================
11  */
12
13 #if defined(LIBM_SCCS) && !defined(lint)
14 static char rcsid[] = "$NetBSD: s_ldexp.c,v 1.6 1995/05/10 20:47:40 jtc Exp $";
15 #endif
16
17 #include "math.h"
18 #include "math_private.h"
19 #include <errno.h>
20
21
22 #ifdef __STDC__
23         double ldexp(double value, int exp)
24 #else
25         double ldexp(value, exp)
26         double value; int exp;
27 #endif
28 {
29         if(!isfinite(value)||value==0.0) return value;
30         value = scalbn(value,exp);
31         if(!isfinite(value)||value==0.0) errno = ERANGE;
32         return value;
33 }
34 libm_hidden_def(ldexp)