From 2b271ed5348daec2bcf90b83da47781e2d8b964c Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Fri, 14 May 2010 01:10:17 +0200 Subject: janitor: Move min/max and dist functions up to common.h Signed-off-by: Henrik Rydberg --- src/common.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/common.h') diff --git a/src/common.h b/src/common.h index 1b4d007..32be48d 100644 --- a/src/common.h +++ b/src/common.h @@ -61,6 +61,22 @@ #define SETBIT(m, x) (m |= BITMASK(x)) #define CLEARBIT(m, x) (m &= ~BITMASK(x)) +static inline int maxval(int x, int y) { return x > y ? x : y; } +static inline int minval(int x, int y) { return x < y ? x : y; } + +static inline int clamp15(int x) +{ + return x < -32767 ? -32767 : x > 32767 ? 32767 : x; +} + +/* absolute scale is assumed to fit in 15 bits */ +static inline int dist2(int dx, int dy) +{ + dx = clamp15(dx); + dy = clamp15(dy); + return dx * dx + dy * dy; +} + /* Count number of bits (Sean Eron Andersson's Bit Hacks) */ static inline int bitcount(unsigned v) { -- cgit v1.2.3