From 756214ca8eb5bb93be367f17c9a8666ea46d9502 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Thu, 29 Jul 2021 15:25:37 +0900 Subject: [PATCH] [qfvis] Use unsigned for the plane side tests Doesn't make any difference to the number of instructions, but seeing sar instead of shr bothers me when working with bit patterns. --- tools/qfvis/source/qfvis.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/qfvis/source/qfvis.c b/tools/qfvis/source/qfvis.c index e37ebe5fd..9ed0ca014 100644 --- a/tools/qfvis/source/qfvis.c +++ b/tools/qfvis/source/qfvis.c @@ -247,43 +247,43 @@ split_edge (const vec4f_t *points, const vec4f_t *dists, return mid; } -static inline int __attribute__((const)) -is_not_on (int x) +static inline unsigned __attribute__((const)) +is_not_on (unsigned x) { return x & 1; } -static inline int __attribute__((const)) -is_back (int x) +static inline unsigned __attribute__((const)) +is_back (unsigned x) { return x & 2; } -static inline int __attribute__((const)) +static inline unsigned __attribute__((const)) is_not_back (unsigned x) { return ~x & 2; } -static inline int __attribute__((const)) +static inline unsigned __attribute__((const)) is_front (unsigned x) { return is_not_on (x) & (is_not_back (x) >> 1); } -static inline int __attribute__((const)) +static inline unsigned __attribute__((const)) is_back_front (unsigned x, unsigned y) { return (is_back (x) >> 1) & is_front (y); } -static inline int __attribute__((const)) +static inline unsigned __attribute__((const)) is_front_back (unsigned x, unsigned y) { return is_front (x) & (is_back (y) >> 1); } -static inline int __attribute__((const)) +static inline unsigned __attribute__((const)) is_transition (unsigned x, unsigned y) { return is_back_front (x, y) | is_front_back (x, y);