summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2015-02-24 15:49:10 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2015-02-24 15:49:10 +0000
commit18f11f38f1d2f7bf89a167213048eb11e037a5f2 (patch)
tree39d724fa075810003deaa290387fd854bf751fdb
parentf55e41f8e3c03edcc4451252c51034ed96704c56 (diff)
downloadmpfr-18f11f38f1d2f7bf89a167213048eb11e037a5f2.tar.gz
[src/mpfr-impl.h] Added SAFE_DIFF macro (safe difference).
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9306 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r--src/mpfr-impl.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mpfr-impl.h b/src/mpfr-impl.h
index 315ce1e3e..8c3af99d4 100644
--- a/src/mpfr-impl.h
+++ b/src/mpfr-impl.h
@@ -1213,9 +1213,10 @@ do { \
#define IS_POW2(X) (((X) & ((X) - 1)) == 0)
#define NOT_POW2(X) (((X) & ((X) - 1)) != 0)
-/* Safe absolute value (to avoid possible integer overflow) */
+/* Safe absolute value and difference (to avoid possible integer overflow) */
/* type is the target (unsigned) type */
#define SAFE_ABS(type,x) ((x) >= 0 ? (type)(x) : -(type)(x))
+#define SAFE_DIFF(type,x,y) (MPFR_ASSERTD((x) >= (y)), (type)(x) - (type)(y))
#define mpfr_get_d1(x) mpfr_get_d(x,__gmpfr_default_rounding_mode)