Don't undef macros for unordered comparison before definition.
Don't define __ilogb.
This commit is contained in:
parent
db31c86395
commit
e775757079
@ -44,12 +44,12 @@
|
|||||||
is the name of the fpu operation (without leading f). */
|
is the name of the fpu operation (without leading f). */
|
||||||
|
|
||||||
#if defined __USE_MISC || defined __USE_ISOC9X
|
#if defined __USE_MISC || defined __USE_ISOC9X
|
||||||
#define __inline_mathop(func, op) \
|
# define __inline_mathop(func, op) \
|
||||||
__inline_mathop1(double, func, op) \
|
__inline_mathop1(double, func, op) \
|
||||||
__inline_mathop1(float, __CONCAT(func,f), op) \
|
__inline_mathop1(float, __CONCAT(func,f), op) \
|
||||||
__inline_mathop1(long double, __CONCAT(func,l), op)
|
__inline_mathop1(long double, __CONCAT(func,l), op)
|
||||||
#else
|
#else
|
||||||
#define __inline_mathop(func, op) \
|
# define __inline_mathop(func, op) \
|
||||||
__inline_mathop1(double, func, op)
|
__inline_mathop1(double, func, op)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -257,17 +257,6 @@ __m81_defun (int, __CONCAT(__signbit,s), (float_type __value)) \
|
|||||||
return (__fpsr >> 27) & 1; \
|
return (__fpsr >> 27) & 1; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
__m81_defun (int, __CONCAT(__ilogb,s), (float_type __x)) \
|
|
||||||
{ \
|
|
||||||
float_type __result; \
|
|
||||||
if (__m81_u(__CONCAT(__isnan,s)) (__x)) \
|
|
||||||
/* The stupid standard requires us to return a specific value where \
|
|
||||||
it would depend on the bitpattern of the NaN. */ \
|
|
||||||
return 0x7fffffff; \
|
|
||||||
__asm("fgetexp%.x %1, %0" : "=f" (__result) : "f" (__x)); \
|
|
||||||
return (int) __result; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
__m81_defun (float_type, __CONCAT(__scalbn,s), \
|
__m81_defun (float_type, __CONCAT(__scalbn,s), \
|
||||||
(float_type __x, long int __n)) \
|
(float_type __x, long int __n)) \
|
||||||
{ \
|
{ \
|
||||||
@ -341,7 +330,6 @@ __inline_forward_c(double,scalbn, (double __x, long int __n), (__x, __n))
|
|||||||
#ifndef __USE_ISOC9X /* Conflict with macro of same name. */
|
#ifndef __USE_ISOC9X /* Conflict with macro of same name. */
|
||||||
__inline_forward_c(int,isnan, (double __value), (__value))
|
__inline_forward_c(int,isnan, (double __value), (__value))
|
||||||
#endif
|
#endif
|
||||||
__inline_forward_c(int,ilogb, (double __value), (__value))
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef __USE_ISOC9X
|
#ifdef __USE_ISOC9X
|
||||||
__inline_forward_c(double,nearbyint, (double __value), (__value))
|
__inline_forward_c(double,nearbyint, (double __value), (__value))
|
||||||
@ -362,7 +350,6 @@ __inline_forward_c(int,isinff, (float __value), (__value))
|
|||||||
__inline_forward_c(int,finitef, (float __value), (__value))
|
__inline_forward_c(int,finitef, (float __value), (__value))
|
||||||
__inline_forward_c(float,scalbnf, (float __x, long int __n), (__x, __n))
|
__inline_forward_c(float,scalbnf, (float __x, long int __n), (__x, __n))
|
||||||
__inline_forward_c(int,isnanf, (float __value), (__value))
|
__inline_forward_c(int,isnanf, (float __value), (__value))
|
||||||
__inline_forward_c(int,ilogbf, (float __value), (__value))
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef __USE_ISOC9X
|
#ifdef __USE_ISOC9X
|
||||||
__inline_forward_c(float,nearbyintf, (float __value), (__value))
|
__inline_forward_c(float,nearbyintf, (float __value), (__value))
|
||||||
@ -382,7 +369,6 @@ __inline_forward_c(int,finitel, (long double __value), (__value))
|
|||||||
__inline_forward_c(long double,scalbnl, (long double __x, long int __n),
|
__inline_forward_c(long double,scalbnl, (long double __x, long int __n),
|
||||||
(__x, __n))
|
(__x, __n))
|
||||||
__inline_forward_c(int,isnanl, (long double __value), (__value))
|
__inline_forward_c(int,isnanl, (long double __value), (__value))
|
||||||
__inline_forward_c(int,ilogbl, (long double __value), (__value))
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef __USE_ISOC9X
|
#ifdef __USE_ISOC9X
|
||||||
__inline_forward_c(long double,nearbyintl, (long double __value), (__value))
|
__inline_forward_c(long double,nearbyintl, (long double __value), (__value))
|
||||||
@ -405,48 +391,42 @@ __inline_forward(void,sincosl,
|
|||||||
m68k FPU supports this with special opcodes and we should use them.
|
m68k FPU supports this with special opcodes and we should use them.
|
||||||
These must not be inline functions since we have to be able to handle
|
These must not be inline functions since we have to be able to handle
|
||||||
all floating-point types. */
|
all floating-point types. */
|
||||||
#undef isgreater
|
# define isgreater(x, y) \
|
||||||
#define isgreater(x, y) \
|
|
||||||
__extension__ \
|
__extension__ \
|
||||||
({ char __result; \
|
({ char __result; \
|
||||||
__asm__ ("fcmp%.x %2,%1; fsogt %0" \
|
__asm__ ("fcmp%.x %2,%1; fsogt %0" \
|
||||||
: "=dm" (__result) : "f" (x), "f" (y)); \
|
: "=dm" (__result) : "f" (x), "f" (y)); \
|
||||||
(int) __result; })
|
(int) __result; })
|
||||||
|
|
||||||
#undef isgreaterequal
|
# define isgreaterequal(x, y) \
|
||||||
#define isgreaterequal(x, y) \
|
|
||||||
__extension__ \
|
__extension__ \
|
||||||
({ char __result; \
|
({ char __result; \
|
||||||
__asm__ ("fcmp%.x %2,%1; fsoge %0" \
|
__asm__ ("fcmp%.x %2,%1; fsoge %0" \
|
||||||
: "=dm" (__result) : "f" (x), "f" (y)); \
|
: "=dm" (__result) : "f" (x), "f" (y)); \
|
||||||
(int) __result; })
|
(int) __result; })
|
||||||
|
|
||||||
#undef isless
|
# define isless(x, y) \
|
||||||
#define isless(x, y) \
|
|
||||||
__extension__ \
|
__extension__ \
|
||||||
({ char __result; \
|
({ char __result; \
|
||||||
__asm__ ("fcmp%.x %2,%1; fsolt %0" \
|
__asm__ ("fcmp%.x %2,%1; fsolt %0" \
|
||||||
: "=dm" (__result) : "f" (x), "f" (y)); \
|
: "=dm" (__result) : "f" (x), "f" (y)); \
|
||||||
(int) __result; })
|
(int) __result; })
|
||||||
|
|
||||||
#undef islessequal
|
# define islessequal(x, y) \
|
||||||
#define islessequal(x, y) \
|
|
||||||
__extension__ \
|
__extension__ \
|
||||||
({ char __result; \
|
({ char __result; \
|
||||||
__asm__ ("fcmp%.x %2,%1; fsole %0" \
|
__asm__ ("fcmp%.x %2,%1; fsole %0" \
|
||||||
: "=dm" (__result) : "f" (x), "f" (y)); \
|
: "=dm" (__result) : "f" (x), "f" (y)); \
|
||||||
(int) __result; })
|
(int) __result; })
|
||||||
|
|
||||||
#undef islessgreater
|
# define islessgreater(x, y) \
|
||||||
#define islessgreater(x, y) \
|
|
||||||
__extension__ \
|
__extension__ \
|
||||||
({ char __result; \
|
({ char __result; \
|
||||||
__asm__ ("fcmp%.x %2,%1; fsogl %0" \
|
__asm__ ("fcmp%.x %2,%1; fsogl %0" \
|
||||||
: "=dm" (__result) : "f" (x), "f" (y)); \
|
: "=dm" (__result) : "f" (x), "f" (y)); \
|
||||||
(int) __result; })
|
(int) __result; })
|
||||||
|
|
||||||
#undef isunordered
|
# define isunordered(x, y) \
|
||||||
#define isunordered(x, y) \
|
|
||||||
__extension__ \
|
__extension__ \
|
||||||
({ char __result; \
|
({ char __result; \
|
||||||
__asm__ ("fcmp%.x %2,%1; fsun %0" \
|
__asm__ ("fcmp%.x %2,%1; fsun %0" \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user