summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-11-12 17:23:30 +0000
committerUlrich Drepper <drepper@redhat.com>1999-11-12 17:23:30 +0000
commit05ef7ce90dbb9125cdcd6ea2525efad6d1c585b7 (patch)
tree5102b915804cf59ef63ca6a05a2cba1127cfe649 /math
parentb2f46c3c0e2119545e52a01e1d73a93d21ebbc0d (diff)
Update.
1999-11-02 Andreas Jaeger <aj@suse.de> * Versions.def: Add version GLIBC_2.2 for libm. * math/fenv.h: Add prototypes for fegetexcept, feenableexcept and fedisableexcept. * sysdeps/generic/feenablxcpt.c: Stub file. * sysdeps/generic/fedisblxcpt.c: Stub file. * sysdeps/generic/fegetexcept.c: Stub file. * sysdeps/i386/fpu/fedisblxcpt.c: New file. * sysdeps/i386/fpu/feenablxcpt.c: New file. * sysdeps/i386/fpu/fegetexcept.c: New file. * math/Makefile (libm-support): Add new files. * math/Versions: Add new functions with version GLIBC_2.2. * manual/arith.texi (Control Functions): Document fegetexcept, feenableexcept and fedisableexcept.
Diffstat (limited to 'math')
-rw-r--r--math/Makefile3
-rw-r--r--math/Versions4
-rw-r--r--math/fenv.h16
3 files changed, 22 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile
index bc2e7b9307..f9f0ce4790 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -39,7 +39,8 @@ extra-libs-others = $(extra-libs)
libm-support = k_standard s_lib_version s_matherr s_signgam \
fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \
ftestexcept fegetround fesetround fegetenv feholdexcpt \
- fesetenv feupdateenv t_exp
+ fesetenv feupdateenv t_exp fedisblxcpt feenablxcpt \
+ fegetexcept
libm-calls = e_acos e_acosh e_asin e_atan2 e_atanh e_cosh e_exp e_fmod \
e_hypot e_j0 e_j1 e_jn e_lgamma_r e_log e_log10 e_pow \
e_rem_pio2 e_remainder e_scalb e_sinh e_sqrt e_gamma_r \
diff --git a/math/Versions b/math/Versions
index 2be65529c9..99064cee68 100644
--- a/math/Versions
+++ b/math/Versions
@@ -158,4 +158,8 @@ libm {
feclearexcept; fegetenv; fegetexceptflag; feraiseexcept;
fesetenv; fesetexceptflag; feupdateenv;
}
+ GLIBC_2.2 {
+ # fp environment function
+ feenableexcept; fedisableexcept; fegetexcept;
+ }
}
diff --git a/math/fenv.h b/math/fenv.h
index 845b5e637f..bda3ee916f 100644
--- a/math/fenv.h
+++ b/math/fenv.h
@@ -115,6 +115,22 @@ extern int feupdateenv (__const fenv_t *__envp) __THROW;
# include <bits/fenvinline.h>
#endif
+#ifdef __USE_GNU
+
+/* Enable individual exceptions. Will not enable more exceptions than
+ EXCEPTS specifies. Returns the previous enabled exceptions if all
+ exceptions are successfull set, otherwise returns -1. */
+extern int feenableexcept (int __excepts) __THROW;
+
+/* Disable individual exceptions. Will not disable more exceptions than
+ EXCEPTS specifies. Returns the previous enabled exceptions if all
+ exceptions are successfull disabled, otherwise returns -1. */
+extern int fedisableexcept (int __excepts) __THROW;
+
+/* Return enabled exceptions. */
+extern int fegetexcept (void) __THROW;
+#endif
+
__END_DECLS
#endif /* fenv.h */