1*627f7eb2Smrg /* @(#)s_ldexp.c 5.1 93/09/24 */
2*627f7eb2Smrg /*
3*627f7eb2Smrg * ====================================================
4*627f7eb2Smrg * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5*627f7eb2Smrg *
6*627f7eb2Smrg * Developed at SunPro, a Sun Microsystems, Inc. business.
7*627f7eb2Smrg * Permission to use, copy, modify, and distribute this
8*627f7eb2Smrg * software is freely granted, provided that this notice
9*627f7eb2Smrg * is preserved.
10*627f7eb2Smrg * ====================================================
11*627f7eb2Smrg */
12*627f7eb2Smrg
13*627f7eb2Smrg #if defined(LIBM_SCCS) && !defined(lint)
14*627f7eb2Smrg static char rcsid[] = "NetBSD: s_ldexp.c,v 1.6 1995/05/10 20:47:40 jtc Exp ";
15*627f7eb2Smrg #endif
16*627f7eb2Smrg
17*627f7eb2Smrg #include "quadmath-imp.h"
18*627f7eb2Smrg
19*627f7eb2Smrg __float128
ldexpq(__float128 value,int exp)20*627f7eb2Smrg ldexpq (__float128 value, int exp)
21*627f7eb2Smrg {
22*627f7eb2Smrg if(!finiteq(value)||value==0) return value + value;
23*627f7eb2Smrg value = scalbnq(value,exp);
24*627f7eb2Smrg if(!finiteq(value)||value==0) errno = ERANGE;
25*627f7eb2Smrg return value;
26*627f7eb2Smrg }
27*627f7eb2Smrg
28*627f7eb2Smrg
29*627f7eb2Smrg
30*627f7eb2Smrg
31*627f7eb2Smrg
32*627f7eb2Smrg /* Note, versioning issues are punted to ldbl-opt in this case. */
33