diff options
author | Thomas Fitzsimmons <fitzsim@redhat.com> | 2002-08-17 01:29:45 +0400 |
---|---|---|
committer | Thomas Fitzsimmons <fitzsim@redhat.com> | 2002-08-17 01:29:45 +0400 |
commit | d3bd3632ac06bdb7f76b13494873b3567edabcbf (patch) | |
tree | f7d4c5083ac5dbdc7b55c198fe3df5651e9c4e02 /newlib/libc/sys/linux/machine/i386 | |
parent | e0f61e607c336e5ad589afd95a13161a202dd1ba (diff) |
* libc/sys/linux/cmath: New directory.
* libc/sys/linux/include/cmathcalls.h: New file.
* libc/sys/linux/include/complex.h: New file.
* libc/sys/linux/machine/i386/huge_val.h: New file
* libm/math/w_sincos.c: New file
* libm/math/wf_sincos.c: New file
* libm/mathfp/s_sincos.c: New file
* libm/mathfp/sf_sincos.c: New file
* Makefile.am (LIBC_OBJECTLISTS): Add cmath/objectlist.awk.in.
* libc/include/math.h: Add sincos and sincosf declarations.
* libc/sys/linux/Makefile.am (SUBDIRS): Add cmath.
(SUBLIBS): Likewise.
* libc/sys/linux/configure.in (AC_OUTPUT): Add cmath.
* libm/math/Makefile.am (src): Add w_sincos.c.
(fsrc): Add wf_sincos.c.
* libm/mathfp/Makefile.am (src): Add s_sincos.c
(fsrc): Add sf_sincos.c.
Diffstat (limited to 'newlib/libc/sys/linux/machine/i386')
-rw-r--r-- | newlib/libc/sys/linux/machine/i386/huge_val.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/newlib/libc/sys/linux/machine/i386/huge_val.h b/newlib/libc/sys/linux/machine/i386/huge_val.h new file mode 100644 index 000000000..171517710 --- /dev/null +++ b/newlib/libc/sys/linux/machine/i386/huge_val.h @@ -0,0 +1,56 @@ +/* `HUGE_VAL' constants for ix86 (where it is infinity). + Used by <stdlib.h> and <math.h> functions for overflow. + Copyright (C) 1992, 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <features.h> + +/* ISO C99 extensions: (float) HUGE_VALF and (long double) HUGE_VALL. */ + +# if __GNUC_PREREQ(2,96) + +# define HUGE_VALF (__extension__ 0x1.0p255f) +# define HUGE_VALL (__extension__ 0x1.0p32767L) + +# else + +# define __HUGE_VALF_bytes { 0, 0, 0x80, 0x7f } + +# define __huge_valf_t union { unsigned char __c[4]; float __f; } +# ifdef __GNUC__ +# define HUGE_VALF (__extension__ \ + ((__huge_valf_t) { __c: __HUGE_VALF_bytes }).__f) +# else /* Not GCC. */ +static __huge_valf_t __huge_valf = { __HUGE_VALF_bytes }; +# define HUGE_VALF (__huge_valf.__f) +# endif /* GCC. */ + + +# define __HUGE_VALL_bytes { 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 } + +# define __huge_vall_t union { unsigned char __c[12]; long double __ld; } +# ifdef __GNUC__ +# define HUGE_VALL (__extension__ \ + ((__huge_vall_t) { __c: __HUGE_VALL_bytes }).__ld) +# else /* Not GCC. */ +static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes }; +# define HUGE_VALL (__huge_vall.__ld) +# endif /* GCC. */ + +# endif /* GCC 2.95 */ + |