|
@@ -17,15 +17,16 @@
|
|
|
#endif
|
|
|
|
|
|
#ifdef max
|
|
|
#undef max
|
|
|
#endif
|
|
|
|
|
|
static inline int max(int a, int b) { if (a >= b) return a; return b; }
|
|
|
static inline double dmax(double a, double b) { if (a >= b) return a; return b; }
|
|
|
static inline uint64 max64(uint64 a, uint64 b) { if (a >= b) return a; return b; }
|
|
|
static inline int min(int a, int b) { if (a <= b) return a; return b; }
|
|
|
static inline int max(int a, int b) { if (a >= b) return a; return b; }
|
|
|
static inline int64 max64(int64 a, int64 b) { if (a >= b) return a; return b; }
|
|
|
|
|
|
static inline uint minu(uint a, uint b) { if (a <= b) return a; return b; }
|
|
|
static inline uint maxu(uint a, uint b) { if (a >= b) return a; return b; }
|
|
|
|
|
|
|
|
|
static inline int clamp(int a, int min, int max)
|
|
@@ -133,21 +134,17 @@ static inline int KillFirstBit2x64(int v
|
|
|
#define for_each_bit(_i, _b) \
|
|
|
for (_i = 0; _b != 0; _i++, _b >>= 1) \
|
|
|
if (_b & 1)
|
|
|
|
|
|
#define abs myabs
|
|
|
|
|
|
|
|
|
static inline int intxchg_(int *a, int b) { int t = *a; *a = b; return t; }
|
|
|
#define intswap(a,b) ((b) = intxchg_(&(a), (b)))
|
|
|
static inline int uintxchg_(uint *a, uint b) { uint t = *a; *a = b; return t; }
|
|
|
#define uintswap(a,b) ((b) = uintxchg_(&(a), (b)))
|
|
|
|
|
|
static inline int myabs(int a) { if (a<0) a = -a; return a; }
|
|
|
static inline int64 myabs64(int64 a) { if (a<0) a = -a; return a; }
|
|
|
|
|
|
static inline void swap_byte(byte *a, byte *b) { byte t = *a; *a = *b; *b = t; }
|
|
|
static inline void swap_uint16(uint16 *a, uint16 *b) { uint16 t = *a; *a = *b; *b = t; }
|
|
|
static inline void swap_int16(int16 *a, int16 *b) { int16 t = *a; *a = *b; *b = t; }
|
|
|
static inline void swap_uint32(uint32 *a, uint32 *b) { uint32 t = *a; *a = *b; *b = t; }
|
|
|
static inline void swap_int32(int32 *a, int32 *b) { int32 t = *a; *a = *b; *b = t; }
|
|
|
static inline void swap_tile(TileIndex *a, TileIndex *b) { TileIndex t = *a; *a = *b; *b = t; }
|