| xf.li | bdd93d5 | 2023-05-12 07:10:14 -0700 | [diff] [blame] | 1 | /* s_ldexpf.c -- float version of s_ldexp.c. | 
 | 2 |  * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. | 
 | 3 |  */ | 
 | 4 |  | 
 | 5 | /* | 
 | 6 |  * ==================================================== | 
 | 7 |  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. | 
 | 8 |  * | 
 | 9 |  * Developed at SunPro, a Sun Microsystems, Inc. business. | 
 | 10 |  * Permission to use, copy, modify, and distribute this | 
 | 11 |  * software is freely granted, provided that this notice | 
 | 12 |  * is preserved. | 
 | 13 |  * ==================================================== | 
 | 14 |  */ | 
 | 15 |  | 
 | 16 | #if defined(LIBM_SCCS) && !defined(lint) | 
 | 17 | static char rcsid[] = "$NetBSD: s_ldexpf.c,v 1.3 1995/05/10 20:47:42 jtc Exp $"; | 
 | 18 | #endif | 
 | 19 |  | 
 | 20 | #include <math.h> | 
 | 21 | #include <math_private.h> | 
 | 22 | #include <errno.h> | 
 | 23 |  | 
 | 24 | float __ldexpf(float value, int exp) | 
 | 25 | { | 
 | 26 | 	if(!isfinite(value)||value==(float)0.0) return value; | 
 | 27 | 	value = __scalbnf(value,exp); | 
 | 28 | 	if(!isfinite(value)||value==(float)0.0) __set_errno (ERANGE); | 
 | 29 | 	return value; | 
 | 30 | } | 
 | 31 | weak_alias (__ldexpf, ldexpf) | 
 | 32 | weak_alias (__ldexpf, scalbnf) |