summaryrefslogtreecommitdiff
path: root/src/cairo-wideint-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-10-07 09:55:03 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2008-10-07 22:16:26 +0100
commitcf572b58e1197dac0ff1795b27b142c3e044cf45 (patch)
tree719fbdf1dd32a1992800c072c032a34690c213f3 /src/cairo-wideint-private.h
parent6b8c0559620ab23c4df1f381d2e95ffc307d2e2f (diff)
downloadcairo-cf572b58e1197dac0ff1795b27b142c3e044cf45.tar.gz
[tessellator] Compile fixes for !HAVE_INT64_T
Fixup a couple of instances of implicit down-casting to 32bits from a 64bit wide integer and add a new is_zero() predicate.
Diffstat (limited to 'src/cairo-wideint-private.h')
-rw-r--r--src/cairo-wideint-private.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cairo-wideint-private.h b/src/cairo-wideint-private.h
index f2f6d20bd..f5aac2848 100644
--- a/src/cairo-wideint-private.h
+++ b/src/cairo-wideint-private.h
@@ -64,6 +64,7 @@ int I _cairo_uint64_lt (cairo_uint64_t a, cairo_uint64_t b);
int I _cairo_uint64_cmp (cairo_uint64_t a, cairo_uint64_t b);
int I _cairo_uint64_eq (cairo_uint64_t a, cairo_uint64_t b);
cairo_uint64_t I _cairo_uint64_negate (cairo_uint64_t a);
+#define _cairo_uint64_is_zero(a) ((a).hi == 0 && (a).lo == 0)
#define _cairo_uint64_negative(a) (((int32_t) ((a).hi)) < 0)
cairo_uint64_t I _cairo_uint64_not (cairo_uint64_t a);
@@ -78,6 +79,7 @@ cairo_int64_t I _cairo_int32_to_int64(int32_t i);
cairo_int64_t I _cairo_int32x32_64_mul (int32_t a, int32_t b);
int I _cairo_int64_lt (cairo_int64_t a, cairo_int64_t b);
int I _cairo_int64_cmp (cairo_int64_t a, cairo_int64_t b);
+#define _cairo_int64_is_zero(a) _cairo_uint64_is_zero (a)
#define _cairo_int64_eq(a,b) _cairo_uint64_eq (a,b)
#define _cairo_int64_lsl(a,b) _cairo_uint64_lsl (a,b)
#define _cairo_int64_rsl(a,b) _cairo_uint64_rsl (a,b)
@@ -99,6 +101,7 @@ int I _cairo_int64_cmp (cairo_int64_t a, cairo_int64_t b);
#define _cairo_uint64_rsa(a,b) ((uint64_t) ((int64_t) (a) >> (b)))
#define _cairo_uint64_lt(a,b) ((a) < (b))
#define _cairo_uint64_cmp(a,b) ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
+#define _cairo_uint64_is_zero(a) ((a) == 0)
#define _cairo_uint64_eq(a,b) ((a) == (b))
#define _cairo_uint64_negate(a) ((uint64_t) -((int64_t) (a)))
#define _cairo_uint64_negative(a) ((int64_t) (a) < 0)
@@ -115,6 +118,7 @@ int I _cairo_int64_cmp (cairo_int64_t a, cairo_int64_t b);
#define _cairo_int32x32_64_mul(a,b) ((int64_t) (a) * (b))
#define _cairo_int64_lt(a,b) ((a) < (b))
#define _cairo_int64_cmp(a,b) ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
+#define _cairo_int64_is_zero(a) ((a) == 0)
#define _cairo_int64_eq(a,b) ((a) == (b))
#define _cairo_int64_lsl(a,b) ((a) << (b))
#define _cairo_int64_rsl(a,b) ((int64_t) ((uint64_t) (a) >> (b)))
@@ -171,6 +175,7 @@ cairo_uint128_t I _cairo_uint128_rsa (cairo_uint128_t a, int shift);
int I _cairo_uint128_lt (cairo_uint128_t a, cairo_uint128_t b);
int I _cairo_uint128_cmp (cairo_uint128_t a, cairo_uint128_t b);
int I _cairo_uint128_eq (cairo_uint128_t a, cairo_uint128_t b);
+#define _cairo_uint128_is_zero(a) (_cairo_uint64_is_zero ((a).hi) && _cairo_uint64_is_zero ((a).lo))
cairo_uint128_t I _cairo_uint128_negate (cairo_uint128_t a);
#define _cairo_uint128_negative(a) (_cairo_uint64_negative(a.hi))
cairo_uint128_t I _cairo_uint128_not (cairo_uint128_t a);
@@ -191,7 +196,8 @@ cairo_int128_t I _cairo_int64x64_128_mul (cairo_int64_t a, cairo_int64_t b);
#define _cairo_int128_rsl(a,b) _cairo_uint128_rsl(a,b)
#define _cairo_int128_rsa(a,b) _cairo_uint128_rsa(a,b)
int I _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b);
-int I _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b);
+int I _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b);
+#define _cairo_int128_is_zero(a) _cairo_uint128_is_zero (a)
#define _cairo_int128_eq(a,b) _cairo_uint128_eq (a,b)
#define _cairo_int128_negate(a) _cairo_uint128_negate(a)
#define _cairo_int128_negative(a) (_cairo_uint128_negative(a))
@@ -212,6 +218,7 @@ int I _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b);
#define _cairo_uint128_rsa(a,b) ((uint128_t) ((int128_t) (a) >> (b)))
#define _cairo_uint128_lt(a,b) ((a) < (b))
#define _cairo_uint128_cmp(a,b) ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
+#define _cairo_uint128_is_zero(a) ((a) == 0)
#define _cairo_uint128_eq(a,b) ((a) == (b))
#define _cairo_uint128_negate(a) ((uint128_t) -((int128_t) (a)))
#define _cairo_uint128_negative(a) ((int128_t) (a) < 0)
@@ -230,6 +237,7 @@ int I _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b);
#define _cairo_int64x64_128_mul(a,b) ((int128_t) (a) * (b))
#define _cairo_int128_lt(a,b) ((a) < (b))
#define _cairo_int128_cmp(a,b) ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
+#define _cairo_int128_is_zero(a) ((a) == 0)
#define _cairo_int128_eq(a,b) ((a) == (b))
#define _cairo_int128_lsl(a,b) ((a) << (b))
#define _cairo_int128_rsl(a,b) ((int128_t) ((uint128_t) (a) >> (b)))