mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-24 13:33:08 +03:00
Start optimizing the use of the fenv interfaces in libm itself
This commit is contained in:
@@ -358,4 +358,26 @@ extern void __docos (double __x, double __dx, double __v[]);
|
||||
#define math_force_eval(x) __asm __volatile ("" : : "m" (x))
|
||||
#endif
|
||||
|
||||
|
||||
/* The standards only specify one variant of the fenv.h interfaces.
|
||||
But at least for some architectures we can be more efficient if we
|
||||
know what operations are going to be performed. Therefore we
|
||||
define additional interfaces. By default they refer to the normal
|
||||
interfaces. */
|
||||
#define libc_fegetround() fegetround ()
|
||||
#define libc_fegetroundf() fegetround ()
|
||||
#define libc_fegetroundl() fegetround ()
|
||||
|
||||
#define libc_fesetround(r) (void) fesetround (r)
|
||||
#define libc_fesetroundf(r) (void) fesetround (r)
|
||||
#define libc_fesetroundl(r) (void) fesetround (r)
|
||||
|
||||
#define libc_feholdexcept(e) (void) feholdexcept (e)
|
||||
#define libc_feholdexceptf(e) (void) feholdexcept (e)
|
||||
#define libc_feholdexceptl(e) (void) feholdexcept (e)
|
||||
|
||||
#define libc_fesetenv(e) (void) fesetenv (e)
|
||||
#define libc_fesetenvf(e) (void) fesetenv (e)
|
||||
#define libc_fesetenvl(e) (void) fesetenv (e)
|
||||
|
||||
#endif /* _MATH_PRIVATE_H_ */
|
||||
|
||||
Reference in New Issue
Block a user