1 /* wf_log10.c -- float version of w_log10.c.
2 * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
6 * ====================================================
7 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
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
13 * ====================================================
24 float log10f(float x
) /* wrapper log10f */
26 float log10f(x
) /* wrapper log10f */
31 return __ieee754_log10f(x
);
35 z
= __ieee754_log10f(x
);
36 if(_LIB_VERSION
== _IEEE_
|| isnanf(x
)) return z
;
42 SET_HIGH_WORD(inf
,0x7ff00000); /* set inf to infinite */
46 exc
.arg1
= exc
.arg2
= (double)x
;
47 if (_LIB_VERSION
== _SVID_
)
50 exc
.retval
= -HUGE_VAL
;
54 if (_LIB_VERSION
== _POSIX_
)
56 else if (!matherr(&exc
)) {
62 if (_LIB_VERSION
== _POSIX_
)
64 else if (!matherr(&exc
)) {
70 return (float)exc
.retval
;
76 #ifdef _DOUBLE_IS_32BITS
79 double log10(double x
)
85 return (double) log10f((float) x
);
88 #endif /* defined(_DOUBLE_IS_32BITS) */