summaryrefslogtreecommitdiff
path: root/mpfr.h
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2001-11-08 03:04:00 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2001-11-08 03:04:00 +0000
commit9bcc04eeec1cd38b7841a85bf92b7b264e4bafbc (patch)
treeaa7566536c062637c92783dd94d212e1cb0cd28d /mpfr.h
parent6dc42ef94f5ad9ab2a0162b7a22390bcb6d9aa77 (diff)
downloadmpfr-9bcc04eeec1cd38b7841a85bf92b7b264e4bafbc.tar.gz
Macros added.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1468 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'mpfr.h')
-rw-r--r--mpfr.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/mpfr.h b/mpfr.h
index 45b1b8ccd..3ae44729c 100644
--- a/mpfr.h
+++ b/mpfr.h
@@ -248,6 +248,29 @@ int mpfr_sub_q _PROTO ((mpfr_ptr, mpfr_srcptr, mpq_srcptr, mp_rnd_t));
}
#endif
+/* prevent from using mpfr_get_e{min,max} as lvalues */
+#define mpfr_get_emin() (__mpfr_emin + 0)
+#define mpfr_get_emax() (__mpfr_emax + 0)
+
+#define mpfr_clear_flags() \
+ ((void) (__mpfr_flags = 0))
+#define mpfr_clear_underflow() \
+ ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_UNDERFLOW))
+#define mpfr_clear_overflow() \
+ ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_OVERFLOW))
+#define mpfr_clear_nanflag() \
+ ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_NAN))
+#define mpfr_clear_inexflag() \
+ ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_INEXACT))
+#define mpfr_underflow_p() \
+ ((int) (__mpfr_flags & MPFR_FLAGS_UNDERFLOW))
+#define mpfr_overflow_p() \
+ ((int) (__mpfr_flags & MPFR_FLAGS_OVERFLOW))
+#define mpfr_nanflag_p() \
+ ((int) (__mpfr_flags & MPFR_FLAGS_NAN))
+#define mpfr_inexflag_p() \
+ ((int) (__mpfr_flags & MPFR_FLAGS_INEXACT))
+
#define mpfr_cmp_ui(b,i) mpfr_cmp_ui_2exp((b),(i),0)
#define mpfr_cmp_si(b,i) mpfr_cmp_si_2exp((b),(i),0)
#define mpfr_set(a,b,r) mpfr_set4(a,b,r,MPFR_SIGN(b))