mirror of
https://sourceware.org/git/glibc.git
synced 2025-09-02 16:01:20 +03:00
* sysdeps/m68k/fpu/bits/mathinline.h: Move all libm internal
definitions... * sysdeps/m68k/fpu/mathimpl.h: ... here. New file. * sysdeps/m68k/fpu/e_acos.c: Include "mathimpl.h". * sysdeps/m68k/fpu/e_atan2.c: Likewise. * sysdeps/m68k/fpu/e_fmod.c: Likewise. * sysdeps/m68k/fpu/e_pow.c: Likewise. * sysdeps/m68k/fpu/e_scalb.c: Likewise. * sysdeps/m68k/fpu/s_ccos.c: Likewise. * sysdeps/m68k/fpu/s_ccosh.c: Likewise. * sysdeps/m68k/fpu/s_cexp.c: Likewise. * sysdeps/m68k/fpu/s_csin.c: Likewise. * sysdeps/m68k/fpu/s_csinh.c: Likewise. * sysdeps/m68k/fpu/s_ilogb.c: Likewise. * sysdeps/m68k/fpu/s_llrint.c: Likewise. * sysdeps/m68k/fpu/s_llrintf.c: Likewise. * sysdeps/m68k/fpu/s_llrintl.c: Likewise. * sysdeps/m68k/fpu/s_modf.c: Likewise.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/* Definitions of inline math functions implemented by the m68881/2.
|
||||
Copyright (C) 1991, 92, 93, 94, 96, 97, 98 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991,92,93,94,96,97,98,99 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
|
||||
@@ -116,22 +116,6 @@
|
||||
return __result; \
|
||||
}
|
||||
|
||||
#ifdef __LIBC_INTERNAL_MATH_INLINES
|
||||
/* ieee style elementary functions */
|
||||
/* These are internal to the implementation of libm. */
|
||||
__inline_mathop(__ieee754_acos, acos)
|
||||
__inline_mathop(__ieee754_asin, asin)
|
||||
__inline_mathop(__ieee754_cosh, cosh)
|
||||
__inline_mathop(__ieee754_sinh, sinh)
|
||||
__inline_mathop(__ieee754_exp, etox)
|
||||
__inline_mathop(__ieee754_exp2, twotox)
|
||||
__inline_mathop(__ieee754_exp10, tentox)
|
||||
__inline_mathop(__ieee754_log10, log10)
|
||||
__inline_mathop(__ieee754_log, logn)
|
||||
__inline_mathop(__ieee754_sqrt, sqrt)
|
||||
__inline_mathop(__ieee754_atanh, atanh)
|
||||
#endif
|
||||
|
||||
__inline_mathop(__atan, atan)
|
||||
__inline_mathop(__cos, cos)
|
||||
__inline_mathop(__sin, sin)
|
||||
@@ -180,52 +164,9 @@ __inline_mathop(trunc, intrz)
|
||||
#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
|
||||
|
||||
/* This macro contains the definition for the rest of the inline
|
||||
functions, using __FLOAT_TYPE as the domain type and __S as the suffix
|
||||
functions, using FLOAT_TYPE as the domain type and S as the suffix
|
||||
for the function names. */
|
||||
|
||||
#ifdef __LIBC_INTERNAL_MATH_INLINES
|
||||
/* Internally used functions. */
|
||||
# define __internal_inline_functions(float_type, s) \
|
||||
__m81_defun (float_type, __CONCAT(__ieee754_remainder,s), \
|
||||
(float_type __x, float_type __y)) \
|
||||
{ \
|
||||
float_type __result; \
|
||||
__asm("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); \
|
||||
return __result; \
|
||||
} \
|
||||
\
|
||||
__m81_defun (float_type, __CONCAT(__ieee754_fmod,s), \
|
||||
(float_type __x, float_type __y)) \
|
||||
{ \
|
||||
float_type __result; \
|
||||
__asm("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); \
|
||||
return __result; \
|
||||
}
|
||||
|
||||
__internal_inline_functions (double,)
|
||||
__internal_inline_functions (float,f)
|
||||
__internal_inline_functions (long double,l)
|
||||
# undef __internal_inline_functions
|
||||
|
||||
/* Get the m68881 condition codes, to quickly check multiple conditions. */
|
||||
static __inline__ unsigned long
|
||||
__m81_test (long double __val)
|
||||
{
|
||||
unsigned long __fpsr;
|
||||
__asm ("ftst%.x %1; fmove%.l %/fpsr,%0" : "=dm" (__fpsr) : "f" (__val));
|
||||
return __fpsr;
|
||||
}
|
||||
|
||||
/* Bit values returned by __m81_test. */
|
||||
# define __M81_COND_NAN (1 << 24)
|
||||
# define __M81_COND_INF (2 << 24)
|
||||
# define __M81_COND_ZERO (4 << 24)
|
||||
# define __M81_COND_NEG (8 << 24)
|
||||
|
||||
#endif /* __LIBC_INTENRAL_MATH_INLINES */
|
||||
|
||||
/* The rest of the functions are available to the user. */
|
||||
|
||||
#define __inline_functions(float_type, s) \
|
||||
__m81_inline float_type \
|
||||
__m81_u(__CONCAT(__frexp,s))(float_type __value, int *__expptr) \
|
||||
|
Reference in New Issue
Block a user