/* @(#)w_exp2.c 5.1 93/09/24 */ /* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice * is preserved. * ==================================================== */ /* FUNCTION <<exp2>>, <<exp2f>>--exponential, base 2 INDEX exp2 INDEX exp2f ANSI_SYNOPSIS #include <math.h> double exp2(double <[x]>); float exp2f(float <[x]>); DESCRIPTION <<exp2>> and <<exp2f>> calculate 2 ^ <[x]>, that is, @ifnottex 2 raised to the power <[x]>. @end ifnottex @tex $2^x$ @end tex You can use the (non-ANSI) function <<matherr>> to specify error handling for these functions. RETURNS On success, <<exp2>> and <<exp2f>> return the calculated value. If the result underflows, the returned value is <<0>>. If the result overflows, the returned value is <<HUGE_VAL>>. In either case, <<errno>> is set to <<ERANGE>>. PORTABILITY ANSI C, POSIX. */ /* * wrapper exp2(x) */ #include "fdlibm.h" #include <errno.h> #include <math.h> #ifndef _DOUBLE_IS_32BITS #ifdef __STDC__ double exp2(double x) /* wrapper exp2 */ #else double exp2(x) /* wrapper exp2 */ double x; #endif { return pow(2.0, x); } #endif /* defined(_DOUBLE_IS_32BITS) */