src/macros.h
changeset 5838 9c3129cb019b
parent 5726 8f399788f6c9
child 5852 cb3f71b16e1a
equal deleted inserted replaced
5837:96b4b92b86ae 5838:9c3129cb019b
    18 
    18 
    19 #ifdef max
    19 #ifdef max
    20 #undef max
    20 #undef max
    21 #endif
    21 #endif
    22 
    22 
       
    23 static inline int max(int a, int b) { if (a >= b) return a; return b; }
       
    24 static inline double dmax(double a, double b) { if (a >= b) return a; return b; }
       
    25 static inline uint64 max64(uint64 a, uint64 b) { if (a >= b) return a; return b; }
    23 static inline int min(int a, int b) { if (a <= b) return a; return b; }
    26 static inline int min(int a, int b) { if (a <= b) return a; return b; }
    24 static inline int max(int a, int b) { if (a >= b) return a; return b; }
       
    25 static inline int64 max64(int64 a, int64 b) { if (a >= b) return a; return b; }
       
    26 
    27 
    27 static inline uint minu(uint a, uint b) { if (a <= b) return a; return b; }
    28 static inline uint minu(uint a, uint b) { if (a <= b) return a; return b; }
    28 static inline uint maxu(uint a, uint b) { if (a >= b) return a; return b; }
    29 static inline uint maxu(uint a, uint b) { if (a >= b) return a; return b; }
    29 
    30 
    30 
    31 
   134 	for (_i = 0; _b != 0; _i++, _b >>= 1) \
   135 	for (_i = 0; _b != 0; _i++, _b >>= 1) \
   135 		if (_b & 1)
   136 		if (_b & 1)
   136 
   137 
   137 #define abs myabs
   138 #define abs myabs
   138 
   139 
   139 
       
   140 static inline int intxchg_(int *a, int b) { int t = *a; *a = b; return t; }
   140 static inline int intxchg_(int *a, int b) { int t = *a; *a = b; return t; }
   141 #define intswap(a,b) ((b) = intxchg_(&(a), (b)))
   141 #define intswap(a,b) ((b) = intxchg_(&(a), (b)))
   142 static inline int uintxchg_(uint *a, uint b) { uint t = *a; *a = b; return t; }
   142 static inline int uintxchg_(uint *a, uint b) { uint t = *a; *a = b; return t; }
   143 #define uintswap(a,b) ((b) = uintxchg_(&(a), (b)))
   143 #define uintswap(a,b) ((b) = uintxchg_(&(a), (b)))
   144 
       
   145 static inline int myabs(int a) { if (a<0) a = -a; return a; }
       
   146 static inline int64 myabs64(int64 a) { if (a<0) a = -a; return a; }
       
   147 
   144 
   148 static inline void swap_byte(byte *a, byte *b) { byte t = *a; *a = *b; *b = t; }
   145 static inline void swap_byte(byte *a, byte *b) { byte t = *a; *a = *b; *b = t; }
   149 static inline void swap_uint16(uint16 *a, uint16 *b) { uint16 t = *a; *a = *b; *b = t; }
   146 static inline void swap_uint16(uint16 *a, uint16 *b) { uint16 t = *a; *a = *b; *b = t; }
   150 static inline void swap_int16(int16 *a, int16 *b) { int16 t = *a; *a = *b; *b = t; }
   147 static inline void swap_int16(int16 *a, int16 *b) { int16 t = *a; *a = *b; *b = t; }
   151 static inline void swap_uint32(uint32 *a, uint32 *b) { uint32 t = *a; *a = *b; *b = t; }
   148 static inline void swap_uint32(uint32 *a, uint32 *b) { uint32 t = *a; *a = *b; *b = t; }