2007-05-17 Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>

* libm/common/Makefile.am: Add support for exp10, exp10f,
        pow10, and pow10f functions.
        * libm/common/Makefile.in: Regenerated.
        * libm/common/s_pow10.c: New file.
        * libm/common/sf_pow10.c: Ditto.
        * libm/common/s_exp10.c: Ditto.
        * libm/common/sf_exp10.c: Ditto.
        * libc/include/math.h [!pow10]: New pow10 prototype.
        [!pow10f]: New pow10f prototype.
        [!exp10]: New exp10 prototype.
        [!exp10f]: New exp10f prototype.
This commit is contained in:
Jeff Johnston 2007-05-17 18:50:57 +00:00
parent 487e9075d0
commit e0500490bc
8 changed files with 374 additions and 56 deletions

View File

@ -1,3 +1,17 @@
2007-05-17 Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>
* libm/common/Makefile.am: Add support for exp10, exp10f,
pow10, and pow10f functions.
* libm/common/Makefile.in: Regenerated.
* libm/common/s_pow10.c: New file.
* libm/common/sf_pow10.c: Ditto.
* libm/common/s_exp10.c: Ditto.
* libm/common/sf_exp10.c: Ditto.
* libc/include/math.h [!pow10]: New pow10 prototype.
[!pow10f]: New pow10f prototype.
[!exp10]: New exp10 prototype.
[!exp10f]: New exp10f prototype.
2007-05-17 Charles Wilson <cygwin@...>
* stdio/tmpfile.c: Include <sys/stat.h>.

View File

@ -233,6 +233,14 @@ extern double fmin _PARAMS((double, double));
extern double fma _PARAMS((double, double, double));
extern void sincos _PARAMS((double, double *, double *));
/* GNU extensions */
# ifndef exp10
extern double exp10 _PARAMS((double));
# endif
# ifndef pow10
extern double pow10 _PARAMS((double));
# endif
#ifndef __math_68881
extern double log1p _PARAMS((double));
extern double expm1 _PARAMS((double));
@ -335,6 +343,14 @@ extern float log1pf _PARAMS((float));
extern float expm1f _PARAMS((float));
extern void sincosf _PARAMS((float, float *, float *));
/* GNU extensions */
# ifndef exp10f
extern float exp10f _PARAMS((float));
# endif
# ifndef pow10f
extern float pow10f _PARAMS((float));
# endif
#ifndef _REENT_ONLY
extern float acoshf _PARAMS((float));
extern float atanhf _PARAMS((float));

View File

@ -5,18 +5,18 @@ AUTOMAKE_OPTIONS = cygnus
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
src = s_finite.c s_copysign.c s_modf.c s_scalbn.c \
s_cbrt.c s_expm1.c s_ilogb.c s_infconst.c \
s_cbrt.c s_exp10.c s_expm1.c s_ilogb.c s_infconst.c \
s_infinity.c s_isinf.c s_isinfd.c s_isnan.c s_isnand.c \
s_log1p.c s_nan.c s_nextafter.c \
s_log1p.c s_nan.c s_nextafter.c s_pow10.c \
s_rint.c s_logb.c s_matherr.c s_lib_ver.c \
s_fdim.c s_fma.c s_fmax.c s_fmin.c s_fpclassify.c s_lrint.c \
s_lround.c s_nearbyint.c s_remquo.c s_round.c s_scalbln.c \
s_signbit.c s_trunc.c
fsrc = sf_finite.c sf_copysign.c sf_modf.c sf_scalbn.c \
sf_cbrt.c sf_expm1.c sf_ilogb.c \
sf_cbrt.c sf_exp10.c sf_expm1.c sf_ilogb.c \
sf_infinity.c sf_isinf.c sf_isinff.c sf_isnan.c sf_isnanf.c \
sf_log1p.c sf_nan.c sf_nextafter.c \
sf_log1p.c sf_nan.c sf_nextafter.c sf_pow10.c \
sf_rint.c sf_logb.c \
sf_fdim.c sf_fma.c sf_fmax.c sf_fmin.c sf_fpclassify.c sf_lrint.c \
sf_lround.c sf_nearbyint.c sf_remquo.c sf_round.c \
@ -37,9 +37,9 @@ endif # USE_LIBTOOL
include $(srcdir)/../../Makefile.shared
chobj = scbrt.def scopysign.def sexpm1.def silogb.def \
chobj = scbrt.def scopysign.def sexp10.def sexpm1.def silogb.def \
sinfinity.def sisnan.def slog1p.def smatherr.def smodf.def \
snan.def snextafter.def sscalbn.def
snan.def snextafter.def spow10.def sscalbn.def
SUFFIXES = .def
@ -58,18 +58,10 @@ CLEANFILES = $(chobj) *.ref
# Texinfo does not appear to support underscores in file names, so we
# name the .def files without underscores.
smodf.def: s_modf.c
$(CHEW) < $(srcdir)/s_modf.c >$@ 2>/dev/null
touch stmp-def
scopysign.def: s_copysign.c
$(CHEW) < $(srcdir)/s_copysign.c >$@ 2>/dev/null
touch stmp-def
sscalbn.def: s_scalbn.c
$(CHEW) < $(srcdir)/s_scalbn.c >$@ 2>/dev/null
touch stmp-def
scbrt.def: s_cbrt.c
$(CHEW) < $(srcdir)/s_cbrt.c >$@ 2>/dev/null
touch stmp-def
@ -78,8 +70,8 @@ serf.def: s_erf.c
$(CHEW) < $(srcdir)/s_serf.c >$@ 2>/dev/null
touch stmp-def
sexpn.def: s_expm.c
$(CHEW) < $(srcdir)/s_expn.c >$@ 2>/dev/null
sexp10.def: s_exp10.c
$(CHEW) < $(srcdir)/s_exp10.c >$@ 2>/dev/null
touch stmp-def
sexpm1.def: s_expm1.c
@ -102,6 +94,10 @@ slog1p.def: s_log1p.c
$(CHEW) < $(srcdir)/s_log1p.c >$@ 2>/dev/null
touch stmp-def
smodf.def: s_modf.c
$(CHEW) < $(srcdir)/s_modf.c >$@ 2>/dev/null
touch stmp-def
smatherr.def: s_matherr.c
$(CHEW) < $(srcdir)/s_matherr.c >$@ 2>/dev/null
touch stmp-def
@ -114,6 +110,14 @@ snextafter.def: s_nextafter.c
$(CHEW) < $(srcdir)/s_nextafter.c >$@ 2>/dev/null
touch stmp-def
spow10.def: s_pow10.c
$(CHEW) < $(srcdir)/s_pow10.c >$@ 2>/dev/null
touch stmp-def
sscalbn.def: s_scalbn.c
$(CHEW) < $(srcdir)/s_scalbn.c >$@ 2>/dev/null
touch stmp-def
# A partial dependency list.
$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h fdlibm.h

View File

@ -55,12 +55,13 @@ lib_a_AR = $(AR) $(ARFLAGS)
lib_a_LIBADD =
am__objects_1 = lib_a-s_finite.$(OBJEXT) lib_a-s_copysign.$(OBJEXT) \
lib_a-s_modf.$(OBJEXT) lib_a-s_scalbn.$(OBJEXT) \
lib_a-s_cbrt.$(OBJEXT) lib_a-s_expm1.$(OBJEXT) \
lib_a-s_ilogb.$(OBJEXT) lib_a-s_infconst.$(OBJEXT) \
lib_a-s_infinity.$(OBJEXT) lib_a-s_isinf.$(OBJEXT) \
lib_a-s_isinfd.$(OBJEXT) lib_a-s_isnan.$(OBJEXT) \
lib_a-s_isnand.$(OBJEXT) lib_a-s_log1p.$(OBJEXT) \
lib_a-s_nan.$(OBJEXT) lib_a-s_nextafter.$(OBJEXT) \
lib_a-s_cbrt.$(OBJEXT) lib_a-s_exp10.$(OBJEXT) \
lib_a-s_expm1.$(OBJEXT) lib_a-s_ilogb.$(OBJEXT) \
lib_a-s_infconst.$(OBJEXT) lib_a-s_infinity.$(OBJEXT) \
lib_a-s_isinf.$(OBJEXT) lib_a-s_isinfd.$(OBJEXT) \
lib_a-s_isnan.$(OBJEXT) lib_a-s_isnand.$(OBJEXT) \
lib_a-s_log1p.$(OBJEXT) lib_a-s_nan.$(OBJEXT) \
lib_a-s_nextafter.$(OBJEXT) lib_a-s_pow10.$(OBJEXT) \
lib_a-s_rint.$(OBJEXT) lib_a-s_logb.$(OBJEXT) \
lib_a-s_matherr.$(OBJEXT) lib_a-s_lib_ver.$(OBJEXT) \
lib_a-s_fdim.$(OBJEXT) lib_a-s_fma.$(OBJEXT) \
@ -72,12 +73,13 @@ am__objects_1 = lib_a-s_finite.$(OBJEXT) lib_a-s_copysign.$(OBJEXT) \
lib_a-s_trunc.$(OBJEXT)
am__objects_2 = lib_a-sf_finite.$(OBJEXT) lib_a-sf_copysign.$(OBJEXT) \
lib_a-sf_modf.$(OBJEXT) lib_a-sf_scalbn.$(OBJEXT) \
lib_a-sf_cbrt.$(OBJEXT) lib_a-sf_expm1.$(OBJEXT) \
lib_a-sf_ilogb.$(OBJEXT) lib_a-sf_infinity.$(OBJEXT) \
lib_a-sf_isinf.$(OBJEXT) lib_a-sf_isinff.$(OBJEXT) \
lib_a-sf_isnan.$(OBJEXT) lib_a-sf_isnanf.$(OBJEXT) \
lib_a-sf_log1p.$(OBJEXT) lib_a-sf_nan.$(OBJEXT) \
lib_a-sf_nextafter.$(OBJEXT) lib_a-sf_rint.$(OBJEXT) \
lib_a-sf_cbrt.$(OBJEXT) lib_a-sf_exp10.$(OBJEXT) \
lib_a-sf_expm1.$(OBJEXT) lib_a-sf_ilogb.$(OBJEXT) \
lib_a-sf_infinity.$(OBJEXT) lib_a-sf_isinf.$(OBJEXT) \
lib_a-sf_isinff.$(OBJEXT) lib_a-sf_isnan.$(OBJEXT) \
lib_a-sf_isnanf.$(OBJEXT) lib_a-sf_log1p.$(OBJEXT) \
lib_a-sf_nan.$(OBJEXT) lib_a-sf_nextafter.$(OBJEXT) \
lib_a-sf_pow10.$(OBJEXT) lib_a-sf_rint.$(OBJEXT) \
lib_a-sf_logb.$(OBJEXT) lib_a-sf_fdim.$(OBJEXT) \
lib_a-sf_fma.$(OBJEXT) lib_a-sf_fmax.$(OBJEXT) \
lib_a-sf_fmin.$(OBJEXT) lib_a-sf_fpclassify.$(OBJEXT) \
@ -91,19 +93,20 @@ lib_a_OBJECTS = $(am_lib_a_OBJECTS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
libcommon_la_LIBADD =
am__objects_3 = s_finite.lo s_copysign.lo s_modf.lo s_scalbn.lo \
s_cbrt.lo s_expm1.lo s_ilogb.lo s_infconst.lo s_infinity.lo \
s_isinf.lo s_isinfd.lo s_isnan.lo s_isnand.lo s_log1p.lo \
s_nan.lo s_nextafter.lo s_rint.lo s_logb.lo s_matherr.lo \
s_lib_ver.lo s_fdim.lo s_fma.lo s_fmax.lo s_fmin.lo \
s_fpclassify.lo s_lrint.lo s_lround.lo s_nearbyint.lo \
s_remquo.lo s_round.lo s_scalbln.lo s_signbit.lo s_trunc.lo
s_cbrt.lo s_exp10.lo s_expm1.lo s_ilogb.lo s_infconst.lo \
s_infinity.lo s_isinf.lo s_isinfd.lo s_isnan.lo s_isnand.lo \
s_log1p.lo s_nan.lo s_nextafter.lo s_pow10.lo s_rint.lo \
s_logb.lo s_matherr.lo s_lib_ver.lo s_fdim.lo s_fma.lo \
s_fmax.lo s_fmin.lo s_fpclassify.lo s_lrint.lo s_lround.lo \
s_nearbyint.lo s_remquo.lo s_round.lo s_scalbln.lo \
s_signbit.lo s_trunc.lo
am__objects_4 = sf_finite.lo sf_copysign.lo sf_modf.lo sf_scalbn.lo \
sf_cbrt.lo sf_expm1.lo sf_ilogb.lo sf_infinity.lo sf_isinf.lo \
sf_isinff.lo sf_isnan.lo sf_isnanf.lo sf_log1p.lo sf_nan.lo \
sf_nextafter.lo sf_rint.lo sf_logb.lo sf_fdim.lo sf_fma.lo \
sf_fmax.lo sf_fmin.lo sf_fpclassify.lo sf_lrint.lo \
sf_lround.lo sf_nearbyint.lo sf_remquo.lo sf_round.lo \
sf_scalbln.lo sf_trunc.lo
sf_cbrt.lo sf_exp10.lo sf_expm1.lo sf_ilogb.lo sf_infinity.lo \
sf_isinf.lo sf_isinff.lo sf_isnan.lo sf_isnanf.lo sf_log1p.lo \
sf_nan.lo sf_nextafter.lo sf_pow10.lo sf_rint.lo sf_logb.lo \
sf_fdim.lo sf_fma.lo sf_fmax.lo sf_fmin.lo sf_fpclassify.lo \
sf_lrint.lo sf_lround.lo sf_nearbyint.lo sf_remquo.lo \
sf_round.lo sf_scalbln.lo sf_trunc.lo
@USE_LIBTOOL_TRUE@am_libcommon_la_OBJECTS = $(am__objects_3) \
@USE_LIBTOOL_TRUE@ $(am__objects_4)
libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS)
@ -244,18 +247,18 @@ target_alias = @target_alias@
AUTOMAKE_OPTIONS = cygnus
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
src = s_finite.c s_copysign.c s_modf.c s_scalbn.c \
s_cbrt.c s_expm1.c s_ilogb.c s_infconst.c \
s_cbrt.c s_exp10.c s_expm1.c s_ilogb.c s_infconst.c \
s_infinity.c s_isinf.c s_isinfd.c s_isnan.c s_isnand.c \
s_log1p.c s_nan.c s_nextafter.c \
s_log1p.c s_nan.c s_nextafter.c s_pow10.c \
s_rint.c s_logb.c s_matherr.c s_lib_ver.c \
s_fdim.c s_fma.c s_fmax.c s_fmin.c s_fpclassify.c s_lrint.c \
s_lround.c s_nearbyint.c s_remquo.c s_round.c s_scalbln.c \
s_signbit.c s_trunc.c
fsrc = sf_finite.c sf_copysign.c sf_modf.c sf_scalbn.c \
sf_cbrt.c sf_expm1.c sf_ilogb.c \
sf_cbrt.c sf_exp10.c sf_expm1.c sf_ilogb.c \
sf_infinity.c sf_isinf.c sf_isinff.c sf_isnan.c sf_isnanf.c \
sf_log1p.c sf_nan.c sf_nextafter.c \
sf_log1p.c sf_nan.c sf_nextafter.c sf_pow10.c \
sf_rint.c sf_logb.c \
sf_fdim.c sf_fma.c sf_fmax.c sf_fmin.c sf_fpclassify.c sf_lrint.c \
sf_lround.c sf_nearbyint.c sf_remquo.c sf_round.c \
@ -269,9 +272,9 @@ libcommon_la_LDFLAGS = -Xcompiler -nostdlib
@USE_LIBTOOL_FALSE@noinst_LIBRARIES = lib.a
@USE_LIBTOOL_FALSE@lib_a_SOURCES = $(src) $(fsrc)
@USE_LIBTOOL_FALSE@lib_a_CFLAGS = $(AM_CFLAGS)
chobj = scbrt.def scopysign.def sexpm1.def silogb.def \
chobj = scbrt.def scopysign.def sexp10.def sexpm1.def silogb.def \
sinfinity.def sisnan.def slog1p.def smatherr.def smodf.def \
snan.def snextafter.def sscalbn.def
snan.def snextafter.def spow10.def sscalbn.def
SUFFIXES = .def
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
@ -374,6 +377,12 @@ lib_a-s_cbrt.o: s_cbrt.c
lib_a-s_cbrt.obj: s_cbrt.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_cbrt.obj `if test -f 's_cbrt.c'; then $(CYGPATH_W) 's_cbrt.c'; else $(CYGPATH_W) '$(srcdir)/s_cbrt.c'; fi`
lib_a-s_exp10.o: s_exp10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_exp10.o `test -f 's_exp10.c' || echo '$(srcdir)/'`s_exp10.c
lib_a-s_exp10.obj: s_exp10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_exp10.obj `if test -f 's_exp10.c'; then $(CYGPATH_W) 's_exp10.c'; else $(CYGPATH_W) '$(srcdir)/s_exp10.c'; fi`
lib_a-s_expm1.o: s_expm1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_expm1.o `test -f 's_expm1.c' || echo '$(srcdir)/'`s_expm1.c
@ -440,6 +449,12 @@ lib_a-s_nextafter.o: s_nextafter.c
lib_a-s_nextafter.obj: s_nextafter.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_nextafter.obj `if test -f 's_nextafter.c'; then $(CYGPATH_W) 's_nextafter.c'; else $(CYGPATH_W) '$(srcdir)/s_nextafter.c'; fi`
lib_a-s_pow10.o: s_pow10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_pow10.o `test -f 's_pow10.c' || echo '$(srcdir)/'`s_pow10.c
lib_a-s_pow10.obj: s_pow10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_pow10.obj `if test -f 's_pow10.c'; then $(CYGPATH_W) 's_pow10.c'; else $(CYGPATH_W) '$(srcdir)/s_pow10.c'; fi`
lib_a-s_rint.o: s_rint.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_rint.o `test -f 's_rint.c' || echo '$(srcdir)/'`s_rint.c
@ -572,6 +587,12 @@ lib_a-sf_cbrt.o: sf_cbrt.c
lib_a-sf_cbrt.obj: sf_cbrt.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_cbrt.obj `if test -f 'sf_cbrt.c'; then $(CYGPATH_W) 'sf_cbrt.c'; else $(CYGPATH_W) '$(srcdir)/sf_cbrt.c'; fi`
lib_a-sf_exp10.o: sf_exp10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_exp10.o `test -f 'sf_exp10.c' || echo '$(srcdir)/'`sf_exp10.c
lib_a-sf_exp10.obj: sf_exp10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_exp10.obj `if test -f 'sf_exp10.c'; then $(CYGPATH_W) 'sf_exp10.c'; else $(CYGPATH_W) '$(srcdir)/sf_exp10.c'; fi`
lib_a-sf_expm1.o: sf_expm1.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_expm1.o `test -f 'sf_expm1.c' || echo '$(srcdir)/'`sf_expm1.c
@ -632,6 +653,12 @@ lib_a-sf_nextafter.o: sf_nextafter.c
lib_a-sf_nextafter.obj: sf_nextafter.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_nextafter.obj `if test -f 'sf_nextafter.c'; then $(CYGPATH_W) 'sf_nextafter.c'; else $(CYGPATH_W) '$(srcdir)/sf_nextafter.c'; fi`
lib_a-sf_pow10.o: sf_pow10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_pow10.o `test -f 'sf_pow10.c' || echo '$(srcdir)/'`sf_pow10.c
lib_a-sf_pow10.obj: sf_pow10.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_pow10.obj `if test -f 'sf_pow10.c'; then $(CYGPATH_W) 'sf_pow10.c'; else $(CYGPATH_W) '$(srcdir)/sf_pow10.c'; fi`
lib_a-sf_rint.o: sf_rint.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_rint.o `test -f 'sf_rint.c' || echo '$(srcdir)/'`sf_rint.c
@ -879,18 +906,10 @@ doc: $(chobj)
# Texinfo does not appear to support underscores in file names, so we
# name the .def files without underscores.
smodf.def: s_modf.c
$(CHEW) < $(srcdir)/s_modf.c >$@ 2>/dev/null
touch stmp-def
scopysign.def: s_copysign.c
$(CHEW) < $(srcdir)/s_copysign.c >$@ 2>/dev/null
touch stmp-def
sscalbn.def: s_scalbn.c
$(CHEW) < $(srcdir)/s_scalbn.c >$@ 2>/dev/null
touch stmp-def
scbrt.def: s_cbrt.c
$(CHEW) < $(srcdir)/s_cbrt.c >$@ 2>/dev/null
touch stmp-def
@ -899,8 +918,8 @@ serf.def: s_erf.c
$(CHEW) < $(srcdir)/s_serf.c >$@ 2>/dev/null
touch stmp-def
sexpn.def: s_expm.c
$(CHEW) < $(srcdir)/s_expn.c >$@ 2>/dev/null
sexp10.def: s_exp10.c
$(CHEW) < $(srcdir)/s_exp10.c >$@ 2>/dev/null
touch stmp-def
sexpm1.def: s_expm1.c
@ -923,6 +942,10 @@ slog1p.def: s_log1p.c
$(CHEW) < $(srcdir)/s_log1p.c >$@ 2>/dev/null
touch stmp-def
smodf.def: s_modf.c
$(CHEW) < $(srcdir)/s_modf.c >$@ 2>/dev/null
touch stmp-def
smatherr.def: s_matherr.c
$(CHEW) < $(srcdir)/s_matherr.c >$@ 2>/dev/null
touch stmp-def
@ -935,6 +958,14 @@ snextafter.def: s_nextafter.c
$(CHEW) < $(srcdir)/s_nextafter.c >$@ 2>/dev/null
touch stmp-def
spow10.def: s_pow10.c
$(CHEW) < $(srcdir)/s_pow10.c >$@ 2>/dev/null
touch stmp-def
sscalbn.def: s_scalbn.c
$(CHEW) < $(srcdir)/s_scalbn.c >$@ 2>/dev/null
touch stmp-def
# A partial dependency list.
$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h fdlibm.h

View File

@ -0,0 +1,80 @@
/* @(#)s_exp10.c 5.1 93/09/24 */
/* Modified from s_exp2.c by Yaakov Selkowitz 2007. */
/*
* ====================================================
* 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
<<exp10>>, <<exp10f>>---exponential
INDEX
exp10
INDEX
exp10f
ANSI_SYNOPSIS
#include <math.h>
double exp10(double <[x]>);
float exp10f(float <[x]>);
TRAD_SYNOPSIS
#include <math.h>
double exp10(<[x]>);
double <[x]>;
float exp10f(<[x]>);
float <[x]>;
DESCRIPTION
<<exp10>> and <<exp10f>> calculate 10 ^ <[x]>, that is,
@ifnottex
10 raised to the power <[x]>.
@end ifnottex
@tex
$10^x$
@end tex
You can use the (non-ANSI) function <<matherr>> to specify
error handling for these functions.
RETURNS
On success, <<exp10>> and <<exp10f>> 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
<<exp10>> and <<exp10f>> are GNU extensions.
*/
/*
* wrapper exp10(x)
*/
#undef exp10
#include "fdlibm.h"
#include <errno.h>
#include <math.h>
#ifndef _DOUBLE_IS_32BITS
#ifdef __STDC__
double exp10(double x) /* wrapper exp10 */
#else
double exp10(x) /* wrapper exp10 */
double x;
#endif
{
return pow(10.0, x);
}
#endif /* defined(_DOUBLE_IS_32BITS) */

View File

@ -0,0 +1,79 @@
/* @(#)s_pow10.c 5.1 93/09/24 */
/* Modification from s_exp10.c Yaakov Selkowitz 2007. */
/*
* ====================================================
* 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
<<pow10>>, <<pow10f>>---exponential
INDEX
pow10
INDEX
pow10f
ANSI_SYNOPSIS
#include <math.h>
double pow10(double <[x]>);
float pow10f(float <[x]>);
TRAD_SYNOPSIS
#include <math.h>
double pow10(<[x]>);
double <[x]>;
float pow10f(<[x]>);
float <[x]>;
DESCRIPTION
<<pow10>> and <<pow10f>> calculate 10 ^ <[x]>, that is,
@ifnottex
10 raised to the power <[x]>.
@end ifnottex
@tex
$10^x$
@end tex
You can use the (non-ANSI) function <<matherr>> to specify
error handling for these functions.
RETURNS
On success, <<pow10>> and <<pow10f>> 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
<<pow10>> and <<pow10f>> are GNU extensions.
*/
/*
* wrapper pow10(x)
*/
#undef pow10
#include "fdlibm.h"
#include <errno.h>
#include <math.h>
#ifndef _DOUBLE_IS_32BITS
#ifdef __STDC__
double pow10(double x) /* wrapper pow10 */
#else
double pow10(x) /* wrapper pow10 */
double x;
#endif
{
return pow(10.0, x);
}
#endif /* defined(_DOUBLE_IS_32BITS) */

View File

@ -0,0 +1,47 @@
/* sf_exp10.c -- float version of s_exp10.c.
* Modification of sf_exp2.c by Yaakov Selkowitz 2007.
*/
/*
* ====================================================
* 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.
* ====================================================
*/
/*
* wrapper exp10f(x)
*/
#undef exp10f
#include "fdlibm.h"
#include <errno.h>
#include <math.h>
#ifdef __STDC__
float exp10f(float x) /* wrapper exp10f */
#else
float exp10f(x) /* wrapper exp10f */
float x;
#endif
{
return powf(10.0, x);
}
#ifdef _DOUBLE_IS_32BITS
#ifdef __STDC__
double exp10(double x)
#else
double exp10(x)
double x;
#endif
{
return (double) exp10f((float) x);
}
#endif /* defined(_DOUBLE_IS_32BITS) */

View File

@ -0,0 +1,47 @@
/* sf_pow10.c -- float version of s_pow10.c.
* Modification of sf_pow10.c by Yaakov Selkowitz 2007.
*/
/*
* ====================================================
* 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.
* ====================================================
*/
/*
* wrapper pow10f(x)
*/
#undef pow10f
#include "fdlibm.h"
#include <errno.h>
#include <math.h>
#ifdef __STDC__
float pow10f(float x) /* wrapper pow10f */
#else
float pow10f(x) /* wrapper pow10f */
float x;
#endif
{
return powf(10.0, x);
}
#ifdef _DOUBLE_IS_32BITS
#ifdef __STDC__
double pow10(double x)
#else
double pow10(x)
double x;
#endif
{
return (double) pow10f((float) x);
}
#endif /* defined(_DOUBLE_IS_32BITS) */