diff options
Diffstat (limited to 'services/surfaceflinger/clz.h')
-rw-r--r-- | services/surfaceflinger/clz.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/services/surfaceflinger/clz.h b/services/surfaceflinger/clz.h index ca44555..a4c5262 100644 --- a/services/surfaceflinger/clz.h +++ b/services/surfaceflinger/clz.h @@ -24,6 +24,41 @@ int inline clz(int32_t x) { return __builtin_clz(x); } +template <typename T> +static inline T min(T a, T b) { + return a<b ? a : b; +} +template <typename T> +static inline T min(T a, T b, T c) { + return min(a, min(b, c)); +} +template <typename T> +static inline T min(T a, T b, T c, T d) { + return min(a, b, min(c, d)); +} + +template <typename T> +static inline T max(T a, T b) { + return a>b ? a : b; +} +template <typename T> +static inline T max(T a, T b, T c) { + return max(a, max(b, c)); +} +template <typename T> +static inline T max(T a, T b, T c, T d) { + return max(a, b, max(c, d)); +} + +template <typename T> +static inline +void swap(T& a, T& b) { + T t(a); + a = b; + b = t; +} + + }; // namespace android #endif /* ANDROID_SURFACE_FLINGER_CLZ_H */ |