Cygwin: cygtls: rename sig to current_sig
[newlib-cygwin.git] / newlib / libm / math / w_exp2.c
blob7108654e3cb30f28acd9c9608dbba4a7e804e7c9
2 /* @(#)w_exp2.c 5.1 93/09/24 */
3 /*
4 * ====================================================
5 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
7 * Developed at SunPro, a Sun Microsystems, Inc. business.
8 * Permission to use, copy, modify, and distribute this
9 * software is freely granted, provided that this notice
10 * is preserved.
11 * ====================================================
15 FUNCTION
16 <<exp2>>, <<exp2f>>---exponential, base 2
17 INDEX
18 exp2
19 INDEX
20 exp2f
22 SYNOPSIS
23 #include <math.h>
24 double exp2(double <[x]>);
25 float exp2f(float <[x]>);
27 DESCRIPTION
28 <<exp2>> and <<exp2f>> calculate 2 ^ <[x]>, that is,
29 @ifnottex
30 2 raised to the power <[x]>.
31 @end ifnottex
32 @tex
33 $2^x$
34 @end tex
36 RETURNS
37 On success, <<exp2>> and <<exp2f>> return the calculated value.
38 If the result underflows, the returned value is <<0>>. If the
39 result overflows, the returned value is <<HUGE_VAL>>. In
40 either case, <<errno>> is set to <<ERANGE>>.
42 PORTABILITY
43 ANSI C, POSIX.
48 * wrapper exp2(x)
51 #include "fdlibm.h"
52 #if __OBSOLETE_MATH
53 #include <errno.h>
54 #include <math.h>
56 #ifndef _DOUBLE_IS_32BITS
58 #ifdef __STDC__
59 double exp2(double x) /* wrapper exp2 */
60 #else
61 double exp2(x) /* wrapper exp2 */
62 double x;
63 #endif
65 return pow(2.0, x);
68 #endif /* defined(_DOUBLE_IS_32BITS) */
69 #endif /* __OBSOLETE_MATH */