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 BT_GEN_MINMAX_H
00018 #define BT_GEN_MINMAX_H
00019
00020 #include "LinearMath/btScalar.h"
00021
00022 template <class T>
00023 SIMD_FORCE_INLINE const T& btMin(const T& a, const T& b)
00024 {
00025 return a < b ? a : b ;
00026 }
00027
00028 template <class T>
00029 SIMD_FORCE_INLINE const T& btMax(const T& a, const T& b)
00030 {
00031 return a > b ? a : b;
00032 }
00033
00034 template <class T>
00035 SIMD_FORCE_INLINE const T& btClamped(const T& a, const T& lb, const T& ub)
00036 {
00037 return a < lb ? lb : (ub < a ? ub : a);
00038 }
00039
00040 template <class T>
00041 SIMD_FORCE_INLINE void btSetMin(T& a, const T& b)
00042 {
00043 if (b < a)
00044 {
00045 a = b;
00046 }
00047 }
00048
00049 template <class T>
00050 SIMD_FORCE_INLINE void btSetMax(T& a, const T& b)
00051 {
00052 if (a < b)
00053 {
00054 a = b;
00055 }
00056 }
00057
00058 template <class T>
00059 SIMD_FORCE_INLINE void btClamp(T& a, const T& lb, const T& ub)
00060 {
00061 if (a < lb)
00062 {
00063 a = lb;
00064 }
00065 else if (ub < a)
00066 {
00067 a = ub;
00068 }
00069 }
00070
00071 #endif //BT_GEN_MINMAX_H