Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEN_MINMAX_H
00018 #define GEN_MINMAX_H
00019
00020 template <class T>
00021 SIMD_FORCE_INLINE const T& btMin(const T& a, const T& b)
00022 {
00023 return a < b ? a : b ;
00024 }
00025
00026 template <class T>
00027 SIMD_FORCE_INLINE const T& btMax(const T& a, const T& b)
00028 {
00029 return a > b ? a : b;
00030 }
00031
00032 template <class T>
00033 SIMD_FORCE_INLINE const T& GEN_clamped(const T& a, const T& lb, const T& ub)
00034 {
00035 return a < lb ? lb : (ub < a ? ub : a);
00036 }
00037
00038 template <class T>
00039 SIMD_FORCE_INLINE void btSetMin(T& a, const T& b)
00040 {
00041 if (b < a)
00042 {
00043 a = b;
00044 }
00045 }
00046
00047 template <class T>
00048 SIMD_FORCE_INLINE void btSetMax(T& a, const T& b)
00049 {
00050 if (a < b)
00051 {
00052 a = b;
00053 }
00054 }
00055
00056 template <class T>
00057 SIMD_FORCE_INLINE void GEN_clamp(T& a, const T& lb, const T& ub)
00058 {
00059 if (a < lb)
00060 {
00061 a = lb;
00062 }
00063 else if (ub < a)
00064 {
00065 a = ub;
00066 }
00067 }
00068
00069 #endif