diff options
Diffstat (limited to 'newlib/libm/common')
69 files changed, 0 insertions, 5984 deletions
diff --git a/newlib/libm/common/Makefile.am b/newlib/libm/common/Makefile.am deleted file mode 100644 index f79a67c55..000000000 --- a/newlib/libm/common/Makefile.am +++ /dev/null @@ -1,123 +0,0 @@ -## Process this file with automake to generate Makefile.in - -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_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_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_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_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 \ - sf_scalbln.c sf_trunc.c - -libcommon_la_LDFLAGS = -Xcompiler -nostdlib - -if USE_LIBTOOL -noinst_LTLIBRARIES = libcommon.la -libcommon_la_SOURCES = $(src) $(fsrc) -noinst_DATA = objectlist.awk.in -else -noinst_LIBRARIES = lib.a -lib_a_SOURCES = $(src) $(fsrc) -lib_a_CFLAGS = $(AM_CFLAGS) -noinst_DATA = -endif # USE_LIBTOOL - -include $(srcdir)/../../Makefile.shared - -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 spow10.def sscalbn.def - -SUFFIXES = .def - -CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str - -.c.def: - $(CHEW) < $< > $*.def 2> $*.ref - touch stmp-def - -TARGETDOC = ../tmp.texi - -doc: $(chobj) - -CLEANFILES = $(chobj) *.ref - -# Texinfo does not appear to support underscores in file names, so we -# name the .def files without underscores. - -scopysign.def: s_copysign.c - $(CHEW) < $(srcdir)/s_copysign.c >$@ 2>/dev/null - touch stmp-def - -scbrt.def: s_cbrt.c - $(CHEW) < $(srcdir)/s_cbrt.c >$@ 2>/dev/null - touch stmp-def - -serf.def: s_erf.c - $(CHEW) < $(srcdir)/s_serf.c >$@ 2>/dev/null - touch stmp-def - -sexp10.def: s_exp10.c - $(CHEW) < $(srcdir)/s_exp10.c >$@ 2>/dev/null - touch stmp-def - -sexpm1.def: s_expm1.c - $(CHEW) < $(srcdir)/s_expm1.c >$@ 2>/dev/null - touch stmp-def - -silogb.def: s_ilogb.c - $(CHEW) < $(srcdir)/s_ilogb.c >$@ 2>/dev/null - touch stmp-def - -sinfinity.def: s_infinity.c - $(CHEW) < $(srcdir)/s_infinity.c >$@ 2>/dev/null - touch stmp-def - -sisnan.def: s_isnan.c - $(CHEW) < $(srcdir)/s_isnan.c >$@ 2>/dev/null - touch stmp-def - -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 - -snan.def: s_nan.c - $(CHEW) < $(srcdir)/s_nan.c >$@ 2>/dev/null - touch stmp-def - -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 diff --git a/newlib/libm/common/Makefile.in b/newlib/libm/common/Makefile.in deleted file mode 100644 index 498b3f3f1..000000000 --- a/newlib/libm/common/Makefile.in +++ /dev/null @@ -1,1002 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -DIST_COMMON = $(srcdir)/../../Makefile.shared $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am -subdir = common -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \ - $(top_srcdir)/../../ltoptions.m4 \ - $(top_srcdir)/../../ltsugar.m4 \ - $(top_srcdir)/../../ltversion.m4 \ - $(top_srcdir)/../../lt~obsolete.m4 \ - $(top_srcdir)/../acinclude.m4 $(top_srcdir)/../confsubdir.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs -CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -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_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) \ - lib_a-s_fmax.$(OBJEXT) lib_a-s_fmin.$(OBJEXT) \ - lib_a-s_fpclassify.$(OBJEXT) lib_a-s_lrint.$(OBJEXT) \ - lib_a-s_lround.$(OBJEXT) lib_a-s_nearbyint.$(OBJEXT) \ - lib_a-s_remquo.$(OBJEXT) lib_a-s_round.$(OBJEXT) \ - lib_a-s_scalbln.$(OBJEXT) lib_a-s_signbit.$(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_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) \ - lib_a-sf_lrint.$(OBJEXT) lib_a-sf_lround.$(OBJEXT) \ - lib_a-sf_nearbyint.$(OBJEXT) lib_a-sf_remquo.$(OBJEXT) \ - lib_a-sf_round.$(OBJEXT) lib_a-sf_scalbln.$(OBJEXT) \ - lib_a-sf_trunc.$(OBJEXT) -@USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) \ -@USE_LIBTOOL_FALSE@ $(am__objects_2) -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_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_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) -@USE_LIBTOOL_TRUE@am_libcommon_la_rpath = -DEFAULT_INCLUDES = -I. -I$(srcdir) -depcomp = -am__depfiles_maybe = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(lib_a_SOURCES) $(libcommon_la_SOURCES) -DATA = $(noinst_DATA) -ETAGS = etags -CTAGS = ctags -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ELIX_LEVEL_0_FALSE = @ELIX_LEVEL_0_FALSE@ -ELIX_LEVEL_0_TRUE = @ELIX_LEVEL_0_TRUE@ -ELIX_LEVEL_1_FALSE = @ELIX_LEVEL_1_FALSE@ -ELIX_LEVEL_1_TRUE = @ELIX_LEVEL_1_TRUE@ -ELIX_LEVEL_2_FALSE = @ELIX_LEVEL_2_FALSE@ -ELIX_LEVEL_2_TRUE = @ELIX_LEVEL_2_TRUE@ -ELIX_LEVEL_3_FALSE = @ELIX_LEVEL_3_FALSE@ -ELIX_LEVEL_3_TRUE = @ELIX_LEVEL_3_TRUE@ -ELIX_LEVEL_4_FALSE = @ELIX_LEVEL_4_FALSE@ -ELIX_LEVEL_4_TRUE = @ELIX_LEVEL_4_TRUE@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBM_MACHINE_LIB = @LIBM_MACHINE_LIB@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAY_SUPPLY_SYSCALLS_FALSE = @MAY_SUPPLY_SYSCALLS_FALSE@ -MAY_SUPPLY_SYSCALLS_TRUE = @MAY_SUPPLY_SYSCALLS_TRUE@ -NEWLIB_CFLAGS = @NEWLIB_CFLAGS@ -NEWLIB_HW_FP_FALSE = @NEWLIB_HW_FP_FALSE@ -NEWLIB_HW_FP_TRUE = @NEWLIB_HW_FP_TRUE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -READELF = @READELF@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ -USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ -VERSION = @VERSION@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_AS = @ac_ct_AS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DLLTOOL = @ac_ct_DLLTOOL@ -ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_LIPO = @ac_ct_LIPO@ -ac_ct_NMEDIT = @ac_ct_NMEDIT@ -ac_ct_OBJDUMP = @ac_ct_OBJDUMP@ -ac_ct_OTOOL = @ac_ct_OTOOL@ -ac_ct_OTOOL64 = @ac_ct_OTOOL64@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_READELF = @ac_ct_READELF@ -ac_ct_STRIP = @ac_ct_STRIP@ -aext = @aext@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -libm_machine_dir = @libm_machine_dir@ -localstatedir = @localstatedir@ -lpfx = @lpfx@ -lt_ECHO = @lt_ECHO@ -machine_dir = @machine_dir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -newlib_basedir = @newlib_basedir@ -oext = @oext@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -subdirs = @subdirs@ -sys_dir = @sys_dir@ -sysconfdir = @sysconfdir@ -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_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_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_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_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 \ - sf_scalbln.c sf_trunc.c - -libcommon_la_LDFLAGS = -Xcompiler -nostdlib -@USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libcommon.la -@USE_LIBTOOL_TRUE@libcommon_la_SOURCES = $(src) $(fsrc) -@USE_LIBTOOL_FALSE@noinst_DATA = -@USE_LIBTOOL_TRUE@noinst_DATA = objectlist.awk.in -@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 sexp10.def sexpm1.def silogb.def \ - sinfinity.def sisnan.def slog1p.def smatherr.def smodf.def \ - snan.def snextafter.def spow10.def sscalbn.def - -SUFFIXES = .def -CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str -TARGETDOC = ../tmp.texi -CLEANFILES = $(chobj) *.ref -all: all-am - -.SUFFIXES: -.SUFFIXES: .def .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../Makefile.shared $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus common/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --cygnus common/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES) - -rm -f lib.a - $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD) - $(RANLIB) lib.a - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libcommon.la: $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES) - $(LINK) $(am_libcommon_la_rpath) $(libcommon_la_LDFLAGS) $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -.c.o: - $(COMPILE) -c $< - -.c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: - $(LTCOMPILE) -c -o $@ $< - -lib_a-s_finite.o: s_finite.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_finite.o `test -f 's_finite.c' || echo '$(srcdir)/'`s_finite.c - -lib_a-s_finite.obj: s_finite.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_finite.obj `if test -f 's_finite.c'; then $(CYGPATH_W) 's_finite.c'; else $(CYGPATH_W) '$(srcdir)/s_finite.c'; fi` - -lib_a-s_copysign.o: s_copysign.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_copysign.o `test -f 's_copysign.c' || echo '$(srcdir)/'`s_copysign.c - -lib_a-s_copysign.obj: s_copysign.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_copysign.obj `if test -f 's_copysign.c'; then $(CYGPATH_W) 's_copysign.c'; else $(CYGPATH_W) '$(srcdir)/s_copysign.c'; fi` - -lib_a-s_modf.o: s_modf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_modf.o `test -f 's_modf.c' || echo '$(srcdir)/'`s_modf.c - -lib_a-s_modf.obj: s_modf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_modf.obj `if test -f 's_modf.c'; then $(CYGPATH_W) 's_modf.c'; else $(CYGPATH_W) '$(srcdir)/s_modf.c'; fi` - -lib_a-s_scalbn.o: s_scalbn.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_scalbn.o `test -f 's_scalbn.c' || echo '$(srcdir)/'`s_scalbn.c - -lib_a-s_scalbn.obj: s_scalbn.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_scalbn.obj `if test -f 's_scalbn.c'; then $(CYGPATH_W) 's_scalbn.c'; else $(CYGPATH_W) '$(srcdir)/s_scalbn.c'; fi` - -lib_a-s_cbrt.o: s_cbrt.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_cbrt.o `test -f 's_cbrt.c' || echo '$(srcdir)/'`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 - -lib_a-s_expm1.obj: s_expm1.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_expm1.obj `if test -f 's_expm1.c'; then $(CYGPATH_W) 's_expm1.c'; else $(CYGPATH_W) '$(srcdir)/s_expm1.c'; fi` - -lib_a-s_ilogb.o: s_ilogb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_ilogb.o `test -f 's_ilogb.c' || echo '$(srcdir)/'`s_ilogb.c - -lib_a-s_ilogb.obj: s_ilogb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_ilogb.obj `if test -f 's_ilogb.c'; then $(CYGPATH_W) 's_ilogb.c'; else $(CYGPATH_W) '$(srcdir)/s_ilogb.c'; fi` - -lib_a-s_infconst.o: s_infconst.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_infconst.o `test -f 's_infconst.c' || echo '$(srcdir)/'`s_infconst.c - -lib_a-s_infconst.obj: s_infconst.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_infconst.obj `if test -f 's_infconst.c'; then $(CYGPATH_W) 's_infconst.c'; else $(CYGPATH_W) '$(srcdir)/s_infconst.c'; fi` - -lib_a-s_infinity.o: s_infinity.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_infinity.o `test -f 's_infinity.c' || echo '$(srcdir)/'`s_infinity.c - -lib_a-s_infinity.obj: s_infinity.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_infinity.obj `if test -f 's_infinity.c'; then $(CYGPATH_W) 's_infinity.c'; else $(CYGPATH_W) '$(srcdir)/s_infinity.c'; fi` - -lib_a-s_isinf.o: s_isinf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isinf.o `test -f 's_isinf.c' || echo '$(srcdir)/'`s_isinf.c - -lib_a-s_isinf.obj: s_isinf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isinf.obj `if test -f 's_isinf.c'; then $(CYGPATH_W) 's_isinf.c'; else $(CYGPATH_W) '$(srcdir)/s_isinf.c'; fi` - -lib_a-s_isinfd.o: s_isinfd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isinfd.o `test -f 's_isinfd.c' || echo '$(srcdir)/'`s_isinfd.c - -lib_a-s_isinfd.obj: s_isinfd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isinfd.obj `if test -f 's_isinfd.c'; then $(CYGPATH_W) 's_isinfd.c'; else $(CYGPATH_W) '$(srcdir)/s_isinfd.c'; fi` - -lib_a-s_isnan.o: s_isnan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isnan.o `test -f 's_isnan.c' || echo '$(srcdir)/'`s_isnan.c - -lib_a-s_isnan.obj: s_isnan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isnan.obj `if test -f 's_isnan.c'; then $(CYGPATH_W) 's_isnan.c'; else $(CYGPATH_W) '$(srcdir)/s_isnan.c'; fi` - -lib_a-s_isnand.o: s_isnand.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isnand.o `test -f 's_isnand.c' || echo '$(srcdir)/'`s_isnand.c - -lib_a-s_isnand.obj: s_isnand.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_isnand.obj `if test -f 's_isnand.c'; then $(CYGPATH_W) 's_isnand.c'; else $(CYGPATH_W) '$(srcdir)/s_isnand.c'; fi` - -lib_a-s_log1p.o: s_log1p.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_log1p.o `test -f 's_log1p.c' || echo '$(srcdir)/'`s_log1p.c - -lib_a-s_log1p.obj: s_log1p.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_log1p.obj `if test -f 's_log1p.c'; then $(CYGPATH_W) 's_log1p.c'; else $(CYGPATH_W) '$(srcdir)/s_log1p.c'; fi` - -lib_a-s_nan.o: s_nan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_nan.o `test -f 's_nan.c' || echo '$(srcdir)/'`s_nan.c - -lib_a-s_nan.obj: s_nan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_nan.obj `if test -f 's_nan.c'; then $(CYGPATH_W) 's_nan.c'; else $(CYGPATH_W) '$(srcdir)/s_nan.c'; fi` - -lib_a-s_nextafter.o: s_nextafter.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_nextafter.o `test -f 's_nextafter.c' || echo '$(srcdir)/'`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 - -lib_a-s_rint.obj: s_rint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_rint.obj `if test -f 's_rint.c'; then $(CYGPATH_W) 's_rint.c'; else $(CYGPATH_W) '$(srcdir)/s_rint.c'; fi` - -lib_a-s_logb.o: s_logb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_logb.o `test -f 's_logb.c' || echo '$(srcdir)/'`s_logb.c - -lib_a-s_logb.obj: s_logb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_logb.obj `if test -f 's_logb.c'; then $(CYGPATH_W) 's_logb.c'; else $(CYGPATH_W) '$(srcdir)/s_logb.c'; fi` - -lib_a-s_matherr.o: s_matherr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_matherr.o `test -f 's_matherr.c' || echo '$(srcdir)/'`s_matherr.c - -lib_a-s_matherr.obj: s_matherr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_matherr.obj `if test -f 's_matherr.c'; then $(CYGPATH_W) 's_matherr.c'; else $(CYGPATH_W) '$(srcdir)/s_matherr.c'; fi` - -lib_a-s_lib_ver.o: s_lib_ver.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_lib_ver.o `test -f 's_lib_ver.c' || echo '$(srcdir)/'`s_lib_ver.c - -lib_a-s_lib_ver.obj: s_lib_ver.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_lib_ver.obj `if test -f 's_lib_ver.c'; then $(CYGPATH_W) 's_lib_ver.c'; else $(CYGPATH_W) '$(srcdir)/s_lib_ver.c'; fi` - -lib_a-s_fdim.o: s_fdim.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fdim.o `test -f 's_fdim.c' || echo '$(srcdir)/'`s_fdim.c - -lib_a-s_fdim.obj: s_fdim.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fdim.obj `if test -f 's_fdim.c'; then $(CYGPATH_W) 's_fdim.c'; else $(CYGPATH_W) '$(srcdir)/s_fdim.c'; fi` - -lib_a-s_fma.o: s_fma.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fma.o `test -f 's_fma.c' || echo '$(srcdir)/'`s_fma.c - -lib_a-s_fma.obj: s_fma.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fma.obj `if test -f 's_fma.c'; then $(CYGPATH_W) 's_fma.c'; else $(CYGPATH_W) '$(srcdir)/s_fma.c'; fi` - -lib_a-s_fmax.o: s_fmax.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fmax.o `test -f 's_fmax.c' || echo '$(srcdir)/'`s_fmax.c - -lib_a-s_fmax.obj: s_fmax.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fmax.obj `if test -f 's_fmax.c'; then $(CYGPATH_W) 's_fmax.c'; else $(CYGPATH_W) '$(srcdir)/s_fmax.c'; fi` - -lib_a-s_fmin.o: s_fmin.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fmin.o `test -f 's_fmin.c' || echo '$(srcdir)/'`s_fmin.c - -lib_a-s_fmin.obj: s_fmin.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fmin.obj `if test -f 's_fmin.c'; then $(CYGPATH_W) 's_fmin.c'; else $(CYGPATH_W) '$(srcdir)/s_fmin.c'; fi` - -lib_a-s_fpclassify.o: s_fpclassify.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fpclassify.o `test -f 's_fpclassify.c' || echo '$(srcdir)/'`s_fpclassify.c - -lib_a-s_fpclassify.obj: s_fpclassify.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_fpclassify.obj `if test -f 's_fpclassify.c'; then $(CYGPATH_W) 's_fpclassify.c'; else $(CYGPATH_W) '$(srcdir)/s_fpclassify.c'; fi` - -lib_a-s_lrint.o: s_lrint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_lrint.o `test -f 's_lrint.c' || echo '$(srcdir)/'`s_lrint.c - -lib_a-s_lrint.obj: s_lrint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_lrint.obj `if test -f 's_lrint.c'; then $(CYGPATH_W) 's_lrint.c'; else $(CYGPATH_W) '$(srcdir)/s_lrint.c'; fi` - -lib_a-s_lround.o: s_lround.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_lround.o `test -f 's_lround.c' || echo '$(srcdir)/'`s_lround.c - -lib_a-s_lround.obj: s_lround.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_lround.obj `if test -f 's_lround.c'; then $(CYGPATH_W) 's_lround.c'; else $(CYGPATH_W) '$(srcdir)/s_lround.c'; fi` - -lib_a-s_nearbyint.o: s_nearbyint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_nearbyint.o `test -f 's_nearbyint.c' || echo '$(srcdir)/'`s_nearbyint.c - -lib_a-s_nearbyint.obj: s_nearbyint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_nearbyint.obj `if test -f 's_nearbyint.c'; then $(CYGPATH_W) 's_nearbyint.c'; else $(CYGPATH_W) '$(srcdir)/s_nearbyint.c'; fi` - -lib_a-s_remquo.o: s_remquo.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_remquo.o `test -f 's_remquo.c' || echo '$(srcdir)/'`s_remquo.c - -lib_a-s_remquo.obj: s_remquo.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_remquo.obj `if test -f 's_remquo.c'; then $(CYGPATH_W) 's_remquo.c'; else $(CYGPATH_W) '$(srcdir)/s_remquo.c'; fi` - -lib_a-s_round.o: s_round.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_round.o `test -f 's_round.c' || echo '$(srcdir)/'`s_round.c - -lib_a-s_round.obj: s_round.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_round.obj `if test -f 's_round.c'; then $(CYGPATH_W) 's_round.c'; else $(CYGPATH_W) '$(srcdir)/s_round.c'; fi` - -lib_a-s_scalbln.o: s_scalbln.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_scalbln.o `test -f 's_scalbln.c' || echo '$(srcdir)/'`s_scalbln.c - -lib_a-s_scalbln.obj: s_scalbln.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_scalbln.obj `if test -f 's_scalbln.c'; then $(CYGPATH_W) 's_scalbln.c'; else $(CYGPATH_W) '$(srcdir)/s_scalbln.c'; fi` - -lib_a-s_signbit.o: s_signbit.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_signbit.o `test -f 's_signbit.c' || echo '$(srcdir)/'`s_signbit.c - -lib_a-s_signbit.obj: s_signbit.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_signbit.obj `if test -f 's_signbit.c'; then $(CYGPATH_W) 's_signbit.c'; else $(CYGPATH_W) '$(srcdir)/s_signbit.c'; fi` - -lib_a-s_trunc.o: s_trunc.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_trunc.o `test -f 's_trunc.c' || echo '$(srcdir)/'`s_trunc.c - -lib_a-s_trunc.obj: s_trunc.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_trunc.obj `if test -f 's_trunc.c'; then $(CYGPATH_W) 's_trunc.c'; else $(CYGPATH_W) '$(srcdir)/s_trunc.c'; fi` - -lib_a-sf_finite.o: sf_finite.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_finite.o `test -f 'sf_finite.c' || echo '$(srcdir)/'`sf_finite.c - -lib_a-sf_finite.obj: sf_finite.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_finite.obj `if test -f 'sf_finite.c'; then $(CYGPATH_W) 'sf_finite.c'; else $(CYGPATH_W) '$(srcdir)/sf_finite.c'; fi` - -lib_a-sf_copysign.o: sf_copysign.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_copysign.o `test -f 'sf_copysign.c' || echo '$(srcdir)/'`sf_copysign.c - -lib_a-sf_copysign.obj: sf_copysign.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_copysign.obj `if test -f 'sf_copysign.c'; then $(CYGPATH_W) 'sf_copysign.c'; else $(CYGPATH_W) '$(srcdir)/sf_copysign.c'; fi` - -lib_a-sf_modf.o: sf_modf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_modf.o `test -f 'sf_modf.c' || echo '$(srcdir)/'`sf_modf.c - -lib_a-sf_modf.obj: sf_modf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_modf.obj `if test -f 'sf_modf.c'; then $(CYGPATH_W) 'sf_modf.c'; else $(CYGPATH_W) '$(srcdir)/sf_modf.c'; fi` - -lib_a-sf_scalbn.o: sf_scalbn.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_scalbn.o `test -f 'sf_scalbn.c' || echo '$(srcdir)/'`sf_scalbn.c - -lib_a-sf_scalbn.obj: sf_scalbn.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_scalbn.obj `if test -f 'sf_scalbn.c'; then $(CYGPATH_W) 'sf_scalbn.c'; else $(CYGPATH_W) '$(srcdir)/sf_scalbn.c'; fi` - -lib_a-sf_cbrt.o: sf_cbrt.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_cbrt.o `test -f 'sf_cbrt.c' || echo '$(srcdir)/'`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 - -lib_a-sf_expm1.obj: sf_expm1.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_expm1.obj `if test -f 'sf_expm1.c'; then $(CYGPATH_W) 'sf_expm1.c'; else $(CYGPATH_W) '$(srcdir)/sf_expm1.c'; fi` - -lib_a-sf_ilogb.o: sf_ilogb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_ilogb.o `test -f 'sf_ilogb.c' || echo '$(srcdir)/'`sf_ilogb.c - -lib_a-sf_ilogb.obj: sf_ilogb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_ilogb.obj `if test -f 'sf_ilogb.c'; then $(CYGPATH_W) 'sf_ilogb.c'; else $(CYGPATH_W) '$(srcdir)/sf_ilogb.c'; fi` - -lib_a-sf_infinity.o: sf_infinity.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_infinity.o `test -f 'sf_infinity.c' || echo '$(srcdir)/'`sf_infinity.c - -lib_a-sf_infinity.obj: sf_infinity.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_infinity.obj `if test -f 'sf_infinity.c'; then $(CYGPATH_W) 'sf_infinity.c'; else $(CYGPATH_W) '$(srcdir)/sf_infinity.c'; fi` - -lib_a-sf_isinf.o: sf_isinf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isinf.o `test -f 'sf_isinf.c' || echo '$(srcdir)/'`sf_isinf.c - -lib_a-sf_isinf.obj: sf_isinf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isinf.obj `if test -f 'sf_isinf.c'; then $(CYGPATH_W) 'sf_isinf.c'; else $(CYGPATH_W) '$(srcdir)/sf_isinf.c'; fi` - -lib_a-sf_isinff.o: sf_isinff.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isinff.o `test -f 'sf_isinff.c' || echo '$(srcdir)/'`sf_isinff.c - -lib_a-sf_isinff.obj: sf_isinff.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isinff.obj `if test -f 'sf_isinff.c'; then $(CYGPATH_W) 'sf_isinff.c'; else $(CYGPATH_W) '$(srcdir)/sf_isinff.c'; fi` - -lib_a-sf_isnan.o: sf_isnan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isnan.o `test -f 'sf_isnan.c' || echo '$(srcdir)/'`sf_isnan.c - -lib_a-sf_isnan.obj: sf_isnan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isnan.obj `if test -f 'sf_isnan.c'; then $(CYGPATH_W) 'sf_isnan.c'; else $(CYGPATH_W) '$(srcdir)/sf_isnan.c'; fi` - -lib_a-sf_isnanf.o: sf_isnanf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isnanf.o `test -f 'sf_isnanf.c' || echo '$(srcdir)/'`sf_isnanf.c - -lib_a-sf_isnanf.obj: sf_isnanf.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_isnanf.obj `if test -f 'sf_isnanf.c'; then $(CYGPATH_W) 'sf_isnanf.c'; else $(CYGPATH_W) '$(srcdir)/sf_isnanf.c'; fi` - -lib_a-sf_log1p.o: sf_log1p.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_log1p.o `test -f 'sf_log1p.c' || echo '$(srcdir)/'`sf_log1p.c - -lib_a-sf_log1p.obj: sf_log1p.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_log1p.obj `if test -f 'sf_log1p.c'; then $(CYGPATH_W) 'sf_log1p.c'; else $(CYGPATH_W) '$(srcdir)/sf_log1p.c'; fi` - -lib_a-sf_nan.o: sf_nan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_nan.o `test -f 'sf_nan.c' || echo '$(srcdir)/'`sf_nan.c - -lib_a-sf_nan.obj: sf_nan.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_nan.obj `if test -f 'sf_nan.c'; then $(CYGPATH_W) 'sf_nan.c'; else $(CYGPATH_W) '$(srcdir)/sf_nan.c'; fi` - -lib_a-sf_nextafter.o: sf_nextafter.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_nextafter.o `test -f 'sf_nextafter.c' || echo '$(srcdir)/'`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 - -lib_a-sf_rint.obj: sf_rint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_rint.obj `if test -f 'sf_rint.c'; then $(CYGPATH_W) 'sf_rint.c'; else $(CYGPATH_W) '$(srcdir)/sf_rint.c'; fi` - -lib_a-sf_logb.o: sf_logb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_logb.o `test -f 'sf_logb.c' || echo '$(srcdir)/'`sf_logb.c - -lib_a-sf_logb.obj: sf_logb.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_logb.obj `if test -f 'sf_logb.c'; then $(CYGPATH_W) 'sf_logb.c'; else $(CYGPATH_W) '$(srcdir)/sf_logb.c'; fi` - -lib_a-sf_fdim.o: sf_fdim.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fdim.o `test -f 'sf_fdim.c' || echo '$(srcdir)/'`sf_fdim.c - -lib_a-sf_fdim.obj: sf_fdim.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fdim.obj `if test -f 'sf_fdim.c'; then $(CYGPATH_W) 'sf_fdim.c'; else $(CYGPATH_W) '$(srcdir)/sf_fdim.c'; fi` - -lib_a-sf_fma.o: sf_fma.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fma.o `test -f 'sf_fma.c' || echo '$(srcdir)/'`sf_fma.c - -lib_a-sf_fma.obj: sf_fma.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fma.obj `if test -f 'sf_fma.c'; then $(CYGPATH_W) 'sf_fma.c'; else $(CYGPATH_W) '$(srcdir)/sf_fma.c'; fi` - -lib_a-sf_fmax.o: sf_fmax.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fmax.o `test -f 'sf_fmax.c' || echo '$(srcdir)/'`sf_fmax.c - -lib_a-sf_fmax.obj: sf_fmax.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fmax.obj `if test -f 'sf_fmax.c'; then $(CYGPATH_W) 'sf_fmax.c'; else $(CYGPATH_W) '$(srcdir)/sf_fmax.c'; fi` - -lib_a-sf_fmin.o: sf_fmin.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fmin.o `test -f 'sf_fmin.c' || echo '$(srcdir)/'`sf_fmin.c - -lib_a-sf_fmin.obj: sf_fmin.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fmin.obj `if test -f 'sf_fmin.c'; then $(CYGPATH_W) 'sf_fmin.c'; else $(CYGPATH_W) '$(srcdir)/sf_fmin.c'; fi` - -lib_a-sf_fpclassify.o: sf_fpclassify.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fpclassify.o `test -f 'sf_fpclassify.c' || echo '$(srcdir)/'`sf_fpclassify.c - -lib_a-sf_fpclassify.obj: sf_fpclassify.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_fpclassify.obj `if test -f 'sf_fpclassify.c'; then $(CYGPATH_W) 'sf_fpclassify.c'; else $(CYGPATH_W) '$(srcdir)/sf_fpclassify.c'; fi` - -lib_a-sf_lrint.o: sf_lrint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_lrint.o `test -f 'sf_lrint.c' || echo '$(srcdir)/'`sf_lrint.c - -lib_a-sf_lrint.obj: sf_lrint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_lrint.obj `if test -f 'sf_lrint.c'; then $(CYGPATH_W) 'sf_lrint.c'; else $(CYGPATH_W) '$(srcdir)/sf_lrint.c'; fi` - -lib_a-sf_lround.o: sf_lround.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_lround.o `test -f 'sf_lround.c' || echo '$(srcdir)/'`sf_lround.c - -lib_a-sf_lround.obj: sf_lround.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_lround.obj `if test -f 'sf_lround.c'; then $(CYGPATH_W) 'sf_lround.c'; else $(CYGPATH_W) '$(srcdir)/sf_lround.c'; fi` - -lib_a-sf_nearbyint.o: sf_nearbyint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_nearbyint.o `test -f 'sf_nearbyint.c' || echo '$(srcdir)/'`sf_nearbyint.c - -lib_a-sf_nearbyint.obj: sf_nearbyint.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_nearbyint.obj `if test -f 'sf_nearbyint.c'; then $(CYGPATH_W) 'sf_nearbyint.c'; else $(CYGPATH_W) '$(srcdir)/sf_nearbyint.c'; fi` - -lib_a-sf_remquo.o: sf_remquo.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_remquo.o `test -f 'sf_remquo.c' || echo '$(srcdir)/'`sf_remquo.c - -lib_a-sf_remquo.obj: sf_remquo.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_remquo.obj `if test -f 'sf_remquo.c'; then $(CYGPATH_W) 'sf_remquo.c'; else $(CYGPATH_W) '$(srcdir)/sf_remquo.c'; fi` - -lib_a-sf_round.o: sf_round.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_round.o `test -f 'sf_round.c' || echo '$(srcdir)/'`sf_round.c - -lib_a-sf_round.obj: sf_round.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_round.obj `if test -f 'sf_round.c'; then $(CYGPATH_W) 'sf_round.c'; else $(CYGPATH_W) '$(srcdir)/sf_round.c'; fi` - -lib_a-sf_scalbln.o: sf_scalbln.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_scalbln.o `test -f 'sf_scalbln.c' || echo '$(srcdir)/'`sf_scalbln.c - -lib_a-sf_scalbln.obj: sf_scalbln.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_scalbln.obj `if test -f 'sf_scalbln.c'; then $(CYGPATH_W) 'sf_scalbln.c'; else $(CYGPATH_W) '$(srcdir)/sf_scalbln.c'; fi` - -lib_a-sf_trunc.o: sf_trunc.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_trunc.o `test -f 'sf_trunc.c' || echo '$(srcdir)/'`sf_trunc.c - -lib_a-sf_trunc.obj: sf_trunc.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_trunc.obj `if test -f 'sf_trunc.c'; then $(CYGPATH_W) 'sf_trunc.c'; else $(CYGPATH_W) '$(srcdir)/sf_trunc.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -check-am: -check: check-am -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ - ctags distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-info-am - -objectlist.awk.in: $(noinst_LTLIBRARIES) - -rm -f objectlist.awk.in - for i in `ls *.lo` ; \ - do \ - echo $$i `pwd`/$$i >> objectlist.awk.in ; \ - done - -.c.def: - $(CHEW) < $< > $*.def 2> $*.ref - touch stmp-def - -doc: $(chobj) - -# Texinfo does not appear to support underscores in file names, so we -# name the .def files without underscores. - -scopysign.def: s_copysign.c - $(CHEW) < $(srcdir)/s_copysign.c >$@ 2>/dev/null - touch stmp-def - -scbrt.def: s_cbrt.c - $(CHEW) < $(srcdir)/s_cbrt.c >$@ 2>/dev/null - touch stmp-def - -serf.def: s_erf.c - $(CHEW) < $(srcdir)/s_serf.c >$@ 2>/dev/null - touch stmp-def - -sexp10.def: s_exp10.c - $(CHEW) < $(srcdir)/s_exp10.c >$@ 2>/dev/null - touch stmp-def - -sexpm1.def: s_expm1.c - $(CHEW) < $(srcdir)/s_expm1.c >$@ 2>/dev/null - touch stmp-def - -silogb.def: s_ilogb.c - $(CHEW) < $(srcdir)/s_ilogb.c >$@ 2>/dev/null - touch stmp-def - -sinfinity.def: s_infinity.c - $(CHEW) < $(srcdir)/s_infinity.c >$@ 2>/dev/null - touch stmp-def - -sisnan.def: s_isnan.c - $(CHEW) < $(srcdir)/s_isnan.c >$@ 2>/dev/null - touch stmp-def - -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 - -snan.def: s_nan.c - $(CHEW) < $(srcdir)/s_nan.c >$@ 2>/dev/null - touch stmp-def - -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 -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/newlib/libm/common/fdlibm.h b/newlib/libm/common/fdlibm.h deleted file mode 100644 index 7a0f28db4..000000000 --- a/newlib/libm/common/fdlibm.h +++ /dev/null @@ -1,365 +0,0 @@ - -/* @(#)fdlibm.h 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. - * ==================================================== - */ - -/* REDHAT LOCAL: Include files. */ -#include <math.h> -#include <sys/types.h> -#include <machine/ieeefp.h> - -/* REDHAT LOCAL: Default to XOPEN_MODE. */ -#define _XOPEN_MODE - -/* Most routines need to check whether a float is finite, infinite, or not a - number, and many need to know whether the result of an operation will - overflow. These conditions depend on whether the largest exponent is - used for NaNs & infinities, or whether it's used for finite numbers. The - macros below wrap up that kind of information: - - FLT_UWORD_IS_FINITE(X) - True if a positive float with bitmask X is finite. - - FLT_UWORD_IS_NAN(X) - True if a positive float with bitmask X is not a number. - - FLT_UWORD_IS_INFINITE(X) - True if a positive float with bitmask X is +infinity. - - FLT_UWORD_MAX - The bitmask of FLT_MAX. - - FLT_UWORD_HALF_MAX - The bitmask of FLT_MAX/2. - - FLT_UWORD_EXP_MAX - The bitmask of the largest finite exponent (129 if the largest - exponent is used for finite numbers, 128 otherwise). - - FLT_UWORD_LOG_MAX - The bitmask of log(FLT_MAX), rounded down. This value is the largest - input that can be passed to exp() without producing overflow. - - FLT_UWORD_LOG_2MAX - The bitmask of log(2*FLT_MAX), rounded down. This value is the - largest input than can be passed to cosh() without producing - overflow. - - FLT_LARGEST_EXP - The largest biased exponent that can be used for finite numbers - (255 if the largest exponent is used for finite numbers, 254 - otherwise) */ - -#ifdef _FLT_LARGEST_EXPONENT_IS_NORMAL -#define FLT_UWORD_IS_FINITE(x) 1 -#define FLT_UWORD_IS_NAN(x) 0 -#define FLT_UWORD_IS_INFINITE(x) 0 -#define FLT_UWORD_MAX 0x7fffffff -#define FLT_UWORD_EXP_MAX 0x43010000 -#define FLT_UWORD_LOG_MAX 0x42b2d4fc -#define FLT_UWORD_LOG_2MAX 0x42b437e0 -#define HUGE ((float)0X1.FFFFFEP128) -#else -#define FLT_UWORD_IS_FINITE(x) ((x)<0x7f800000L) -#define FLT_UWORD_IS_NAN(x) ((x)>0x7f800000L) -#define FLT_UWORD_IS_INFINITE(x) ((x)==0x7f800000L) -#define FLT_UWORD_MAX 0x7f7fffffL -#define FLT_UWORD_EXP_MAX 0x43000000 -#define FLT_UWORD_LOG_MAX 0x42b17217 -#define FLT_UWORD_LOG_2MAX 0x42b2d4fc -#define HUGE ((float)3.40282346638528860e+38) -#endif -#define FLT_UWORD_HALF_MAX (FLT_UWORD_MAX-(1L<<23)) -#define FLT_LARGEST_EXP (FLT_UWORD_MAX>>23) - -/* Many routines check for zero and subnormal numbers. Such things depend - on whether the target supports denormals or not: - - FLT_UWORD_IS_ZERO(X) - True if a positive float with bitmask X is +0. Without denormals, - any float with a zero exponent is a +0 representation. With - denormals, the only +0 representation is a 0 bitmask. - - FLT_UWORD_IS_SUBNORMAL(X) - True if a non-zero positive float with bitmask X is subnormal. - (Routines should check for zeros first.) - - FLT_UWORD_MIN - The bitmask of the smallest float above +0. Call this number - REAL_FLT_MIN... - - FLT_UWORD_EXP_MIN - The bitmask of the float representation of REAL_FLT_MIN's exponent. - - FLT_UWORD_LOG_MIN - The bitmask of |log(REAL_FLT_MIN)|, rounding down. - - FLT_SMALLEST_EXP - REAL_FLT_MIN's exponent - EXP_BIAS (1 if denormals are not supported, - -22 if they are). -*/ - -#ifdef _FLT_NO_DENORMALS -#define FLT_UWORD_IS_ZERO(x) ((x)<0x00800000L) -#define FLT_UWORD_IS_SUBNORMAL(x) 0 -#define FLT_UWORD_MIN 0x00800000 -#define FLT_UWORD_EXP_MIN 0x42fc0000 -#define FLT_UWORD_LOG_MIN 0x42aeac50 -#define FLT_SMALLEST_EXP 1 -#else -#define FLT_UWORD_IS_ZERO(x) ((x)==0) -#define FLT_UWORD_IS_SUBNORMAL(x) ((x)<0x00800000L) -#define FLT_UWORD_MIN 0x00000001 -#define FLT_UWORD_EXP_MIN 0x43160000 -#define FLT_UWORD_LOG_MIN 0x42cff1b5 -#define FLT_SMALLEST_EXP -22 -#endif - -#ifdef __STDC__ -#undef __P -#define __P(p) p -#else -#define __P(p) () -#endif - -/* - * set X_TLOSS = pi*2**52, which is possibly defined in <values.h> - * (one may replace the following line by "#include <values.h>") - */ - -#define X_TLOSS 1.41484755040568800000e+16 - -/* Functions that are not documented, and are not in <math.h>. */ - -extern double logb __P((double)); -#ifdef _SCALB_INT -extern double scalb __P((double, int)); -#else -extern double scalb __P((double, double)); -#endif -extern double significand __P((double)); - -/* ieee style elementary functions */ -extern double __ieee754_sqrt __P((double)); -extern double __ieee754_acos __P((double)); -extern double __ieee754_acosh __P((double)); -extern double __ieee754_log __P((double)); -extern double __ieee754_atanh __P((double)); -extern double __ieee754_asin __P((double)); -extern double __ieee754_atan2 __P((double,double)); -extern double __ieee754_exp __P((double)); -extern double __ieee754_cosh __P((double)); -extern double __ieee754_fmod __P((double,double)); -extern double __ieee754_pow __P((double,double)); -extern double __ieee754_lgamma_r __P((double,int *)); -extern double __ieee754_gamma_r __P((double,int *)); -extern double __ieee754_log10 __P((double)); -extern double __ieee754_sinh __P((double)); -extern double __ieee754_hypot __P((double,double)); -extern double __ieee754_j0 __P((double)); -extern double __ieee754_j1 __P((double)); -extern double __ieee754_y0 __P((double)); -extern double __ieee754_y1 __P((double)); -extern double __ieee754_jn __P((int,double)); -extern double __ieee754_yn __P((int,double)); -extern double __ieee754_remainder __P((double,double)); -extern __int32_t __ieee754_rem_pio2 __P((double,double*)); -#ifdef _SCALB_INT -extern double __ieee754_scalb __P((double,int)); -#else -extern double __ieee754_scalb __P((double,double)); -#endif - -/* fdlibm kernel function */ -extern double __kernel_standard __P((double,double,int)); -extern double __kernel_sin __P((double,double,int)); -extern double __kernel_cos __P((double,double)); -extern double __kernel_tan __P((double,double,int)); -extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*)); - -/* Undocumented float functions. */ -extern float logbf __P((float)); -#ifdef _SCALB_INT -extern float scalbf __P((float, int)); -#else -extern float scalbf __P((float, float)); -#endif -extern float significandf __P((float)); - -/* ieee style elementary float functions */ -extern float __ieee754_sqrtf __P((float)); -extern float __ieee754_acosf __P((float)); -extern float __ieee754_acoshf __P((float)); -extern float __ieee754_logf __P((float)); -extern float __ieee754_atanhf __P((float)); -extern float __ieee754_asinf __P((float)); -extern float __ieee754_atan2f __P((float,float)); -extern float __ieee754_expf __P((float)); -extern float __ieee754_coshf __P((float)); -extern float __ieee754_fmodf __P((float,float)); -extern float __ieee754_powf __P((float,float)); -extern float __ieee754_lgammaf_r __P((float,int *)); -extern float __ieee754_gammaf_r __P((float,int *)); -extern float __ieee754_log10f __P((float)); -extern float __ieee754_sinhf __P((float)); -extern float __ieee754_hypotf __P((float,float)); -extern float __ieee754_j0f __P((float)); -extern float __ieee754_j1f __P((float)); -extern float __ieee754_y0f __P((float)); -extern float __ieee754_y1f __P((float)); -extern float __ieee754_jnf __P((int,float)); -extern float __ieee754_ynf __P((int,float)); -extern float __ieee754_remainderf __P((float,float)); -extern __int32_t __ieee754_rem_pio2f __P((float,float*)); -#ifdef _SCALB_INT -extern float __ieee754_scalbf __P((float,int)); -#else -extern float __ieee754_scalbf __P((float,float)); -#endif - -/* float versions of fdlibm kernel functions */ -extern float __kernel_sinf __P((float,float,int)); -extern float __kernel_cosf __P((float,float)); -extern float __kernel_tanf __P((float,float,int)); -extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*)); - -/* The original code used statements like - n0 = ((*(int*)&one)>>29)^1; * index of high word * - ix0 = *(n0+(int*)&x); * high word of x * - ix1 = *((1-n0)+(int*)&x); * low word of x * - to dig two 32 bit words out of the 64 bit IEEE floating point - value. That is non-ANSI, and, moreover, the gcc instruction - scheduler gets it wrong. We instead use the following macros. - Unlike the original code, we determine the endianness at compile - time, not at run time; I don't see much benefit to selecting - endianness at run time. */ - -#ifndef __IEEE_BIG_ENDIAN -#ifndef __IEEE_LITTLE_ENDIAN - #error Must define endianness -#endif -#endif - -/* A union which permits us to convert between a double and two 32 bit - ints. */ - -#ifdef __IEEE_BIG_ENDIAN - -typedef union -{ - double value; - struct - { - __uint32_t msw; - __uint32_t lsw; - } parts; -} ieee_double_shape_type; - -#endif - -#ifdef __IEEE_LITTLE_ENDIAN - -typedef union -{ - double value; - struct - { - __uint32_t lsw; - __uint32_t msw; - } parts; -} ieee_double_shape_type; - -#endif - -/* Get two 32 bit ints from a double. */ - -#define EXTRACT_WORDS(ix0,ix1,d) \ -do { \ - ieee_double_shape_type ew_u; \ - ew_u.value = (d); \ - (ix0) = ew_u.parts.msw; \ - (ix1) = ew_u.parts.lsw; \ -} while (0) - -/* Get the more significant 32 bit int from a double. */ - -#define GET_HIGH_WORD(i,d) \ -do { \ - ieee_double_shape_type gh_u; \ - gh_u.value = (d); \ - (i) = gh_u.parts.msw; \ -} while (0) - -/* Get the less significant 32 bit int from a double. */ - -#define GET_LOW_WORD(i,d) \ -do { \ - ieee_double_shape_type gl_u; \ - gl_u.value = (d); \ - (i) = gl_u.parts.lsw; \ -} while (0) - -/* Set a double from two 32 bit ints. */ - -#define INSERT_WORDS(d,ix0,ix1) \ -do { \ - ieee_double_shape_type iw_u; \ - iw_u.parts.msw = (ix0); \ - iw_u.parts.lsw = (ix1); \ - (d) = iw_u.value; \ -} while (0) - -/* Set the more significant 32 bits of a double from an int. */ - -#define SET_HIGH_WORD(d,v) \ -do { \ - ieee_double_shape_type sh_u; \ - sh_u.value = (d); \ - sh_u.parts.msw = (v); \ - (d) = sh_u.value; \ -} while (0) - -/* Set the less significant 32 bits of a double from an int. */ - -#define SET_LOW_WORD(d,v) \ -do { \ - ieee_double_shape_type sl_u; \ - sl_u.value = (d); \ - sl_u.parts.lsw = (v); \ - (d) = sl_u.value; \ -} while (0) - -/* A union which permits us to convert between a float and a 32 bit - int. */ - -typedef union -{ - float value; - __uint32_t word; -} ieee_float_shape_type; - -/* Get a 32 bit int from a float. */ - -#define GET_FLOAT_WORD(i,d) \ -do { \ - ieee_float_shape_type gf_u; \ - gf_u.value = (d); \ - (i) = gf_u.word; \ -} while (0) - -/* Set a float from a 32 bit int. */ - -#define SET_FLOAT_WORD(d,i) \ -do { \ - ieee_float_shape_type sf_u; \ - sf_u.word = (i); \ - (d) = sf_u.value; \ -} while (0) diff --git a/newlib/libm/common/s_cbrt.c b/newlib/libm/common/s_cbrt.c deleted file mode 100644 index 95185d0fa..000000000 --- a/newlib/libm/common/s_cbrt.c +++ /dev/null @@ -1,123 +0,0 @@ - -/* @(#)s_cbrt.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 - <<cbrt>>, <<cbrtf>>---cube root - -INDEX - cbrt -INDEX - cbrtf - -ANSI_SYNOPSIS - #include <math.h> - double cbrt(double <[x]>); - float cbrtf(float <[x]>); - -TRAD_SYNOPSIS - #include <math.h> - double cbrt(<[x]>); - float cbrtf(<[x]>); - -DESCRIPTION - <<cbrt>> computes the cube root of the argument. - -RETURNS - The cube root is returned. - -PORTABILITY - <<cbrt>> is in System V release 4. <<cbrtf>> is an extension. -*/ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -/* cbrt(x) - * Return cube root of x - */ -#ifdef __STDC__ -static const __uint32_t -#else -static __uint32_t -#endif - B1 = 715094163, /* B1 = (682-0.03306235651)*2**20 */ - B2 = 696219795; /* B2 = (664-0.03306235651)*2**20 */ - -#ifdef __STDC__ -static const double -#else -static double -#endif -C = 5.42857142857142815906e-01, /* 19/35 = 0x3FE15F15, 0xF15F15F1 */ -D = -7.05306122448979611050e-01, /* -864/1225 = 0xBFE691DE, 0x2532C834 */ -E = 1.41428571428571436819e+00, /* 99/70 = 0x3FF6A0EA, 0x0EA0EA0F */ -F = 1.60714285714285720630e+00, /* 45/28 = 0x3FF9B6DB, 0x6DB6DB6E */ -G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */ - -#ifdef __STDC__ - double cbrt(double x) -#else - double cbrt(x) - double x; -#endif -{ - __int32_t hx; - double r,s,t=0.0,w; - __uint32_t sign; - __uint32_t high,low; - - GET_HIGH_WORD(hx,x); - sign=hx&0x80000000; /* sign= sign(x) */ - hx ^=sign; - if(hx>=0x7ff00000) return(x+x); /* cbrt(NaN,INF) is itself */ - GET_LOW_WORD(low,x); - if((hx|low)==0) - return(x); /* cbrt(0) is itself */ - - SET_HIGH_WORD(x,hx); /* x <- |x| */ - /* rough cbrt to 5 bits */ - if(hx<0x00100000) /* subnormal number */ - {SET_HIGH_WORD(t,0x43500000); /* set t= 2**54 */ - t*=x; GET_HIGH_WORD(high,t); SET_HIGH_WORD(t,high/3+B2); - } - else - SET_HIGH_WORD(t,hx/3+B1); - - - /* new cbrt to 23 bits, may be implemented in single precision */ - r=t*t/x; - s=C+r*t; - t*=G+F/(s+E+D/s); - - /* chopped to 20 bits and make it larger than cbrt(x) */ - GET_HIGH_WORD(high,t); - INSERT_WORDS(t,high+0x00000001,0); - - - /* one step newton iteration to 53 bits with error less than 0.667 ulps */ - s=t*t; /* t*t is exact */ - r=x/s; - w=t+t; - r=(r-t)/(w+r); /* r-s is exact */ - t=t+t*r; - - /* retore the sign bit */ - GET_HIGH_WORD(high,t); - SET_HIGH_WORD(t,high|sign); - return(t); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_copysign.c b/newlib/libm/common/s_copysign.c deleted file mode 100644 index bfc546db5..000000000 --- a/newlib/libm/common/s_copysign.c +++ /dev/null @@ -1,82 +0,0 @@ - -/* @(#)s_copysign.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 -<<copysign>>, <<copysignf>>---sign of <[y]>, magnitude of <[x]> - -INDEX - copysign -INDEX - copysignf - -ANSI_SYNOPSIS - #include <math.h> - double copysign (double <[x]>, double <[y]>); - float copysignf (float <[x]>, float <[y]>); - -TRAD_SYNOPSIS - #include <math.h> - double copysign (<[x]>, <[y]>) - double <[x]>; - double <[y]>; - - float copysignf (<[x]>, <[y]>) - float <[x]>; - float <[y]>; - -DESCRIPTION -<<copysign>> constructs a number with the magnitude (absolute value) -of its first argument, <[x]>, and the sign of its second argument, -<[y]>. - -<<copysignf>> does the same thing; the two functions differ only in -the type of their arguments and result. - -RETURNS -<<copysign>> returns a <<double>> with the magnitude of -<[x]> and the sign of <[y]>. -<<copysignf>> returns a <<float>> with the magnitude of -<[x]> and the sign of <[y]>. - -PORTABILITY -<<copysign>> is not required by either ANSI C or the System V Interface -Definition (Issue 2). - -*/ - -/* - * copysign(double x, double y) - * copysign(x,y) returns a value with the magnitude of x and - * with the sign bit of y. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double copysign(double x, double y) -#else - double copysign(x,y) - double x,y; -#endif -{ - __uint32_t hx,hy; - GET_HIGH_WORD(hx,x); - GET_HIGH_WORD(hy,y); - SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000)); - return x; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_exp10.c b/newlib/libm/common/s_exp10.c deleted file mode 100644 index 12f30036e..000000000 --- a/newlib/libm/common/s_exp10.c +++ /dev/null @@ -1,80 +0,0 @@ -/* @(#)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) */ diff --git a/newlib/libm/common/s_expm1.c b/newlib/libm/common/s_expm1.c deleted file mode 100644 index 12c88f16b..000000000 --- a/newlib/libm/common/s_expm1.c +++ /dev/null @@ -1,272 +0,0 @@ - -/* @(#)s_expm1.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 - <<expm1>>, <<expm1f>>---exponential minus 1 -INDEX - expm1 -INDEX - expm1f - -ANSI_SYNOPSIS - #include <math.h> - double expm1(double <[x]>); - float expm1f(float <[x]>); - -TRAD_SYNOPSIS - #include <math.h> - double expm1(<[x]>); - double <[x]>; - - float expm1f(<[x]>); - float <[x]>; - -DESCRIPTION - <<expm1>> and <<expm1f>> calculate the exponential of <[x]> - and subtract 1, that is, - @ifnottex - e raised to the power <[x]> minus 1 (where e - @end ifnottex - @tex - $e^x - 1$ (where $e$ - @end tex - is the base of the natural system of logarithms, approximately - 2.71828). The result is accurate even for small values of - <[x]>, where using <<exp(<[x]>)-1>> would lose many - significant digits. - -RETURNS - e raised to the power <[x]>, minus 1. - -PORTABILITY - Neither <<expm1>> nor <<expm1f>> is required by ANSI C or by - the System V Interface Definition (Issue 2). -*/ - -/* expm1(x) - * Returns exp(x)-1, the exponential of x minus 1. - * - * Method - * 1. Argument reduction: - * Given x, find r and integer k such that - * - * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 - * - * Here a correction term c will be computed to compensate - * the error in r when rounded to a floating-point number. - * - * 2. Approximating expm1(r) by a special rational function on - * the interval [0,0.34658]: - * Since - * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... - * we define R1(r*r) by - * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) - * That is, - * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) - * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) - * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... - * We use a special Reme algorithm on [0,0.347] to generate - * a polynomial of degree 5 in r*r to approximate R1. The - * maximum error of this polynomial approximation is bounded - * by 2**-61. In other words, - * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 - * where Q1 = -1.6666666666666567384E-2, - * Q2 = 3.9682539681370365873E-4, - * Q3 = -9.9206344733435987357E-6, - * Q4 = 2.5051361420808517002E-7, - * Q5 = -6.2843505682382617102E-9; - * (where z=r*r, and the values of Q1 to Q5 are listed below) - * with error bounded by - * | 5 | -61 - * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 - * | | - * - * expm1(r) = exp(r)-1 is then computed by the following - * specific way which minimize the accumulation rounding error: - * 2 3 - * r r [ 3 - (R1 + R1*r/2) ] - * expm1(r) = r + --- + --- * [--------------------] - * 2 2 [ 6 - r*(3 - R1*r/2) ] - * - * To compensate the error in the argument reduction, we use - * expm1(r+c) = expm1(r) + c + expm1(r)*c - * ~ expm1(r) + c + r*c - * Thus c+r*c will be added in as the correction terms for - * expm1(r+c). Now rearrange the term to avoid optimization - * screw up: - * ( 2 2 ) - * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) - * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) - * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) - * ( ) - * - * = r - E - * 3. Scale back to obtain expm1(x): - * From step 1, we have - * expm1(x) = either 2^k*[expm1(r)+1] - 1 - * = or 2^k*[expm1(r) + (1-2^-k)] - * 4. Implementation notes: - * (A). To save one multiplication, we scale the coefficient Qi - * to Qi*2^i, and replace z by (x^2)/2. - * (B). To achieve maximum accuracy, we compute expm1(x) by - * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) - * (ii) if k=0, return r-E - * (iii) if k=-1, return 0.5*(r-E)-0.5 - * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) - * else return 1.0+2.0*(r-E); - * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) - * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else - * (vii) return 2^k(1-((E+2^-k)-r)) - * - * Special cases: - * expm1(INF) is INF, expm1(NaN) is NaN; - * expm1(-INF) is -1, and - * for finite argument, only expm1(0)=0 is exact. - * - * Accuracy: - * according to an error analysis, the error is always less than - * 1 ulp (unit in the last place). - * - * Misc. info. - * For IEEE double - * if x > 7.09782712893383973096e+02 then expm1(x) overflow - * - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double -#else -static double -#endif -one = 1.0, -huge = 1.0e+300, -tiny = 1.0e-300, -o_threshold = 7.09782712893383973096e+02,/* 0x40862E42, 0xFEFA39EF */ -ln2_hi = 6.93147180369123816490e-01,/* 0x3fe62e42, 0xfee00000 */ -ln2_lo = 1.90821492927058770002e-10,/* 0x3dea39ef, 0x35793c76 */ -invln2 = 1.44269504088896338700e+00,/* 0x3ff71547, 0x652b82fe */ - /* scaled coefficients related to expm1 */ -Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ -Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ -Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ -Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ -Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ - -#ifdef __STDC__ - double expm1(double x) -#else - double expm1(x) - double x; -#endif -{ - double y,hi,lo,c,t,e,hxs,hfx,r1; - __int32_t k,xsb; - __uint32_t hx; - - GET_HIGH_WORD(hx,x); - xsb = hx&0x80000000; /* sign bit of x */ - if(xsb==0) y=x; else y= -x; /* y = |x| */ - hx &= 0x7fffffff; /* high word of |x| */ - - /* filter out huge and non-finite argument */ - if(hx >= 0x4043687A) { /* if |x|>=56*ln2 */ - if(hx >= 0x40862E42) { /* if |x|>=709.78... */ - if(hx>=0x7ff00000) { - __uint32_t low; - GET_LOW_WORD(low,x); - if(((hx&0xfffff)|low)!=0) - return x+x; /* NaN */ - else return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */ - } - if(x > o_threshold) return huge*huge; /* overflow */ - } - if(xsb!=0) { /* x < -56*ln2, return -1.0 with inexact */ - if(x+tiny<0.0) /* raise inexact */ - return tiny-one; /* return -1 */ - } - } - - /* argument reduction */ - if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */ - if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ - if(xsb==0) - {hi = x - ln2_hi; lo = ln2_lo; k = 1;} - else - {hi = x + ln2_hi; lo = -ln2_lo; k = -1;} - } else { - k = invln2*x+((xsb==0)?0.5:-0.5); - t = k; - hi = x - t*ln2_hi; /* t*ln2_hi is exact here */ - lo = t*ln2_lo; - } - x = hi - lo; - c = (hi-x)-lo; - } - else if(hx < 0x3c900000) { /* when |x|<2**-54, return x */ - t = huge+x; /* return x with inexact flags when x!=0 */ - return x - (t-(huge+x)); - } - else k = 0; - - /* x is now in primary range */ - hfx = 0.5*x; - hxs = x*hfx; - r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5)))); - t = 3.0-r1*hfx; - e = hxs*((r1-t)/(6.0 - x*t)); - if(k==0) return x - (x*e-hxs); /* c is 0 */ - else { - e = (x*(e-c)-c); - e -= hxs; - if(k== -1) return 0.5*(x-e)-0.5; - if(k==1) { - if(x < -0.25) return -2.0*(e-(x+0.5)); - else return one+2.0*(x-e); - } - if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ - __uint32_t high; - y = one-(e-x); - GET_HIGH_WORD(high,y); - SET_HIGH_WORD(y,high+(k<<20)); /* add k to y's exponent */ - return y-one; - } - t = one; - if(k<20) { - __uint32_t high; - SET_HIGH_WORD(t,0x3ff00000 - (0x200000>>k)); /* t=1-2^-k */ - y = t-(e-x); - GET_HIGH_WORD(high,y); - SET_HIGH_WORD(y,high+(k<<20)); /* add k to y's exponent */ - } else { - __uint32_t high; - SET_HIGH_WORD(t,((0x3ff-k)<<20)); /* 2^-k */ - y = x-(e+t); - y += one; - GET_HIGH_WORD(high,y); - SET_HIGH_WORD(y,high+(k<<20)); /* add k to y's exponent */ - } - } - return y; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_fdim.c b/newlib/libm/common/s_fdim.c deleted file mode 100644 index 0010bf59d..000000000 --- a/newlib/libm/common/s_fdim.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fdim(double x, double y) -#else - double fdim(x,y) - double x; - double y; -#endif -{ - int c = __fpclassifyd(x); - if (c == FP_NAN || c == FP_INFINITE) - return HUGE_VAL; - - return x > y ? x - y : 0.0; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_finite.c b/newlib/libm/common/s_finite.c deleted file mode 100644 index 17f4e849b..000000000 --- a/newlib/libm/common/s_finite.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* @(#)s_finite.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. - * ==================================================== - */ - -/* - * finite(x) returns 1 is x is finite, else 0; - * no branching! - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - int finite(double x) -#else - int finite(x) - double x; -#endif -{ - __int32_t hx; - GET_HIGH_WORD(hx,x); - return (int)((__uint32_t)((hx&0x7fffffff)-0x7ff00000)>>31); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_fma.c b/newlib/libm/common/s_fma.c deleted file mode 100644 index 86958afcb..000000000 --- a/newlib/libm/common/s_fma.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fma(double x, double y, double z) -#else - double fma(x,y) - double x; - double y; - double z; -#endif -{ - /* Implementation defined. */ - return (x * y) + z; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_fmax.c b/newlib/libm/common/s_fmax.c deleted file mode 100644 index 53e1559e3..000000000 --- a/newlib/libm/common/s_fmax.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fmax(double x, double y) -#else - double fmax(x,y) - double x; - double y; -#endif -{ - if (__fpclassifyd(x) == FP_NAN) - return y; - if (__fpclassifyd(y) == FP_NAN) - return x; - - return x > y ? x : y; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_fmin.c b/newlib/libm/common/s_fmin.c deleted file mode 100644 index 65e0b1c6d..000000000 --- a/newlib/libm/common/s_fmin.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fmin(double x, double y) -#else - double fmin(x,y) - double x; - double y; -#endif -{ - if (__fpclassifyd(x) == FP_NAN) - return y; - if (__fpclassifyd(y) == FP_NAN) - return x; - - return x < y ? x : y; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_fpclassify.c b/newlib/libm/common/s_fpclassify.c deleted file mode 100644 index 3ebba7030..000000000 --- a/newlib/libm/common/s_fpclassify.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2002, 2007 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -int -__fpclassifyd (double x) -{ - __uint32_t msw, lsw; - - EXTRACT_WORDS(msw,lsw,x); - - if ((msw == 0x00000000 && lsw == 0x00000000) || - (msw == 0x80000000 && lsw == 0x00000000)) - return FP_ZERO; - else if ((msw >= 0x00100000 && msw <= 0x7fefffff) || - (msw >= 0x80100000 && msw <= 0xffefffff)) - return FP_NORMAL; - else if ((msw >= 0x00000000 && msw <= 0x000fffff) || - (msw >= 0x80000000 && msw <= 0x800fffff)) - /* zero is already handled above */ - return FP_SUBNORMAL; - else if ((msw == 0x7ff00000 && lsw == 0x00000000) || - (msw == 0xfff00000 && lsw == 0x00000000)) - return FP_INFINITE; - else - return FP_NAN; -} diff --git a/newlib/libm/common/s_ilogb.c b/newlib/libm/common/s_ilogb.c deleted file mode 100644 index 00dfef633..000000000 --- a/newlib/libm/common/s_ilogb.c +++ /dev/null @@ -1,92 +0,0 @@ - -/* @(#)s_ilogb.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 - <<ilogb>>, <<ilogbf>>---get exponent of floating-point number -INDEX - ilogb -INDEX - ilogbf - -ANSI_SYNOPSIS - #include <math.h> - int ilogb(double <[val]>); - int ilogbf(float <[val]>); - -TRAD_SYNOPSIS - #include <math.h> - int ilogb(<[val]>) - double <[val]>; - - int ilogbf(<[val]>) - float <[val]>; - - -DESCRIPTION - - All nonzero, normal numbers can be described as <[m]> * - 2**<[p]>. <<ilogb>> and <<ilogbf>> examine the argument - <[val]>, and return <[p]>. The functions <<frexp>> and - <<frexpf>> are similar to <<ilogb>> and <<ilogbf>>, but also - return <[m]>. - -RETURNS - -<<ilogb>> and <<ilogbf>> return the power of two used to form the -floating-point argument. If <[val]> is <<0>>, they return <<- -INT_MAX>> (<<INT_MAX>> is defined in limits.h). If <[val]> is -infinite, or NaN, they return <<INT_MAX>>. - -PORTABILITY - Neither <<ilogb>> nor <<ilogbf>> is required by ANSI C or by - the System V Interface Definition (Issue 2). */ - -/* ilogb(double x) - * return the binary exponent of non-zero x - * ilogb(0) = 0x80000001 - * ilogb(inf/NaN) = 0x7fffffff (no signal is raised) - */ - -#include "fdlibm.h" -#include <limits.h> - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - int ilogb(double x) -#else - int ilogb(x) - double x; -#endif -{ - __int32_t hx,lx,ix; - - EXTRACT_WORDS(hx,lx,x); - hx &= 0x7fffffff; - if(hx<0x00100000) { - if((hx|lx)==0) - return - INT_MAX; /* ilogb(0) = 0x80000001 */ - else /* subnormal x */ - if(hx==0) { - for (ix = -1043; lx>0; lx<<=1) ix -=1; - } else { - for (ix = -1022,hx<<=11; hx>0; hx<<=1) ix -=1; - } - return ix; - } - else if (hx<0x7ff00000) return (hx>>20)-1023; - else return INT_MAX; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_infconst.c b/newlib/libm/common/s_infconst.c deleted file mode 100644 index 9447b97cc..000000000 --- a/newlib/libm/common/s_infconst.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Infinity as a constant value. This is used for HUGE_VAL. - * Added by Cygnus Support. - */ - -#include <float.h> -#include "fdlibm.h" - -/* Float version of infinity. */ -const union __fmath __infinityf[1] = {{{0x7f800000}}}; - -/* Double version of infinity. */ -#ifndef _DOUBLE_IS_32BITS - #ifdef __IEEE_BIG_ENDIAN - const union __dmath __infinity[1] = {{{0x7ff00000, 0}}}; - #else - const union __dmath __infinity[1] = {{{0, 0x7ff00000}}}; - #endif -#else /* defined (_DOUBLE_IS_32BITS) */ - const union __dmath __infinity[1] = {{{0x7f800000, 0}}}; -#endif /* defined (_DOUBLE_IS_32BITS) */ - -/* Long double version of infinity. */ -#ifdef __IEEE_BIG_ENDIAN - #if LDBL_MANT_DIG == 24 - const union __ldmath __infinityld[1] = {{{0x7f800000, 0, 0, 0}}}; - #elif LDBL_MANT_DIG == 53 - const union __ldmath __infinityld[1] = {{{0x7ff00000, 0, 0, 0}}}; - #else - const union __ldmath __infinityld[1] = {{{0x7fff0000, 0, 0, 0}}}; - #endif /* LDBL_MANT_DIG size */ -#else /* __IEEE_LITTLE_ENDIAN */ - #if LDBL_MANT_DIG == 24 - const union __ldmath __infinityld[1] = {{{0x7f800000, 0, 0, 0}}}; - #elif LDBL_MANT_DIG == 53 - const union __ldmath __infinityld[1] = {{{0, 0x7ff00000, 0, 0}}}; - #else - const union __ldmath __infinityld[1] = {{{0, 0x80000000, 0x00007fff, 0}}}; - #endif /* LDBL_MANT_DIG size */ -#endif /* __IEEE_LITTLE_ENDIAN */ - diff --git a/newlib/libm/common/s_infinity.c b/newlib/libm/common/s_infinity.c deleted file mode 100644 index 9f9cbebee..000000000 --- a/newlib/libm/common/s_infinity.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * infinity () returns the representation of infinity. - * Added by Cygnus Support. - */ - -/* -FUNCTION - <<infinity>>, <<infinityf>>---representation of infinity - -INDEX - infinity -INDEX - infinityf - -ANSI_SYNOPSIS - #include <math.h> - double infinity(void); - float infinityf(void); - -TRAD_SYNOPSIS - #include <math.h> - double infinity(); - float infinityf(); - - -DESCRIPTION - <<infinity>> and <<infinityf>> return the special number IEEE - infinity in double- and single-precision arithmetic - respectively. - -QUICKREF - infinity - pure - -*/ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - - double infinity() -{ - double x; - - INSERT_WORDS(x,0x7ff00000,0); - return x; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_isinf.c b/newlib/libm/common/s_isinf.c deleted file mode 100644 index db8e8f82b..000000000 --- a/newlib/libm/common/s_isinf.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * isinf(x) returns 1 if x is infinity, else 0; - * no branching! - * - * isinf is a <math.h> macro in the C99 standard. It was previously - * implemented as a function by newlib and is declared as such in - * <ieeefp.h>. Newlib supplies it here as a function if the user - * chooses to use <ieeefp.h> or needs to link older code compiled with the - * previous <math.h> declaration. - */ - -#include "fdlibm.h" -#include <ieeefp.h> - -#ifndef _DOUBLE_IS_32BITS - -int -_DEFUN (isinf, (x), - double x) -{ - __int32_t hx,lx; - EXTRACT_WORDS(hx,lx,x); - hx &= 0x7fffffff; - hx |= (__uint32_t)(lx|(-lx))>>31; - hx = 0x7ff00000 - hx; - return 1 - (int)((__uint32_t)(hx|(-hx))>>31); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_isinfd.c b/newlib/libm/common/s_isinfd.c deleted file mode 100644 index 5a2b04d4e..000000000 --- a/newlib/libm/common/s_isinfd.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * __isinfd(x) returns 1 if x is infinity, else 0; - * no branching! - * Added by Cygnus Support. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -int -_DEFUN (__isinfd, (x), - double x) -{ - __int32_t hx,lx; - EXTRACT_WORDS(hx,lx,x); - hx &= 0x7fffffff; - hx |= (__uint32_t)(lx|(-lx))>>31; - hx = 0x7ff00000 - hx; - return 1 - (int)((__uint32_t)(hx|(-hx))>>31); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_isnan.c b/newlib/libm/common/s_isnan.c deleted file mode 100644 index b0c40369a..000000000 --- a/newlib/libm/common/s_isnan.c +++ /dev/null @@ -1,135 +0,0 @@ - -/* @(#)s_isnan.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 - <<isnan>>, <<isnanf>>, <<isinf>>, <<isinff>>, <<finite>>, <<finitef>>---test for exceptional numbers - -INDEX - isnan -INDEX - isinf -INDEX - finite - -INDEX - isnanf -INDEX - isinff -INDEX - finitef - -ANSI_SYNOPSIS - #include <ieeefp.h> - int isnan(double <[arg]>); - int isinf(double <[arg]>); - int finite(double <[arg]>); - int isnanf(float <[arg]>); - int isinff(float <[arg]>); - int finitef(float <[arg]>); - -TRAD_SYNOPSIS - #include <ieeefp.h> - int isnan(<[arg]>) - double <[arg]>; - int isinf(<[arg]>) - double <[arg]>; - int finite(<[arg]>); - double <[arg]>; - int isnanf(<[arg]>); - float <[arg]>; - int isinff(<[arg]>); - float <[arg]>; - int finitef(<[arg]>); - float <[arg]>; - - -DESCRIPTION - These functions provide information on the floating-point - argument supplied. - - There are five major number formats: - o+ - o zero - A number which contains all zero bits. - o subnormal - A number with a zero exponent but a nonzero fraction. - o normal - A number with an exponent and a fraction. - o infinity - A number with an all 1's exponent and a zero fraction. - o NAN - A number with an all 1's exponent and a nonzero fraction. - - o- - - <<isnan>> returns 1 if the argument is a nan. <<isinf>> - returns 1 if the argument is infinity. <<finite>> returns 1 if the - argument is zero, subnormal or normal. - - The <<isnanf>>, <<isinff>> and <<finitef>> functions perform the same - operations as their <<isnan>>, <<isinf>> and <<finite>> - counterparts, but on single-precision floating-point numbers. - - It should be noted that the C99 standard dictates that <<isnan>> - and <<isinf>> are macros that operate on multiple types of - floating-point. The SUSv2 standard declares <<isnan>> as - a function taking double. Newlib has decided to declare - them both as macros in math.h and as functions in ieeefp.h. - -QUICKREF - isnan - pure -QUICKREF - isinf - pure -QUICKREF - finite - pure -QUICKREF - isnan - pure -QUICKREF - isinf - pure -QUICKREF - finite - pure -*/ - -/* - * isnan(x) returns 1 is x is nan, else 0; - * no branching! - * - * The C99 standard dictates that isnan is a macro taking - * multiple floating-point types while the SUSv2 standard - * notes it is a function taking a double argument. Newlib - * has chosen to implement it as a macro in <math.h> and - * declare it as a function in <ieeefp.h>. - */ - -#include "fdlibm.h" -#include <ieeefp.h> - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - int isnan(double x) -#else - int isnan(x) - double x; -#endif -{ - __int32_t hx,lx; - EXTRACT_WORDS(hx,lx,x); - hx &= 0x7fffffff; - hx |= (__uint32_t)(lx|(-lx))>>31; - hx = 0x7ff00000 - hx; - return (int)(((__uint32_t)(hx))>>31); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_isnand.c b/newlib/libm/common/s_isnand.c deleted file mode 100644 index 75538d907..000000000 --- a/newlib/libm/common/s_isnand.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * ==================================================== - * 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 - <<isnan>>, <<isnanf>>, <<isinf>>, <<isinff>>, <<finite>>, <<finitef>>---test for exceptional numbers - -INDEX - isnan -INDEX - isinf -INDEX - finite - -INDEX - isnanf -INDEX - isinff -INDEX - finitef - -ANSI_SYNOPSIS - #include <ieeefp.h> - int isnan(double <[arg]>); - int isinf(double <[arg]>); - int finite(double <[arg]>); - int isnanf(float <[arg]>); - int isinff(float <[arg]>); - int finitef(float <[arg]>); - -TRAD_SYNOPSIS - #include <ieeefp.h> - int isnan(<[arg]>) - double <[arg]>; - int isinf(<[arg]>) - double <[arg]>; - int finite(<[arg]>); - double <[arg]>; - int isnanf(<[arg]>); - float <[arg]>; - int isinff(<[arg]>); - float <[arg]>; - int finitef(<[arg]>); - float <[arg]>; - - -DESCRIPTION - These functions provide information on the floating-point - argument supplied. - - There are five major number formats: - o+ - o zero - A number which contains all zero bits. - o subnormal - A number with a zero exponent but a nonzero fraction. - o normal - A number with an exponent and a fraction. - o infinity - A number with an all 1's exponent and a zero fraction. - o NAN - A number with an all 1's exponent and a nonzero fraction. - - o- - - <<isnan>> returns 1 if the argument is a nan. <<isinf>> - returns 1 if the argument is infinity. <<finite>> returns 1 if the - argument is zero, subnormal or normal. - - Note that by the C99 standard, <<isnan>> and <<isinf>> are macros - taking any type of floating-point and are declared in - <<math.h>>. Newlib has chosen to declare these as macros in - <<math.h>> and as functions in <<ieeefp.h>>. - - The <<isnanf>>, <<isinff>> and <<finitef>> functions perform the same - operations as their <<isnan>>, <<isinf>> and <<finite>> - counterparts, but on single-precision floating-point numbers. - -QUICKREF - isnan - pure -QUICKREF - isinf - pure -QUICKREF - finite - pure -QUICKREF - isnan - pure -QUICKREF - isinf - pure -QUICKREF - finite - pure -*/ - -/* - * __isnand(x) returns 1 is x is nan, else 0; - * no branching! - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -int -_DEFUN (__isnand, (x), - double x) -{ - __int32_t hx,lx; - EXTRACT_WORDS(hx,lx,x); - hx &= 0x7fffffff; - hx |= (__uint32_t)(lx|(-lx))>>31; - hx = 0x7ff00000 - hx; - return (int)(((__uint32_t)(hx))>>31); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_lib_ver.c b/newlib/libm/common/s_lib_ver.c deleted file mode 100644 index 15c8b4166..000000000 --- a/newlib/libm/common/s_lib_ver.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* @(#)s_lib_ver.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. - * ==================================================== - */ - -/* - * MACRO for standards - */ - -#include "fdlibm.h" - -/* - * define and initialize _LIB_VERSION - */ -#ifdef _POSIX_MODE -_LIB_VERSION_TYPE _LIB_VERSION = _POSIX_; -#else -#ifdef _XOPEN_MODE -_LIB_VERSION_TYPE _LIB_VERSION = _XOPEN_; -#else -#ifdef _SVID3_MODE -_LIB_VERSION_TYPE _LIB_VERSION = _SVID_; -#else /* default _IEEE_MODE */ -_LIB_VERSION_TYPE _LIB_VERSION = _IEEE_; -#endif -#endif -#endif diff --git a/newlib/libm/common/s_log1p.c b/newlib/libm/common/s_log1p.c deleted file mode 100644 index 351c887e7..000000000 --- a/newlib/libm/common/s_log1p.c +++ /dev/null @@ -1,217 +0,0 @@ - -/* @(#)s_log1p.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 -<<log1p>>, <<log1pf>>---log of <<1 + <[x]>>> - -INDEX - log1p -INDEX - log1pf - -ANSI_SYNOPSIS - #include <math.h> - double log1p(double <[x]>); - float log1pf(float <[x]>); - -TRAD_SYNOPSIS - #include <math.h> - double log1p(<[x]>) - double <[x]>; - - float log1pf(<[x]>) - float <[x]>; - -DESCRIPTION -<<log1p>> calculates -@tex -$ln(1+x)$, -@end tex -the natural logarithm of <<1+<[x]>>>. You can use <<log1p>> rather -than `<<log(1+<[x]>)>>' for greater precision when <[x]> is very -small. - -<<log1pf>> calculates the same thing, but accepts and returns -<<float>> values rather than <<double>>. - -RETURNS -<<log1p>> returns a <<double>>, the natural log of <<1+<[x]>>>. -<<log1pf>> returns a <<float>>, the natural log of <<1+<[x]>>>. - -PORTABILITY -Neither <<log1p>> nor <<log1pf>> is required by ANSI C or by the System V -Interface Definition (Issue 2). - -*/ - -/* double log1p(double x) - * - * Method : - * 1. Argument Reduction: find k and f such that - * 1+x = 2^k * (1+f), - * where sqrt(2)/2 < 1+f < sqrt(2) . - * - * Note. If k=0, then f=x is exact. However, if k!=0, then f - * may not be representable exactly. In that case, a correction - * term is need. Let u=1+x rounded. Let c = (1+x)-u, then - * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), - * and add back the correction term c/u. - * (Note: when x > 2**53, one can simply return log(x)) - * - * 2. Approximation of log1p(f). - * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) - * = 2s + 2/3 s**3 + 2/5 s**5 + ....., - * = 2s + s*R - * We use a special Reme algorithm on [0,0.1716] to generate - * a polynomial of degree 14 to approximate R The maximum error - * of this polynomial approximation is bounded by 2**-58.45. In - * other words, - * 2 4 6 8 10 12 14 - * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s - * (the values of Lp1 to Lp7 are listed in the program) - * and - * | 2 14 | -58.45 - * | Lp1*s +...+Lp7*s - R(z) | <= 2 - * | | - * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. - * In order to guarantee error in log below 1ulp, we compute log - * by - * log1p(f) = f - (hfsq - s*(hfsq+R)). - * - * 3. Finally, log1p(x) = k*ln2 + log1p(f). - * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) - * Here ln2 is split into two floating point number: - * ln2_hi + ln2_lo, - * where n*ln2_hi is always exact for |n| < 2000. - * - * Special cases: - * log1p(x) is NaN with signal if x < -1 (including -INF) ; - * log1p(+INF) is +INF; log1p(-1) is -INF with signal; - * log1p(NaN) is that NaN with no signal. - * - * Accuracy: - * according to an error analysis, the error is always less than - * 1 ulp (unit in the last place). - * - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - * - * Note: Assuming log() return accurate answer, the following - * algorithm can be used to compute log1p(x) to within a few ULP: - * - * u = 1+x; - * if(u==1.0) return x ; else - * return log(u)*(x/(u-1.0)); - * - * See HP-15C Advanced Functions Handbook, p.193. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double -#else -static double -#endif -ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ -ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ -two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ -Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ -Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ -Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ -Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ -Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ -Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ -Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ - -#ifdef __STDC__ -static const double zero = 0.0; -#else -static double zero = 0.0; -#endif - -#ifdef __STDC__ - double log1p(double x) -#else - double log1p(x) - double x; -#endif -{ - double hfsq,f,c,s,z,R,u; - __int32_t k,hx,hu,ax; - - GET_HIGH_WORD(hx,x); - ax = hx&0x7fffffff; - - k = 1; - if (hx < 0x3FDA827A) { /* x < 0.41422 */ - if(ax>=0x3ff00000) { /* x <= -1.0 */ - if(x==-1.0) return -two54/zero; /* log1p(-1)=+inf */ - else return (x-x)/(x-x); /* log1p(x<-1)=NaN */ - } - if(ax<0x3e200000) { /* |x| < 2**-29 */ - if(two54+x>zero /* raise inexact */ - &&ax<0x3c900000) /* |x| < 2**-54 */ - return x; - else - return x - x*x*0.5; - } - if(hx>0||hx<=((__int32_t)0xbfd2bec3)) { - k=0;f=x;hu=1;} /* -0.2929<x<0.41422 */ - } - if (hx >= 0x7ff00000) return x+x; - if(k!=0) { - if(hx<0x43400000) { - u = 1.0+x; - GET_HIGH_WORD(hu,u); - k = (hu>>20)-1023; - c = (k>0)? 1.0-(u-x):x-(u-1.0);/* correction term */ - c /= u; - } else { - u = x; - GET_HIGH_WORD(hu,u); - k = (hu>>20)-1023; - c = 0; - } - hu &= 0x000fffff; - if(hu<0x6a09e) { - SET_HIGH_WORD(u,hu|0x3ff00000); /* normalize u */ - } else { - k += 1; - SET_HIGH_WORD(u,hu|0x3fe00000); /* normalize u/2 */ - hu = (0x00100000-hu)>>2; - } - f = u-1.0; - } - hfsq=0.5*f*f; - if(hu==0) { /* |f| < 2**-20 */ - if(f==zero) { if(k==0) return zero; - else {c += k*ln2_lo; return k*ln2_hi+c;}} - R = hfsq*(1.0-0.66666666666666666*f); - if(k==0) return f-R; else - return k*ln2_hi-((R-(k*ln2_lo+c))-f); - } - s = f/(2.0+f); - z = s*s; - R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7)))))); - if(k==0) return f-(hfsq-s*(hfsq+R)); else - return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_logb.c b/newlib/libm/common/s_logb.c deleted file mode 100644 index dbddd1994..000000000 --- a/newlib/libm/common/s_logb.c +++ /dev/null @@ -1,42 +0,0 @@ - -/* @(#)s_logb.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. - * ==================================================== - */ - -/* - * double logb(x) - * IEEE 754 logb. Included to pass IEEE test suite. Not recommend. - * Use ilogb instead. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double logb(double x) -#else - double logb(x) - double x; -#endif -{ - __int32_t lx,ix; - EXTRACT_WORDS(ix,lx,x); - ix &= 0x7fffffff; /* high |x| */ - if((ix|lx)==0) return -1.0/fabs(x); - if(ix>=0x7ff00000) return x*x; - if((ix>>=20)==0) /* IEEE 754 logb */ - return -1022.0; - else - return (double) (ix-1023); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_lrint.c b/newlib/libm/common/s_lrint.c deleted file mode 100644 index 7d3b561b1..000000000 --- a/newlib/libm/common/s_lrint.c +++ /dev/null @@ -1,107 +0,0 @@ - -/* @(#)s_lrint.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. - * ==================================================== - */ - -/* - * lrint(x) - * Return x rounded to integral value according to the prevailing - * rounding mode. - * Method: - * Using floating addition. - * Exception: - * Inexact flag raised if x not equal to lrint(x). - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double -#else -static double -#endif - -/* Adding a double, x, to 2^52 will cause the result to be rounded based on - the fractional part of x, according to the implementation's current rounding - mode. 2^52 is the smallest double that can be represented using all 52 significant - digits. */ -TWO52[2]={ - 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */ - -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */ -}; - -#ifdef __STDC__ - long int lrint(double x) -#else - long int lrint(x) - double x; -#endif -{ - __int32_t i0,j0,sx; - __uint32_t i1; - double t; - volatile double w; - long int result; - - EXTRACT_WORDS(i0,i1,x); - - /* Extract sign bit. */ - sx = (i0>>31)&1; - - /* Extract exponent field. */ - j0 = ((i0 & 0x7ff00000) >> 20) - 1023; - - if(j0 < 20) - { - if(j0 < -1) - return 0; - else - { - w = TWO52[sx] + x; - t = w - TWO52[sx]; - GET_HIGH_WORD(i0, t); - /* Detect the all-zeros representation of plus and - minus zero, which fails the calculation below. */ - if ((i0 & ~(1 << 31)) == 0) - return 0; - j0 = ((i0 & 0x7ff00000) >> 20) - 1023; - i0 &= 0x000fffff; - i0 |= 0x00100000; - result = i0 >> (20 - j0); - } - } - else if (j0 < (int)(8 * sizeof (long int)) - 1) - { - if (j0 >= 52) - result = ((long int) ((i0 & 0x000fffff) | 0x0010000) << (j0 - 20)) | - (i1 << (j0 - 52)); - else - { - w = TWO52[sx] + x; - t = w - TWO52[sx]; - EXTRACT_WORDS (i0, i1, t); - j0 = ((i0 & 0x7ff00000) >> 20) - 1023; - i0 &= 0x000fffff; - i0 |= 0x00100000; - result = ((long int) i0 << (j0 - 20)) | (i1 >> (52 - j0)); - } - } - else - { - return (long int) x; - } - - return sx ? -result : result; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_lround.c b/newlib/libm/common/s_lround.c deleted file mode 100644 index 7bd249f9c..000000000 --- a/newlib/libm/common/s_lround.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - long int lround(double x) -#else - long int lround(x) - double x; -#endif -{ - __int32_t sign, exponent_less_1023; - /* Most significant word, least significant word. */ - __uint32_t msw, lsw; - long int result; - - EXTRACT_WORDS(msw, lsw, x); - - /* Extract sign. */ - sign = ((msw & 0x80000000) ? -1 : 1); - /* Extract exponent field. */ - exponent_less_1023 = ((msw & 0x7ff00000) >> 20) - 1023; - msw &= 0x000fffff; - msw |= 0x00100000; - - if (exponent_less_1023 < 20) - { - if (exponent_less_1023 < 0) - { - if (exponent_less_1023 < -1) - return 0; - else - return sign; - } - else - { - msw += 0x80000 >> exponent_less_1023; - result = msw >> (20 - exponent_less_1023); - } - } - else if (exponent_less_1023 < (8 * sizeof (long int)) - 1) - { - if (exponent_less_1023 >= 52) - result = ((long int) msw << (exponent_less_1023 - 20)) | (lsw << (exponent_less_1023 - 52)); - else - { - unsigned int tmp = lsw + (0x80000000 >> (exponent_less_1023 - 20)); - if (tmp < lsw) - ++msw; - result = ((long int) msw << (exponent_less_1023 - 20)) | (tmp >> (52 - exponent_less_1023)); - } - } - else - /* Result is too large to be represented by a long int. */ - return (long int)x; - - return sign * result; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_matherr.c b/newlib/libm/common/s_matherr.c deleted file mode 100644 index 58e242834..000000000 --- a/newlib/libm/common/s_matherr.c +++ /dev/null @@ -1,123 +0,0 @@ - -/* @(#)s_matherr.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 - <<matherr>>---modifiable math error handler - -INDEX - matherr - -ANSI_SYNOPSIS - #include <math.h> - int matherr(struct exception *<[e]>); - -TRAD_SYNOPSIS - #include <math.h> - int matherr(*<[e]>) - struct exception *<[e]>; - -DESCRIPTION -<<matherr>> is called whenever a math library function generates an error. -You can replace <<matherr>> by your own subroutine to customize -error treatment. The customized <<matherr>> must return 0 if -it fails to resolve the error, and non-zero if the error is resolved. - -When <<matherr>> returns a nonzero value, no error message is printed -and the value of <<errno>> is not modified. You can accomplish either -or both of these things in your own <<matherr>> using the information -passed in the structure <<*<[e]>>>. - -This is the <<exception>> structure (defined in `<<math.h>>'): -. struct exception { -. int type; -. char *name; -. double arg1, arg2, retval; -. int err; -. }; - -The members of the exception structure have the following meanings: -o+ -o type -The type of mathematical error that occured; macros encoding error -types are also defined in `<<math.h>>'. - -o name -a pointer to a null-terminated string holding the -name of the math library function where the error occurred. - -o arg1, arg2 -The arguments which caused the error. - -o retval -The error return value (what the calling function will return). - -o err -If set to be non-zero, this is the new value assigned to <<errno>>. -o- - -The error types defined in `<<math.h>>' represent possible mathematical -errors as follows: - -o+ -o DOMAIN -An argument was not in the domain of the function; e.g. <<log(-1.0)>>. - -o SING -The requested calculation would result in a singularity; e.g. <<pow(0.0,-2.0)>> - -o OVERFLOW -A calculation would produce a result too large to represent; e.g. -<<exp(1000.0)>>. - -o UNDERFLOW -A calculation would produce a result too small to represent; e.g. -<<exp(-1000.0)>>. - -o TLOSS -Total loss of precision. The result would have no significant digits; -e.g. <<sin(10e70)>>. - -o PLOSS -Partial loss of precision. -o- - - -RETURNS -The library definition for <<matherr>> returns <<0>> in all cases. - -You can change the calling function's result from a customized <<matherr>> -by modifying <<e->retval>>, which propagates backs to the caller. - -If <<matherr>> returns <<0>> (indicating that it was not able to resolve -the error) the caller sets <<errno>> to an appropriate value, and prints -an error message. - -PORTABILITY -<<matherr>> is not ANSI C. -*/ - -#include "fdlibm.h" - -#ifdef __STDC__ - int matherr(struct exception *x) -#else - int matherr(x) - struct exception *x; -#endif -{ - int n=0; - if(x->arg1!=x->arg1) return 0; - return n; -} diff --git a/newlib/libm/common/s_modf.c b/newlib/libm/common/s_modf.c deleted file mode 100644 index 2e9bfb125..000000000 --- a/newlib/libm/common/s_modf.c +++ /dev/null @@ -1,131 +0,0 @@ - -/* @(#)s_modf.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 - <<modf>>, <<modff>>---split fractional and integer parts - -INDEX - modf -INDEX - modff - -ANSI_SYNOPSIS - #include <math.h> - double modf(double <[val]>, double *<[ipart]>); - float modff(float <[val]>, float *<[ipart]>); - -TRAD_SYNOPSIS - #include <math.h> - double modf(<[val]>, <[ipart]>) - double <[val]>; - double *<[ipart]>; - - float modff(<[val]>, <[ipart]>) - float <[val]>; - float *<[ipart]>; - -DESCRIPTION - <<modf>> splits the double <[val]> apart into an integer part - and a fractional part, returning the fractional part and - storing the integer part in <<*<[ipart]>>>. No rounding - whatsoever is done; the sum of the integer and fractional - parts is guaranteed to be exactly equal to <[val]>. That - is, if <[realpart]> = modf(<[val]>, &<[intpart]>); then - `<<<[realpart]>+<[intpart]>>>' is the same as <[val]>. - <<modff>> is identical, save that it takes and returns - <<float>> rather than <<double>> values. - -RETURNS - The fractional part is returned. Each result has the same - sign as the supplied argument <[val]>. - -PORTABILITY - <<modf>> is ANSI C. <<modff>> is an extension. - -QUICKREF - modf ansi pure - modff - pure - -*/ - -/* - * modf(double x, double *iptr) - * return fraction part of x, and return x's integral part in *iptr. - * Method: - * Bit twiddling. - * - * Exception: - * No exception. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double one = 1.0; -#else -static double one = 1.0; -#endif - -#ifdef __STDC__ - double modf(double x, double *iptr) -#else - double modf(x, iptr) - double x,*iptr; -#endif -{ - __int32_t i0,i1,j0; - __uint32_t i; - EXTRACT_WORDS(i0,i1,x); - j0 = ((i0>>20)&0x7ff)-0x3ff; /* exponent of x */ - if(j0<20) { /* integer part in high x */ - if(j0<0) { /* |x|<1 */ - INSERT_WORDS(*iptr,i0&0x80000000,0); /* *iptr = +-0 */ - return x; - } else { - i = (0x000fffff)>>j0; - if(((i0&i)|i1)==0) { /* x is integral */ - __uint32_t high; - *iptr = x; - GET_HIGH_WORD(high,x); - INSERT_WORDS(x,high&0x80000000,0); /* return +-0 */ - return x; - } else { - INSERT_WORDS(*iptr,i0&(~i),0); - return x - *iptr; - } - } - } else if (j0>51) { /* no fraction part */ - __uint32_t high; - *iptr = x*one; - GET_HIGH_WORD(high,x); - INSERT_WORDS(x,high&0x80000000,0); /* return +-0 */ - return x; - } else { /* fraction part in low x */ - i = ((__uint32_t)(0xffffffff))>>(j0-20); - if((i1&i)==0) { /* x is integral */ - __uint32_t high; - *iptr = x; - GET_HIGH_WORD(high,x); - INSERT_WORDS(x,high&0x80000000,0); /* return +-0 */ - return x; - } else { - INSERT_WORDS(*iptr,i0,i1&(~i)); - return x - *iptr; - } - } -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_nan.c b/newlib/libm/common/s_nan.c deleted file mode 100644 index 7ff4ef73e..000000000 --- a/newlib/libm/common/s_nan.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * nan () returns a nan. - * Added by Cygnus Support. - */ - -/* -FUNCTION - <<nan>>, <<nanf>>---representation of ``Not a Number'' - -INDEX - nan -INDEX - nanf - -ANSI_SYNOPSIS - #include <math.h> - double nan(const char *); - float nanf(const char *); - -TRAD_SYNOPSIS - #include <math.h> - double nan(); - float nanf(); - - -DESCRIPTION - <<nan>> and <<nanf>> return an IEEE NaN (Not a Number) in - double- and single-precision arithmetic respectively. The - argument is currently disregarded. - -QUICKREF - nan - pure - -*/ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - - double nan(const char *unused) -{ - double x; - - INSERT_WORDS(x,0x7ff80000,0); - return x; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_nearbyint.c b/newlib/libm/common/s_nearbyint.c deleted file mode 100644 index 25e629b65..000000000 --- a/newlib/libm/common/s_nearbyint.c +++ /dev/null @@ -1,27 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include <math.h> -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double nearbyint(double x) -#else - double nearbyint(x) - double x; -#endif -{ - return rint(x); -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_nextafter.c b/newlib/libm/common/s_nextafter.c deleted file mode 100644 index 3a7fa3fec..000000000 --- a/newlib/libm/common/s_nextafter.c +++ /dev/null @@ -1,121 +0,0 @@ - -/* @(#)s_nextafter.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 - <<nextafter>>, <<nextafterf>>---get next number - -INDEX - nextafter -INDEX - nextafterf - -ANSI_SYNOPSIS - #include <math.h> - double nextafter(double <[val]>, double <[dir]>); - float nextafterf(float <[val]>, float <[dir]>); - -TRAD_SYNOPSIS - #include <math.h> - - double nextafter(<[val]>, <[dir]>) - double <[val]>; - double <[exp]>; - - float nextafter(<[val]>, <[dir]>) - float <[val]>; - float <[dir]>; - - -DESCRIPTION -<<nextafter>> returns the double-precision floating-point number -closest to <[val]> in the direction toward <[dir]>. <<nextafterf>> -performs the same operation in single precision. For example, -<<nextafter(0.0,1.0)>> returns the smallest positive number which is -representable in double precision. - -RETURNS -Returns the next closest number to <[val]> in the direction toward -<[dir]>. - -PORTABILITY - Neither <<nextafter>> nor <<nextafterf>> is required by ANSI C - or by the System V Interface Definition (Issue 2). -*/ - -/* IEEE functions - * nextafter(x,y) - * return the next machine floating-point number of x in the - * direction toward y. - * Special cases: - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double nextafter(double x, double y) -#else - double nextafter(x,y) - double x,y; -#endif -{ - __int32_t hx,hy,ix,iy; - __uint32_t lx,ly; - - EXTRACT_WORDS(hx,lx,x); - EXTRACT_WORDS(hy,ly,y); - ix = hx&0x7fffffff; /* |x| */ - iy = hy&0x7fffffff; /* |y| */ - - if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) || /* x is nan */ - ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) /* y is nan */ - return x+y; - if(x==y) return x; /* x=y, return x */ - if((ix|lx)==0) { /* x == 0 */ - INSERT_WORDS(x,hy&0x80000000,1); /* return +-minsubnormal */ - y = x*x; - if(y==x) return y; else return x; /* raise underflow flag */ - } - if(hx>=0) { /* x > 0 */ - if(hx>hy||((hx==hy)&&(lx>ly))) { /* x > y, x -= ulp */ - if(lx==0) hx -= 1; - lx -= 1; - } else { /* x < y, x += ulp */ - lx += 1; - if(lx==0) hx += 1; - } - } else { /* x < 0 */ - if(hy>=0||hx>hy||((hx==hy)&&(lx>ly))){/* x < y, x -= ulp */ - if(lx==0) hx -= 1; - lx -= 1; - } else { /* x > y, x += ulp */ - lx += 1; - if(lx==0) hx += 1; - } - } - hy = hx&0x7ff00000; - if(hy>=0x7ff00000) return x+x; /* overflow */ - if(hy<0x00100000) { /* underflow */ - y = x*x; - if(y!=x) { /* raise underflow flag */ - INSERT_WORDS(y,hx,lx); - return y; - } - } - INSERT_WORDS(x,hx,lx); - return x; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_pow10.c b/newlib/libm/common/s_pow10.c deleted file mode 100644 index 16ec0046a..000000000 --- a/newlib/libm/common/s_pow10.c +++ /dev/null @@ -1,79 +0,0 @@ -/* @(#)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) */ diff --git a/newlib/libm/common/s_remquo.c b/newlib/libm/common/s_remquo.c deleted file mode 100644 index bd52f39fc..000000000 --- a/newlib/libm/common/s_remquo.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double remquo(double x, double y, int *quo) /* wrapper remquo */ -#else - double remquo(x,y,quo) /* wrapper remquo */ - double x,y; - int *quo; -#endif -{ - int signx, signy, signres; - int mswx; - int mswy; - double x_over_y; - - GET_HIGH_WORD(mswx, x); - GET_HIGH_WORD(mswy, y); - - signx = (mswx & 0x80000000) >> 31; - signy = (mswy & 0x80000000) >> 31; - - signres = (signx ^ signy) ? -1 : 1; - - x_over_y = fabs(x / y); - - *quo = signres * (lrint(x_over_y) & 0x7f); - - return remainder(x,y); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/s_rint.c b/newlib/libm/common/s_rint.c deleted file mode 100644 index ba33e4786..000000000 --- a/newlib/libm/common/s_rint.c +++ /dev/null @@ -1,90 +0,0 @@ - -/* @(#)s_rint.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. - * ==================================================== - */ - -/* - * rint(x) - * Return x rounded to integral value according to the prevailing - * rounding mode. - * Method: - * Using floating addition. - * Exception: - * Inexact flag raised if x not equal to rint(x). - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double -#else -static double -#endif -TWO52[2]={ - 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */ - -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */ -}; - -#ifdef __STDC__ - double rint(double x) -#else - double rint(x) - double x; -#endif -{ - __int32_t i0,j0,sx; - __uint32_t i,i1; - double t; - volatile double w; - EXTRACT_WORDS(i0,i1,x); - sx = (i0>>31)&1; - j0 = ((i0>>20)&0x7ff)-0x3ff; - if(j0<20) { - if(j0<0) { - if(((i0&0x7fffffff)|i1)==0) return x; - i1 |= (i0&0x0fffff); - i0 &= 0xfffe0000; - i0 |= ((i1|-i1)>>12)&0x80000; - SET_HIGH_WORD(x,i0); - w = TWO52[sx]+x; - t = w-TWO52[sx]; - GET_HIGH_WORD(i0,t); - SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31)); - return t; - } else { - i = (0x000fffff)>>j0; - if(((i0&i)|i1)==0) return x; /* x is integral */ - i>>=1; - if(((i0&i)|i1)!=0) { - if(j0==19) i1 = 0x40000000; else - i0 = (i0&(~i))|((0x20000)>>j0); - } - } - } else if (j0>51) { - if(j0==0x400) return x+x; /* inf or NaN */ - else return x; /* x is integral */ - } else { - i = ((__uint32_t)(0xffffffff))>>(j0-20); - if((i1&i)==0) return x; /* x is integral */ - i>>=1; - if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20)); - } - INSERT_WORDS(x,i0,i1); - w = TWO52[sx]+x; - return w-TWO52[sx]; -} - -#endif /* _DOUBLE_IS_32BITS */ - - - diff --git a/newlib/libm/common/s_round.c b/newlib/libm/common/s_round.c deleted file mode 100644 index 09f19de64..000000000 --- a/newlib/libm/common/s_round.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double round(double x) -#else - double round(x) - double x; -#endif -{ - /* Most significant word, least significant word. */ - __int32_t msw, exponent_less_1023; - __uint32_t lsw; - - EXTRACT_WORDS(msw, lsw, x); - - /* Extract exponent field. */ - exponent_less_1023 = ((msw & 0x7ff00000) >> 20) - 1023; - - if (exponent_less_1023 < 20) - { - if (exponent_less_1023 < 0) - { - msw &= 0x80000000; - if (exponent_less_1023 == -1) - /* Result is +1.0 or -1.0. */ - msw |= (1023 << 20); - lsw = 0; - } - else - { - __uint32_t exponent_mask = 0x000fffff >> exponent_less_1023; - if ((msw & exponent_mask) == 0 && lsw == 0) - /* x in an integral value. */ - return x; - - msw += 0x00080000 >> exponent_less_1023; - msw &= ~exponent_mask; - lsw = 0; - } - } - else if (exponent_less_1023 > 51) - { - if (exponent_less_1023 == 1024) - /* x is NaN or infinite. */ - return x + x; - else - return x; - } - else - { - __uint32_t exponent_mask = 0xffffffff >> (exponent_less_1023 - 20); - __uint32_t tmp; - - if ((lsw & exponent_mask) == 0) - /* x is an integral value. */ - return x; - - tmp = lsw + (1 << (51 - exponent_less_1023)); - if (tmp < lsw) - msw += 1; - lsw = tmp; - - lsw &= ~exponent_mask; - } - INSERT_WORDS(x, msw, lsw); - - return x; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_scalbln.c b/newlib/libm/common/s_scalbln.c deleted file mode 100644 index 5af9d89e7..000000000 --- a/newlib/libm/common/s_scalbln.c +++ /dev/null @@ -1,64 +0,0 @@ -/* @(#)s_scalbn.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. - * ==================================================== - */ - -/* - * scalbn (double x, int n) - * scalbn(x,n) returns x* 2**n computed by exponent - * manipulation rather than by actually performing an - * exponentiation or a multiplication. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double -#else -static double -#endif -two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ -twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */ -huge = 1.0e+300, -tiny = 1.0e-300; - -#ifdef __STDC__ - double scalbln (double x, long int n) -#else - double scalbln (x,n) - double x; long int n; -#endif -{ - __int32_t k,hx,lx; - EXTRACT_WORDS(hx,lx,x); - k = (hx&0x7ff00000)>>20; /* extract exponent */ - if (k==0) { /* 0 or subnormal x */ - if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */ - x *= two54; - GET_HIGH_WORD(hx,x); - k = ((hx&0x7ff00000)>>20) - 54; - } - if (k==0x7ff) return x+x; /* NaN or Inf */ - k = k+n; - if (n> 50000 || k > 0x7fe) - return huge*copysign(huge,x); /* overflow */ - if (n< -50000) return tiny*copysign(tiny,x); /*underflow*/ - if (k > 0) /* normal result */ - {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;} - if (k <= -54) - return tiny*copysign(tiny,x); /*underflow*/ - k += 54; /* subnormal result */ - SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); - return x*twom54; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_scalbn.c b/newlib/libm/common/s_scalbn.c deleted file mode 100644 index 5edf6b766..000000000 --- a/newlib/libm/common/s_scalbn.c +++ /dev/null @@ -1,104 +0,0 @@ - -/* @(#)s_scalbn.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 -<<scalbn>>, <<scalbnf>>---scale by power of two -INDEX - scalbn -INDEX - scalbnf - -ANSI_SYNOPSIS - #include <math.h> - double scalbn(double <[x]>, int <[y]>); - float scalbnf(float <[x]>, int <[y]>); - -TRAD_SYNOPSIS - #include <math.h> - double scalbn(<[x]>,<[y]>) - double <[x]>; - int <[y]>; - float scalbnf(<[x]>,<[y]>) - float <[x]>; - int <[y]>; - -DESCRIPTION -<<scalbn>> and <<scalbnf>> scale <[x]> by <[n]>, returning <[x]> times -2 to the power <[n]>. The result is computed by manipulating the -exponent, rather than by actually performing an exponentiation or -multiplication. - -RETURNS -<[x]> times 2 to the power <[n]>. - -PORTABILITY -Neither <<scalbn>> nor <<scalbnf>> is required by ANSI C or by the System V -Interface Definition (Issue 2). - -*/ - -/* - * scalbn (double x, int n) - * scalbn(x,n) returns x* 2**n computed by exponent - * manipulation rather than by actually performing an - * exponentiation or a multiplication. - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ -static const double -#else -static double -#endif -two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ -twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */ -huge = 1.0e+300, -tiny = 1.0e-300; - -#ifdef __STDC__ - double scalbn (double x, int n) -#else - double scalbn (x,n) - double x; int n; -#endif -{ - __int32_t k,hx,lx; - EXTRACT_WORDS(hx,lx,x); - k = (hx&0x7ff00000)>>20; /* extract exponent */ - if (k==0) { /* 0 or subnormal x */ - if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */ - x *= two54; - GET_HIGH_WORD(hx,x); - k = ((hx&0x7ff00000)>>20) - 54; - if (n< -50000) return tiny*x; /*underflow*/ - } - if (k==0x7ff) return x+x; /* NaN or Inf */ - k = k+n; - if (k > 0x7fe) return huge*copysign(huge,x); /* overflow */ - if (k > 0) /* normal result */ - {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;} - if (k <= -54) { - if (n > 50000) /* in case integer overflow in n+k */ - return huge*copysign(huge,x); /*overflow*/ - else return tiny*copysign(tiny,x); /*underflow*/ - } - k += 54; /* subnormal result */ - SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); - return x*twom54; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/s_signbit.c b/newlib/libm/common/s_signbit.c deleted file mode 100644 index d7d49cbb1..000000000 --- a/newlib/libm/common/s_signbit.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -int __signbitf (float x); -int __signbitd (double x); - -int -__signbitf (float x) -{ - unsigned int w; - - GET_FLOAT_WORD(w,x); - - return (w & 0x80000000); -} - -int -__signbitd (double x) -{ - unsigned int msw; - - GET_HIGH_WORD(msw, x); - - return (msw & 0x80000000); -} diff --git a/newlib/libm/common/s_trunc.c b/newlib/libm/common/s_trunc.c deleted file mode 100644 index c3ca154d9..000000000 --- a/newlib/libm/common/s_trunc.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double trunc(double x) -#else - double trunc(x) - double x; -#endif -{ - int signbit; - /* Most significant word, least significant word. */ - int msw; - unsigned int lsw; - int exponent_less_1023; - - EXTRACT_WORDS(msw, lsw, x); - - /* Extract sign bit. */ - signbit = msw & 0x80000000; - - /* Extract exponent field. */ - exponent_less_1023 = ((msw & 0x7ff00000) >> 20) - 1023; - - if (exponent_less_1023 < 20) - { - /* All significant digits are in msw. */ - if (exponent_less_1023 < 0) - { - /* -1 < x < 1, so result is +0 or -0. */ - INSERT_WORDS(x, signbit, 0); - } - else - { - /* All relevant fraction bits are in msw, so lsw of the result is 0. */ - INSERT_WORDS(x, signbit | (msw & ~(0x000fffff >> exponent_less_1023)), 0); - } - } - else if (exponent_less_1023 > 51) - { - if (exponent_less_1023 == 1024) - { - /* x is infinite, or not a number, so trigger an exception. */ - return x + x; - } - /* All bits in the fraction fields of the msw and lsw are needed in the result. */ - } - else - { - /* All fraction bits in msw are relevant. Truncate irrelevant - bits from lsw. */ - INSERT_WORDS(x, msw, lsw & ~(0xffffffffu >> (exponent_less_1023 - 20))); - } - return x; -} - -#endif /* _DOUBLE_IS_32BITS */ diff --git a/newlib/libm/common/sf_cbrt.c b/newlib/libm/common/sf_cbrt.c deleted file mode 100644 index fe632f0a8..000000000 --- a/newlib/libm/common/sf_cbrt.c +++ /dev/null @@ -1,94 +0,0 @@ -/* sf_cbrt.c -- float version of s_cbrt.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - * - */ - -#include "fdlibm.h" - -/* cbrtf(x) - * Return cube root of x - */ -#ifdef __STDC__ -static const __uint32_t -#else -static __uint32_t -#endif - B1 = 709958130, /* B1 = (84+2/3-0.03306235651)*2**23 */ - B2 = 642849266; /* B2 = (76+2/3-0.03306235651)*2**23 */ - -#ifdef __STDC__ -static const float -#else -static float -#endif -C = 5.4285717010e-01, /* 19/35 = 0x3f0af8b0 */ -D = -7.0530611277e-01, /* -864/1225 = 0xbf348ef1 */ -E = 1.4142856598e+00, /* 99/70 = 0x3fb50750 */ -F = 1.6071428061e+00, /* 45/28 = 0x3fcdb6db */ -G = 3.5714286566e-01; /* 5/14 = 0x3eb6db6e */ - -#ifdef __STDC__ - float cbrtf(float x) -#else - float cbrtf(x) - float x; -#endif -{ - __int32_t hx; - float r,s,t; - __uint32_t sign; - __uint32_t high; - - GET_FLOAT_WORD(hx,x); - sign=hx&0x80000000; /* sign= sign(x) */ - hx ^=sign; - if(!FLT_UWORD_IS_FINITE(hx)) - return(x+x); /* cbrt(NaN,INF) is itself */ - if(FLT_UWORD_IS_ZERO(hx)) - return(x); /* cbrt(0) is itself */ - - SET_FLOAT_WORD(x,hx); /* x <- |x| */ - /* rough cbrt to 5 bits */ - if(FLT_UWORD_IS_SUBNORMAL(hx)) /* subnormal number */ - {SET_FLOAT_WORD(t,0x4b800000); /* set t= 2**24 */ - t*=x; GET_FLOAT_WORD(high,t); SET_FLOAT_WORD(t,high/3+B2); - } - else - SET_FLOAT_WORD(t,hx/3+B1); - - - /* new cbrt to 23 bits */ - r=t*t/x; - s=C+r*t; - t*=G+F/(s+E+D/s); - - /* retore the sign bit */ - GET_FLOAT_WORD(high,t); - SET_FLOAT_WORD(t,high|sign); - return(t); -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double cbrt(double x) -#else - double cbrt(x) - double x; -#endif -{ - return (double) cbrtf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_copysign.c b/newlib/libm/common/sf_copysign.c deleted file mode 100644 index f547c82ed..000000000 --- a/newlib/libm/common/sf_copysign.c +++ /dev/null @@ -1,50 +0,0 @@ -/* sf_copysign.c -- float version of s_copysign.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -/* - * copysignf(float x, float y) - * copysignf(x,y) returns a value with the magnitude of x and - * with the sign bit of y. - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float copysignf(float x, float y) -#else - float copysignf(x,y) - float x,y; -#endif -{ - __uint32_t ix,iy; - GET_FLOAT_WORD(ix,x); - GET_FLOAT_WORD(iy,y); - SET_FLOAT_WORD(x,(ix&0x7fffffff)|(iy&0x80000000)); - return x; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double copysign(double x, double y) -#else - double copysign(x,y) - double x,y; -#endif -{ - return (double) copysignf((float) x, (float) y); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_exp10.c b/newlib/libm/common/sf_exp10.c deleted file mode 100644 index eb70a9c52..000000000 --- a/newlib/libm/common/sf_exp10.c +++ /dev/null @@ -1,47 +0,0 @@ -/* 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) */ diff --git a/newlib/libm/common/sf_expm1.c b/newlib/libm/common/sf_expm1.c deleted file mode 100644 index 4ba3b815a..000000000 --- a/newlib/libm/common/sf_expm1.c +++ /dev/null @@ -1,145 +0,0 @@ -/* sf_expm1.c -- float version of s_expm1.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __v810__ -#define const -#endif - -#ifdef __STDC__ -static const float -#else -static float -#endif -one = 1.0, -huge = 1.0e+30, -tiny = 1.0e-30, -ln2_hi = 6.9313812256e-01,/* 0x3f317180 */ -ln2_lo = 9.0580006145e-06,/* 0x3717f7d1 */ -invln2 = 1.4426950216e+00,/* 0x3fb8aa3b */ - /* scaled coefficients related to expm1 */ -Q1 = -3.3333335072e-02, /* 0xbd088889 */ -Q2 = 1.5873016091e-03, /* 0x3ad00d01 */ -Q3 = -7.9365076090e-05, /* 0xb8a670cd */ -Q4 = 4.0082177293e-06, /* 0x36867e54 */ -Q5 = -2.0109921195e-07; /* 0xb457edbb */ - -#ifdef __STDC__ - float expm1f(float x) -#else - float expm1f(x) - float x; -#endif -{ - float y,hi,lo,c,t,e,hxs,hfx,r1; - __int32_t k,xsb; - __uint32_t hx; - - GET_FLOAT_WORD(hx,x); - xsb = hx&0x80000000; /* sign bit of x */ - if(xsb==0) y=x; else y= -x; /* y = |x| */ - hx &= 0x7fffffff; /* high word of |x| */ - - /* filter out huge and non-finite argument */ - if(hx >= 0x4195b844) { /* if |x|>=27*ln2 */ - if(FLT_UWORD_IS_NAN(hx)) - return x+x; - if(FLT_UWORD_IS_INFINITE(hx)) - return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */ - if(xsb == 0 && hx > FLT_UWORD_LOG_MAX) /* if x>=o_threshold */ - return huge*huge; /* overflow */ - if(xsb!=0) { /* x < -27*ln2, return -1.0 with inexact */ - if(x+tiny<(float)0.0) /* raise inexact */ - return tiny-one; /* return -1 */ - } - } - - /* argument reduction */ - if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */ - if(hx < 0x3F851592) { /* and |x| < 1.5 ln2 */ - if(xsb==0) - {hi = x - ln2_hi; lo = ln2_lo; k = 1;} - else - {hi = x + ln2_hi; lo = -ln2_lo; k = -1;} - } else { - k = invln2*x+((xsb==0)?(float)0.5:(float)-0.5); - t = k; - hi = x - t*ln2_hi; /* t*ln2_hi is exact here */ - lo = t*ln2_lo; - } - x = hi - lo; - c = (hi-x)-lo; - } - else if(hx < 0x33000000) { /* when |x|<2**-25, return x */ - t = huge+x; /* return x with inexact flags when x!=0 */ - return x - (t-(huge+x)); - } - else k = 0; - - /* x is now in primary range */ - hfx = (float)0.5*x; - hxs = x*hfx; - r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5)))); - t = (float)3.0-r1*hfx; - e = hxs*((r1-t)/((float)6.0 - x*t)); - if(k==0) return x - (x*e-hxs); /* c is 0 */ - else { - e = (x*(e-c)-c); - e -= hxs; - if(k== -1) return (float)0.5*(x-e)-(float)0.5; - if(k==1) { - if(x < (float)-0.25) return -(float)2.0*(e-(x+(float)0.5)); - else return one+(float)2.0*(x-e); - } - if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ - __int32_t i; - y = one-(e-x); - GET_FLOAT_WORD(i,y); - SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - return y-one; - } - t = one; - if(k<23) { - __int32_t i; - SET_FLOAT_WORD(t,0x3f800000 - (0x1000000>>k)); /* t=1-2^-k */ - y = t-(e-x); - GET_FLOAT_WORD(i,y); - SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - } else { - __int32_t i; - SET_FLOAT_WORD(t,((0x7f-k)<<23)); /* 2^-k */ - y = x-(e+t); - y += one; - GET_FLOAT_WORD(i,y); - SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - } - } - return y; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double expm1(double x) -#else - double expm1(x) - double x; -#endif -{ - return (double) expm1f((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_fdim.c b/newlib/libm/common/sf_fdim.c deleted file mode 100644 index 80221ace1..000000000 --- a/newlib/libm/common/sf_fdim.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float fdimf(float x, float y) -#else - float fdimf(x,y) - float x; - float y; -#endif -{ - int c = __fpclassifyf(x); - if (c == FP_NAN || c == FP_INFINITE) - return HUGE_VAL; - - return x > y ? x - y : 0.0; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fdim(double x, double y) -#else - double fdim(x,y) - double x; - double y; -#endif -{ - return (double) fdimf((float) x, (float) y); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_finite.c b/newlib/libm/common/sf_finite.c deleted file mode 100644 index cb7026fbd..000000000 --- a/newlib/libm/common/sf_finite.c +++ /dev/null @@ -1,48 +0,0 @@ -/* sf_finite.c -- float version of s_finite.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -/* - * finitef(x) returns 1 is x is finite, else 0; - * no branching! - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - int finitef(float x) -#else - int finitef(x) - float x; -#endif -{ - __int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - return (FLT_UWORD_IS_FINITE(ix)); -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - int finite(double x) -#else - int finite(x) - double x; -#endif -{ - return finitef((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_fma.c b/newlib/libm/common/sf_fma.c deleted file mode 100644 index 3b4bcc1ce..000000000 --- a/newlib/libm/common/sf_fma.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float fmaf(float x, float y, float z) -#else - float fmaf(x,y,z) - float x; - float y; - float z; -#endif -{ - /* Let the implementation handle this. */ - return (x * y) + z; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fma(double x, double y, double z) -#else - double fma(x,y,z) - double x; - double y; - double z; -#endif -{ - return (double) fmaf((float) x, (float) y, (float) z); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_fmax.c b/newlib/libm/common/sf_fmax.c deleted file mode 100644 index ac1bf46f5..000000000 --- a/newlib/libm/common/sf_fmax.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float fmaxf(float x, float y) -#else - float fmaxf(x,y) - float x; - float y; -#endif -{ - if (__fpclassifyf(x) == FP_NAN) - return y; - if (__fpclassifyf(y) == FP_NAN) - return x; - - return x > y ? x : y; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fmax(double x, double y) -#else - double fmax(x,y) - double x; - double y; -#endif -{ - return (double) fmaxf((float) x, (float) y); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_fmin.c b/newlib/libm/common/sf_fmin.c deleted file mode 100644 index f0e344455..000000000 --- a/newlib/libm/common/sf_fmin.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float fminf(float x, float y) -#else - float fminf(x,y) - float x; - float y; -#endif -{ - if (__fpclassifyf(x) == FP_NAN) - return y; - if (__fpclassifyf(y) == FP_NAN) - return x; - - return x < y ? x : y; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double fmin(double x, double y) -#else - double fmin(x,y) - double x; - double y; -#endif -{ - return (double) fminf((float) x, (float) y); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_fpclassify.c b/newlib/libm/common/sf_fpclassify.c deleted file mode 100644 index 878457f39..000000000 --- a/newlib/libm/common/sf_fpclassify.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2002,2007 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -int -__fpclassifyf (float x) -{ - __uint32_t w; - - GET_FLOAT_WORD(w,x); - - if (w == 0x00000000 || w == 0x80000000) - return FP_ZERO; - else if ((w >= 0x00800000 && w <= 0x7f7fffff) || - (w >= 0x80800000 && w <= 0xff7fffff)) - return FP_NORMAL; - else if ((w >= 0x00000001 && w <= 0x007fffff) || - (w >= 0x80000001 && w <= 0x807fffff)) - return FP_SUBNORMAL; - else if (w == 0x7f800000 || w == 0xff800000) - return FP_INFINITE; - else - return FP_NAN; -} - diff --git a/newlib/libm/common/sf_ilogb.c b/newlib/libm/common/sf_ilogb.c deleted file mode 100644 index ec59406e1..000000000 --- a/newlib/libm/common/sf_ilogb.c +++ /dev/null @@ -1,52 +0,0 @@ -/* sf_ilogb.c -- float version of s_ilogb.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" -#include <limits.h> - -#ifdef __STDC__ - int ilogbf(float x) -#else - int ilogbf(x) - float x; -#endif -{ - __int32_t hx,ix; - - GET_FLOAT_WORD(hx,x); - hx &= 0x7fffffff; - if(FLT_UWORD_IS_ZERO(hx)) - return - INT_MAX; /* ilogb(0) = 0x80000001 */ - if(FLT_UWORD_IS_SUBNORMAL(hx)) { - for (ix = -126,hx<<=8; hx>0; hx<<=1) ix -=1; - return ix; - } - else if (!FLT_UWORD_IS_FINITE(hx)) return INT_MAX; - else return (hx>>23)-127; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - int ilogb(double x) -#else - int ilogb(x) - double x; -#endif -{ - return ilogbf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_infinity.c b/newlib/libm/common/sf_infinity.c deleted file mode 100644 index 8722596c9..000000000 --- a/newlib/libm/common/sf_infinity.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * infinityf () returns the representation of infinity. - * Added by Cygnus Support. - */ - -#include "fdlibm.h" - - float infinityf() -{ - float x; - - SET_FLOAT_WORD(x,0x7f800000); - return x; -} - -#ifdef _DOUBLE_IS_32BITS - - double infinity() -{ - return (double) infinityf(); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_isinf.c b/newlib/libm/common/sf_isinf.c deleted file mode 100644 index 74ba4edf7..000000000 --- a/newlib/libm/common/sf_isinf.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * isinff(x) returns 1 if x is +-infinity, else 0; - * - * isinff is an extension declared in <ieeefp.h> and - * <math.h>. - */ - -#include "fdlibm.h" - -int -_DEFUN (isinff, (x), - float x) -{ - __int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - return FLT_UWORD_IS_INFINITE(ix); -} - -#ifdef _DOUBLE_IS_32BITS - -#undef isinf - -int -_DEFUN (isinf, (x), - double x) -{ - return isinff((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_isinff.c b/newlib/libm/common/sf_isinff.c deleted file mode 100644 index 9d0e742e5..000000000 --- a/newlib/libm/common/sf_isinff.c +++ /dev/null @@ -1,27 +0,0 @@ -/* - * __isinff(x) returns 1 if x is +-infinity, else 0; - * Added by Cygnus Support. - */ - -#include "fdlibm.h" - -int -_DEFUN (__isinff, (x), - float x) -{ - __int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - return FLT_UWORD_IS_INFINITE(ix); -} - -#ifdef _DOUBLE_IS_32BITS - -int -_DEFUN (__isinfd, (x), - double x) -{ - return __isinff((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_isnan.c b/newlib/libm/common/sf_isnan.c deleted file mode 100644 index befc3b2b2..000000000 --- a/newlib/libm/common/sf_isnan.c +++ /dev/null @@ -1,44 +0,0 @@ -/* sf_c_isnan.c -- float version of s_c_isnan.c. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -/* - * isnanf(x) returns 1 is x is nan, else 0; - * - * isnanf is an extension declared in <ieeefp.h> and <math.h>. - */ - -#include "fdlibm.h" - -int -_DEFUN (isnanf, (x), - float x) -{ - __int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - return FLT_UWORD_IS_NAN(ix); -} - -#ifdef _DOUBLE_IS_32BITS - -#undef isnan - -int -_DEFUN (isnan, (x), - double x) -{ - return isnanf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_isnanf.c b/newlib/libm/common/sf_isnanf.c deleted file mode 100644 index 0b0d9bbaf..000000000 --- a/newlib/libm/common/sf_isnanf.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -/* - * __isnanf(x) returns 1 is x is nan, else 0; - */ - -#include "fdlibm.h" - -int -_DEFUN (__isnanf, (x), - float x) -{ - __int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - return FLT_UWORD_IS_NAN(ix); -} - -#ifdef _DOUBLE_IS_32BITS - -int -_DEFUN (__isnand, (x), - double x) -{ - return __isnanf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_log1p.c b/newlib/libm/common/sf_log1p.c deleted file mode 100644 index e09170f3e..000000000 --- a/newlib/libm/common/sf_log1p.c +++ /dev/null @@ -1,121 +0,0 @@ -/* sf_log1p.c -- float version of s_log1p.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ -static const float -#else -static float -#endif -ln2_hi = 6.9313812256e-01, /* 0x3f317180 */ -ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */ -two25 = 3.355443200e+07, /* 0x4c000000 */ -Lp1 = 6.6666668653e-01, /* 3F2AAAAB */ -Lp2 = 4.0000000596e-01, /* 3ECCCCCD */ -Lp3 = 2.8571429849e-01, /* 3E924925 */ -Lp4 = 2.2222198546e-01, /* 3E638E29 */ -Lp5 = 1.8183572590e-01, /* 3E3A3325 */ -Lp6 = 1.5313838422e-01, /* 3E1CD04F */ -Lp7 = 1.4798198640e-01; /* 3E178897 */ - -#ifdef __STDC__ -static const float zero = 0.0; -#else -static float zero = 0.0; -#endif - -#ifdef __STDC__ - float log1pf(float x) -#else - float log1pf(x) - float x; -#endif -{ - float hfsq,f,c,s,z,R,u; - __int32_t k,hx,hu,ax; - - GET_FLOAT_WORD(hx,x); - ax = hx&0x7fffffff; - - k = 1; - if (!FLT_UWORD_IS_FINITE(hx)) return x+x; - if (hx < 0x3ed413d7) { /* x < 0.41422 */ - if(ax>=0x3f800000) { /* x <= -1.0 */ - if(x==(float)-1.0) return -two25/zero; /* log1p(-1)=+inf */ - else return (x-x)/(x-x); /* log1p(x<-1)=NaN */ - } - if(ax<0x31000000) { /* |x| < 2**-29 */ - if(two25+x>zero /* raise inexact */ - &&ax<0x24800000) /* |x| < 2**-54 */ - return x; - else - return x - x*x*(float)0.5; - } - if(hx>0||hx<=((__int32_t)0xbe95f61f)) { - k=0;f=x;hu=1;} /* -0.2929<x<0.41422 */ - } - if(k!=0) { - if(hx<0x5a000000) { - u = (float)1.0+x; - GET_FLOAT_WORD(hu,u); - k = (hu>>23)-127; - /* correction term */ - c = (k>0)? (float)1.0-(u-x):x-(u-(float)1.0); - c /= u; - } else { - u = x; - GET_FLOAT_WORD(hu,u); - k = (hu>>23)-127; - c = 0; - } - hu &= 0x007fffff; - if(hu<0x3504f7) { - SET_FLOAT_WORD(u,hu|0x3f800000);/* normalize u */ - } else { - k += 1; - SET_FLOAT_WORD(u,hu|0x3f000000); /* normalize u/2 */ - hu = (0x00800000-hu)>>2; - } - f = u-(float)1.0; - } - hfsq=(float)0.5*f*f; - if(hu==0) { /* |f| < 2**-20 */ - if(f==zero) { if(k==0) return zero; - else {c += k*ln2_lo; return k*ln2_hi+c;}} - R = hfsq*((float)1.0-(float)0.66666666666666666*f); - if(k==0) return f-R; else - return k*ln2_hi-((R-(k*ln2_lo+c))-f); - } - s = f/((float)2.0+f); - z = s*s; - R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7)))))); - if(k==0) return f-(hfsq-s*(hfsq+R)); else - return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f); -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double log1p(double x) -#else - double log1p(x) - double x; -#endif -{ - return (double) log1pf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_logb.c b/newlib/libm/common/sf_logb.c deleted file mode 100644 index f193f91f6..000000000 --- a/newlib/libm/common/sf_logb.c +++ /dev/null @@ -1,48 +0,0 @@ -/* sf_logb.c -- float version of s_logb.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float logbf(float x) -#else - float logbf(x) - float x; -#endif -{ - __int32_t ix; - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; /* high |x| */ - if(FLT_UWORD_IS_ZERO(ix)) return (float)-1.0/fabsf(x); - if(!FLT_UWORD_IS_FINITE(ix)) return x*x; - if((ix>>=23)==0) /* IEEE 754 logb */ - return -126.0; - else - return (float) (ix-127); -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double logb(double x) -#else - double logb(x) - double x; -#endif -{ - return (double) logbf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_lrint.c b/newlib/libm/common/sf_lrint.c deleted file mode 100644 index 3165705d1..000000000 --- a/newlib/libm/common/sf_lrint.c +++ /dev/null @@ -1,101 +0,0 @@ - -/* @(#)sf_lrint.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. - * ==================================================== - */ - -/* - * lrintf(x) - * Return x rounded to integral value according to the prevailing - * rounding mode. - * Method: - * Using floating addition. - * Exception: - * Inexact flag raised if x not equal to lrintf(x). - */ - -#include "fdlibm.h" - -#ifdef __STDC__ -static const float -#else -static float -#endif -/* Adding a float, x, to 2^23 will cause the result to be rounded based on - the fractional part of x, according to the implementation's current rounding - mode. 2^23 is the smallest float that can be represented using all 23 significant - digits. */ -TWO23[2]={ - 8.3886080000e+06, /* 0x4b000000 */ - -8.3886080000e+06, /* 0xcb000000 */ -}; - -#ifdef __STDC__ - long int lrintf(float x) -#else - long int lrintf(x) - float x; -#endif -{ - __int32_t j0,sx; - __uint32_t i0; - float t; - volatile float w; - long int result; - - GET_FLOAT_WORD(i0,x); - - /* Extract sign bit. */ - sx = (i0 >> 31); - - /* Extract exponent field. */ - j0 = ((i0 & 0x7f800000) >> 23) - 127; - - if (j0 < (int)(sizeof (long int) * 8) - 1) - { - if (j0 < -1) - return 0; - else if (j0 >= 23) - result = (long int) ((i0 & 0x7fffff) | 0x800000) << (j0 - 23); - else - { - w = TWO23[sx] + x; - t = w - TWO23[sx]; - GET_FLOAT_WORD (i0, t); - /* Detect the all-zeros representation of plus and - minus zero, which fails the calculation below. */ - if ((i0 & ~(1 << 31)) == 0) - return 0; - j0 = ((i0 >> 23) & 0xff) - 0x7f; - i0 &= 0x7fffff; - i0 |= 0x800000; - result = i0 >> (23 - j0); - } - } - else - { - return (long int) x; - } - return sx ? -result : result; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - long int lrint(double x) -#else - long int lrint(x) - double x; -#endif -{ - return (double) lrintf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_lround.c b/newlib/libm/common/sf_lround.c deleted file mode 100644 index eee420b93..000000000 --- a/newlib/libm/common/sf_lround.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - long int lroundf(float x) -#else - long int lroundf(x) - float x; -#endif -{ - __int32_t exponent_less_127; - __uint32_t w; - long int result; - __int32_t sign; - - GET_FLOAT_WORD (w, x); - exponent_less_127 = ((w & 0x7f800000) >> 23) - 127; - sign = (w & 0x80000000) != 0 ? -1 : 1; - w &= 0x7fffff; - w |= 0x800000; - - if (exponent_less_127 < (int)((8 * sizeof (long int)) - 1)) - { - if (exponent_less_127 < 0) - return exponent_less_127 < -1 ? 0 : sign; - else if (exponent_less_127 >= 23) - result = (long int) w << (exponent_less_127 - 23); - else - { - w += 0x400000 >> exponent_less_127; - result = w >> (23 - exponent_less_127); - } - } - else - return (long int) x; - - return sign * result; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - long int lround(double x) -#else - long int lround(x) - double x; -#endif -{ - return (double) lroundf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_modf.c b/newlib/libm/common/sf_modf.c deleted file mode 100644 index 6c64e3fa0..000000000 --- a/newlib/libm/common/sf_modf.c +++ /dev/null @@ -1,73 +0,0 @@ -/* sf_modf.c -- float version of s_modf.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ -static const float one = 1.0; -#else -static float one = 1.0; -#endif - -#ifdef __STDC__ - float modff(float x, float *iptr) -#else - float modff(x, iptr) - float x,*iptr; -#endif -{ - __int32_t i0,j0; - __uint32_t i; - GET_FLOAT_WORD(i0,x); - j0 = ((i0>>23)&0xff)-0x7f; /* exponent of x */ - if(j0<23) { /* integer part in x */ - if(j0<0) { /* |x|<1 */ - SET_FLOAT_WORD(*iptr,i0&0x80000000); /* *iptr = +-0 */ - return x; - } else { - i = (0x007fffff)>>j0; - if((i0&i)==0) { /* x is integral */ - __uint32_t ix; - *iptr = x; - GET_FLOAT_WORD(ix,x); - SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */ - return x; - } else { - SET_FLOAT_WORD(*iptr,i0&(~i)); - return x - *iptr; - } - } - } else { /* no fraction part */ - __uint32_t ix; - *iptr = x*one; - GET_FLOAT_WORD(ix,x); - SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */ - return x; - } -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double modf(double x, double *iptr) -#else - double modf(x, iptr) - double x,*iptr; -#endif -{ - return (double) modff((float) x, (float *) iptr); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_nan.c b/newlib/libm/common/sf_nan.c deleted file mode 100644 index 831f3f79f..000000000 --- a/newlib/libm/common/sf_nan.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * nanf () returns a nan. - * Added by Cygnus Support. - */ - -#include "fdlibm.h" - - float nanf(const char *unused) -{ - float x; - - SET_FLOAT_WORD(x,0x7fc00000); - return x; -} - -#ifdef _DOUBLE_IS_32BITS - - double nan(const char *arg) -{ - return (double) nanf(arg); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ - diff --git a/newlib/libm/common/sf_nearbyint.c b/newlib/libm/common/sf_nearbyint.c deleted file mode 100644 index 0073b6d65..000000000 --- a/newlib/libm/common/sf_nearbyint.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - - -#include <math.h> -#include "fdlibm.h" - -#ifdef __STDC__ - float nearbyintf(float x) -#else - float nearbyintf(x) - float x; -#endif -{ - return rintf(x); -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double nearbyint(double x) -#else - double nearbyint(x) - double x; -#endif -{ - return (double) nearbyintf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_nextafter.c b/newlib/libm/common/sf_nextafter.c deleted file mode 100644 index cea4da58d..000000000 --- a/newlib/libm/common/sf_nextafter.c +++ /dev/null @@ -1,79 +0,0 @@ -/* sf_nextafter.c -- float version of s_nextafter.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float nextafterf(float x, float y) -#else - float nextafterf(x,y) - float x,y; -#endif -{ - __int32_t hx,hy,ix,iy; - - GET_FLOAT_WORD(hx,x); - GET_FLOAT_WORD(hy,y); - ix = hx&0x7fffffff; /* |x| */ - iy = hy&0x7fffffff; /* |y| */ - - if(FLT_UWORD_IS_NAN(ix) || - FLT_UWORD_IS_NAN(iy)) - return x+y; - if(x==y) return x; /* x=y, return x */ - if(FLT_UWORD_IS_ZERO(ix)) { /* x == 0 */ - SET_FLOAT_WORD(x,(hy&0x80000000)|FLT_UWORD_MIN); - y = x*x; - if(y==x) return y; else return x; /* raise underflow flag */ - } - if(hx>=0) { /* x > 0 */ - if(hx>hy) { /* x > y, x -= ulp */ - hx -= 1; - } else { /* x < y, x += ulp */ - hx += 1; - } - } else { /* x < 0 */ - if(hy>=0||hx>hy){ /* x < y, x -= ulp */ - hx -= 1; - } else { /* x > y, x += ulp */ - hx += 1; - } - } - hy = hx&0x7f800000; - if(hy>FLT_UWORD_MAX) return x+x; /* overflow */ - if(hy<0x00800000) { /* underflow */ - y = x*x; - if(y!=x) { /* raise underflow flag */ - SET_FLOAT_WORD(y,hx); - return y; - } - } - SET_FLOAT_WORD(x,hx); - return x; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double nextafter(double x, double y) -#else - double nextafter(x,y) - double x,y; -#endif -{ - return (double) nextafterf((float) x, (float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_pow10.c b/newlib/libm/common/sf_pow10.c deleted file mode 100644 index 116afac7e..000000000 --- a/newlib/libm/common/sf_pow10.c +++ /dev/null @@ -1,47 +0,0 @@ -/* 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) */ diff --git a/newlib/libm/common/sf_remquo.c b/newlib/libm/common/sf_remquo.c deleted file mode 100644 index 41c2038d4..000000000 --- a/newlib/libm/common/sf_remquo.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float remquof(float x, float y, int *quo) /* wrapper remquof */ -#else - float remquof(x,y,quo) /* wrapper remquof */ - float x,y; - int *quo; -#endif -{ - int signx, signy, signres; - int wx; - int wy; - float x_over_y; - - GET_FLOAT_WORD(wx, x); - GET_FLOAT_WORD(wy, y); - - signx = (wx & 0x80000000) >> 31; - signy = (wy & 0x80000000) >> 31; - - signres = (signx ^ signy) ? -1 : 1; - - x_over_y = fabsf(x / y); - - *quo = signres * (lrintf(x_over_y) & 0x7f); - - return remainderf(x,y); -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double remquo(double x, double y, int *quo) /* wrapper remquof */ -#else - double remquo(x,y,quo) /* wrapper remquof */ - double x,y; - int *quo; -#endif -{ - return (double) remquof((float) x, (float) y, quo); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_rint.c b/newlib/libm/common/sf_rint.c deleted file mode 100644 index 6459b7a4c..000000000 --- a/newlib/libm/common/sf_rint.c +++ /dev/null @@ -1,84 +0,0 @@ -/* sf_rint.c -- float version of s_rint.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ -static const float -#else -static float -#endif -TWO23[2]={ - 8.3886080000e+06, /* 0x4b000000 */ - -8.3886080000e+06, /* 0xcb000000 */ -}; - -#ifdef __STDC__ - float rintf(float x) -#else - float rintf(x) - float x; -#endif -{ - __int32_t i0,j0,sx; - __uint32_t i,i1,ix; - float t; - volatile float w; - GET_FLOAT_WORD(i0,x); - sx = (i0>>31)&1; - ix = (i0&0x7fffffff); - j0 = (ix>>23)-0x7f; - if(j0<23) { - if(FLT_UWORD_IS_ZERO(ix)) - return x; - if(j0<0) { - i1 = (i0&0x07fffff); - i0 &= 0xfff00000; - i0 |= ((i1|-i1)>>9)&0x400000; - SET_FLOAT_WORD(x,i0); - w = TWO23[sx]+x; - t = w-TWO23[sx]; - GET_FLOAT_WORD(i0,t); - SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31)); - return t; - } else { - i = (0x007fffff)>>j0; - if((i0&i)==0) return x; /* x is integral */ - i>>=1; - if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0); - } - } else { - if(!FLT_UWORD_IS_FINITE(ix)) return x+x; /* inf or NaN */ - else - return x; /* x is integral */ - } - SET_FLOAT_WORD(x,i0); - w = TWO23[sx]+x; - return w-TWO23[sx]; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double rint(double x) -#else - double rint(x) - double x; -#endif -{ - return (double) rintf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_round.c b/newlib/libm/common/sf_round.c deleted file mode 100644 index 6c9087db0..000000000 --- a/newlib/libm/common/sf_round.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float roundf(float x) -#else - float roundf(x) - float x; -#endif -{ - int signbit; - __uint32_t w; - /* Most significant word, least significant word. */ - int exponent_less_127; - - GET_FLOAT_WORD(w, x); - - /* Extract sign bit. */ - signbit = w & 0x80000000; - - /* Extract exponent field. */ - exponent_less_127 = (int)((w & 0x7f800000) >> 23) - 127; - - if (exponent_less_127 < 23) - { - if (exponent_less_127 < 0) - { - w &= 0x80000000; - if (exponent_less_127 == -1) - /* Result is +1.0 or -1.0. */ - w |= (127 << 23); - } - else - { - unsigned int exponent_mask = 0x007fffff >> exponent_less_127; - if ((w & exponent_mask) == 0) - /* x has an integral value. */ - return x; - - w += 0x00400000 >> exponent_less_127; - w &= ~exponent_mask; - } - } - else - { - if (exponent_less_127 == 128) - /* x is NaN or infinite. */ - return x + x; - else - return x; - } - SET_FLOAT_WORD(x, w); - return x; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double round(double x) -#else - double round(x) - double x; -#endif -{ - return (double) roundf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_scalbln.c b/newlib/libm/common/sf_scalbln.c deleted file mode 100644 index dd4baf56a..000000000 --- a/newlib/libm/common/sf_scalbln.c +++ /dev/null @@ -1,71 +0,0 @@ -/* s_scalbnf.c -- float version of s_scalbn.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ -static const float -#else -static float -#endif -two25 = 3.355443200e+07, /* 0x4c000000 */ -twom25 = 2.9802322388e-08, /* 0x33000000 */ -huge = 1.0e+30, -tiny = 1.0e-30; - -#ifdef __STDC__ - float scalblnf (float x, long int n) -#else - float scalblnf (x,n) - float x; long int n; -#endif -{ - __int32_t k,ix; - GET_FLOAT_WORD(ix,x); - k = (ix&0x7f800000)>>23; /* extract exponent */ - if (k==0) { /* 0 or subnormal x */ - if ((ix&0x7fffffff)==0) return x; /* +-0 */ - x *= two25; - GET_FLOAT_WORD(ix,x); - k = ((ix&0x7f800000)>>23) - 25; - } - if (k==0xff) return x+x; /* NaN or Inf */ - k = k+n; - if (n> 50000 || k > 0xfe) - return huge*copysignf(huge,x); /* overflow */ - if (n< -50000) - return tiny*copysignf(tiny,x); /*underflow*/ - if (k > 0) /* normal result */ - {SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); return x;} - if (k <= -25) - return tiny*copysignf(tiny,x); /*underflow*/ - k += 25; /* subnormal result */ - SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); - return x*twom25; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double scalbln (double x, long int n) -#else - double scalbln (x,n) - double x; long int n; -#endif -{ - return (double) scalblnf((float) x, n); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_scalbn.c b/newlib/libm/common/sf_scalbn.c deleted file mode 100644 index 700060010..000000000 --- a/newlib/libm/common/sf_scalbn.c +++ /dev/null @@ -1,86 +0,0 @@ -/* sf_scalbn.c -- float version of s_scalbn.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" -#include <limits.h> -#include <float.h> - -#if INT_MAX > 50000 -#define OVERFLOW_INT 50000 -#else -#define OVERFLOW_INT 30000 -#endif - -#ifdef __STDC__ -static const float -#else -static float -#endif -two25 = 3.355443200e+07, /* 0x4c000000 */ -twom25 = 2.9802322388e-08, /* 0x33000000 */ -huge = 1.0e+30, -tiny = 1.0e-30; - -#ifdef __STDC__ - float scalbnf (float x, int n) -#else - float scalbnf (x,n) - float x; int n; -#endif -{ - __int32_t k,ix; - __uint32_t hx; - - GET_FLOAT_WORD(ix,x); - hx = ix&0x7fffffff; - k = hx>>23; /* extract exponent */ - if (FLT_UWORD_IS_ZERO(hx)) - return x; - if (!FLT_UWORD_IS_FINITE(hx)) - return x+x; /* NaN or Inf */ - if (FLT_UWORD_IS_SUBNORMAL(hx)) { - x *= two25; - GET_FLOAT_WORD(ix,x); - k = ((ix&0x7f800000)>>23) - 25; - if (n< -50000) return tiny*x; /*underflow*/ - } - k = k+n; - if (k > FLT_LARGEST_EXP) return huge*copysignf(huge,x); /* overflow */ - if (k > 0) /* normal result */ - {SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); return x;} - if (k < FLT_SMALLEST_EXP) { - if (n > OVERFLOW_INT) /* in case integer overflow in n+k */ - return huge*copysignf(huge,x); /*overflow*/ - else return tiny*copysignf(tiny,x); /*underflow*/ - } - k += 25; /* subnormal result */ - SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); - return x*twom25; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double scalbn(double x, int n) -#else - double scalbn(x,n) - double x; - int n; -#endif -{ - return (double) scalbnf((float) x, n); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ diff --git a/newlib/libm/common/sf_trunc.c b/newlib/libm/common/sf_trunc.c deleted file mode 100644 index 74ea933ce..000000000 --- a/newlib/libm/common/sf_trunc.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#include "fdlibm.h" - -#ifdef __STDC__ - float truncf(float x) -#else - float truncf(x) - float x; -#endif -{ - __int32_t signbit, w, exponent_less_127; - - GET_FLOAT_WORD(w,x); - - /* Extract sign bit. */ - signbit = w & 0x80000000; - - /* Extract exponent field. */ - exponent_less_127 = ((w & 0x7f800000) >> 23) - 127; - - if (exponent_less_127 < 23) - { - if (exponent_less_127 < 0) - { - /* -1 < x < 1, so result is +0 or -0. */ - SET_FLOAT_WORD(x, signbit); - } - else - { - SET_FLOAT_WORD(x, signbit | (w & ~(0x007fffff >> exponent_less_127))); - } - } - else - { - if (exponent_less_127 == 255) - /* x is NaN or infinite. */ - return x + x; - - /* All bits in the fraction field are relevant. */ - } - return x; -} - -#ifdef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double trunc(double x) -#else - double trunc(x) - double x; -#endif -{ - return (double) truncf((float) x); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ |