1 | /* ldexpq.c -- __float128 version of s_ldexp.c. |
2 | * Conversion to long double by Ulrich Drepper, |
3 | * Cygnus Support, drepper@cygnus.com. |
4 | */ |
5 | |
6 | /* |
7 | * ==================================================== |
8 | * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. |
9 | * |
10 | * Developed at SunPro, a Sun Microsystems, Inc. business. |
11 | * Permission to use, copy, modify, and distribute this |
12 | * software is freely granted, provided that this notice |
13 | * is preserved. |
14 | * ==================================================== |
15 | */ |
16 | |
17 | #include <errno.h> |
18 | #include "quadmath-imp.h" |
19 | |
20 | __float128 |
21 | ldexpq (__float128 value, int exp) |
22 | { |
23 | if(!finiteq(value)||value==0.0Q) return value; |
24 | value = scalbnq(value,exp); |
25 | if(!finiteq(value)||value==0.0Q) errno = ERANGE; |
26 | return value; |
27 | } |
28 | |