/*
 * double ldexp(value, exp);
 * double value;
 * unsigned int exp;
 *
 * returns value * 2**exp
 *
 * ++jrb	bammi@dsrgsun.ces.cwru.edu
 */
#include "flonum.h"

#ifdef SHORTLIB /* in short lib, this file is compiled with 32 bit ints */
#  ifdef __STDC__
    double ldexp(double value, unsigned short ex)
#  else
    double ldexp(value, ex)
    double value;
    unsigned short ex;
#  endif
#else
#  ifdef __STDC__
    double ldexp(double value, unsigned int ex)
#  else
    double ldexp(value, ex)
    double value;
    unsigned int ex;
#  endif
#endif /* SHORTLIB */
{
	struct bitdouble *res = (struct bitdouble *) &value;

	res->exp   += ex;
	return value;
}
