diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/bits/mathdef.h | 88 | ||||
-rw-r--r-- | sysdeps/powerpc/bits/mathinline.h | 88 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/bits/fenv.h (renamed from sysdeps/powerpc/bits/fenv.h) | 0 |
4 files changed, 2 insertions, 176 deletions
@@ -29,6 +29,8 @@ * sysdeps/powerpc/fpu/bits/mathdef.h: ...here. * sysdeps/powerpc/bits/mathinline.h: Moved to... * sysdeps/powerpc/fpu/bits/mathinline.h: ...here. + * sysdeps/powerpc/bits/fenv.h: Moved to... + * sysdeps/powerpc/fpu/bits/fenv.h: ...here. 1999-10-31 Andreas Jaeger <aj@suse.de> diff --git a/sysdeps/powerpc/bits/mathdef.h b/sysdeps/powerpc/bits/mathdef.h deleted file mode 100644 index 71378c8458..0000000000 --- a/sysdeps/powerpc/bits/mathdef.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#if !defined _MATH_H && !defined _COMPLEX_H -# error "Never use <bits/mathdef.h> directly; include <math.h> instead" -#endif - - -/* FIXME! This file describes properties of the compiler, not the machine; - it should not be part of libc! - - FIXME! This file does not deal with the -fshort-double option of - gcc! */ - -#if defined __USE_ISOC99 && defined _MATH_H -# ifdef __GNUC__ -# if __STDC__ == 1 - -/* In GNU or ANSI mode, gcc leaves `float' expressions as-is. */ -typedef float float_t; /* `float' expressions are evaluated as - `float'. */ -typedef double double_t; /* `double' expressions are evaluated as - `double'. */ - -/* Signal that types stay as they were declared. */ -# define FLT_EVAL_METHOD 0 - -/* Define `INFINITY' as value of type `float'. */ -# define INFINITY HUGE_VALF - -# else - -/* For `gcc -traditional', `float' expressions are evaluated as `double'. */ -typedef double float_t; /* `float' expressions are evaluated as - `double'. */ -typedef double double_t; /* `double' expressions are evaluated as - `double'. */ - -/* Signal that both types are `double'. */ -# define FLT_EVAL_METHOD 1 - -/* Define `INFINITY' as value of type `float'. */ -# define INFINITY HUGE_VALF - -# endif -# else - -/* Wild guess at types for float_t and double_t. */ -typedef double float_t; -typedef double double_t; - -/* Strange compiler, we don't know how it works. */ -# define FLT_EVAL_METHOD -1 - -/* Define `INFINITY' as value of type `float'. */ -# define INFINITY HUGE_VALF - -# endif - -/* The values returned by `ilogb' for 0 and NaN respectively. */ -# define FP_ILOGB0 0x80000001 -# define FP_ILOGBNAN 0x7fffffff - -/* Number of decimal digits for the `double' type. */ -# define DECIMAL_DIG 15 - -#endif /* ISO C99 */ - -#ifndef __NO_LONG_DOUBLE_MATH -/* Signal that we do not really have a `long double'. The disables the - declaration of all the `long double' function variants. */ -# define __NO_LONG_DOUBLE_MATH 1 -#endif diff --git a/sysdeps/powerpc/bits/mathinline.h b/sysdeps/powerpc/bits/mathinline.h deleted file mode 100644 index 7798ad3467..0000000000 --- a/sysdeps/powerpc/bits/mathinline.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Inline math functions for powerpc. - Copyright (C) 1995, 1996, 1997, 1998, 1999 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#if defined __GNUC__ && !defined _SOFT_FLOAT - -#ifdef __USE_ISOC99 -# define __unordered_cmp(x, y) \ - (__extension__ \ - ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \ - unsigned __r; \ - __asm__("fcmpu 7,%1,%2 ; mfcr %0" : "=r" (__r) : "f" (__x), "f"(__y) \ - : "cr7"); \ - __r; })) - -# define isgreater(x, y) (__unordered_cmp (x, y) >> 2 & 1) -# define isgreaterequal(x, y) ((__unordered_cmp (x, y) & 6) != 0) -# define isless(x, y) (__unordered_cmp (x, y) >> 3 & 1) -# define islessequal(x, y) ((__unordered_cmp (x, y) & 0xA) != 0) -# define islessgreater(x, y) ((__unordered_cmp (x, y) & 0xC) != 0) -# define isunordered(x, y) (__unordered_cmp (x, y) & 1) -#endif /* __USE_ISOC99 && !_SOFT_FLOAT */ - -#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__ - -#ifdef __cplusplus -# define __MATH_INLINE __inline -#else -# define __MATH_INLINE extern __inline -#endif /* __cplusplus */ - -#ifdef __USE_ISOC99 -__MATH_INLINE long int lrint (double __x); -__MATH_INLINE long int -lrint (double __x) -{ - union { - double __d; - long int __ll[2]; - } __u; - __asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x)); - return __u.__ll[1]; -} - -__MATH_INLINE long int lrintf (float __x); -__MATH_INLINE long int -lrintf (float __x) -{ - union { - double __d; - long int __ll[2]; - } __u; - __asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x)); - return __u.__ll[1]; -} - -__MATH_INLINE double fdim (double __x, double __y); -__MATH_INLINE double -fdim (double __x, double __y) -{ - return __x < __y ? 0 : __x - __y; -} - -__MATH_INLINE float fdimf (float __x, float __y); -__MATH_INLINE float -fdimf (float __x, float __y) -{ - return __x < __y ? 0 : __x - __y; -} - -#endif /* __USE_ISOC99 */ -#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */ -#endif /* __GNUC__ && !_SOFT_FLOAT */ diff --git a/sysdeps/powerpc/bits/fenv.h b/sysdeps/powerpc/fpu/bits/fenv.h index f86d02d014..f86d02d014 100644 --- a/sysdeps/powerpc/bits/fenv.h +++ b/sysdeps/powerpc/fpu/bits/fenv.h |