| | #ifndef OPENPOSE_UTILITIES_MATH_HPP |
| | #define OPENPOSE_UTILITIES_MATH_HPP |
| |
|
| | namespace op |
| | { |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| |
|
| | |
| | |
| | template<typename T> |
| | inline char positiveCharRound(const T a) |
| | { |
| | return char(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline signed char positiveSCharRound(const T a) |
| | { |
| | return (signed char)(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline int positiveIntRound(const T a) |
| | { |
| | return int(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline long positiveLongRound(const T a) |
| | { |
| | return long(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline long long positiveLongLongRound(const T a) |
| | { |
| | return (long long)(a+0.5f); |
| | } |
| |
|
| | |
| | template<typename T> |
| | inline unsigned char uCharRound(const T a) |
| | { |
| | return (unsigned char)(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline unsigned int uIntRound(const T a) |
| | { |
| | return (unsigned int)(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline unsigned long ulongRound(const T a) |
| | { |
| | return (unsigned long)(a+0.5f); |
| | } |
| |
|
| | template<typename T> |
| | inline unsigned long long uLongLongRound(const T a) |
| | { |
| | return (unsigned long long)(a+0.5f); |
| | } |
| |
|
| | |
| | template<typename T> |
| | inline T fastMax(const T a, const T b) |
| | { |
| | return (a > b ? a : b); |
| | } |
| |
|
| | template<typename T> |
| | inline T fastMin(const T a, const T b) |
| | { |
| | return (a < b ? a : b); |
| | } |
| |
|
| | template<class T> |
| | inline T fastTruncate(T value, T min = 0, T max = 1) |
| | { |
| | return fastMin(max, fastMax(min, value)); |
| | } |
| | } |
| |
|
| | #endif |
| |
|