src/macros.h
changeset 5601 d58f82901b2f
parent 5587 167d9a91ef02
child 5602 bccd4b89e536
equal deleted inserted replaced
5600:19cb92f7ccf2 5601:d58f82901b2f
    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; }
    23 template <typename T> T max(T a, T b) { return a >= b ? a : b; }
    24 static inline double dmax(double a, double b) { if (a >= b) return a; return b; }
    24 
    25 static inline uint64 max64(uint64 a, uint64 b) { if (a >= b) return a; return b; }
       
    26 static inline int min(int a, int b) { if (a <= b) return a; return b; }
    25 static inline int min(int a, int b) { if (a <= b) return a; return b; }
    27 
    26 
    28 static inline uint minu(uint a, uint b) { if (a <= b) return a; return b; }
    27 static inline uint minu(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; }
       
    30 
    28 
    31 
    29 
    32 static inline int clamp(int a, int min, int max)
    30 static inline int clamp(int a, int min, int max)
    33 {
    31 {
    34 	if (a <= min) return min;
    32 	if (a <= min) return min;