Merge pull request 'feat add clamp' (#5) from feat/add_clamp into develop
All checks were successful
rpcrypto-build / build (Debug, himix200.toolchain.cmake) (push) Successful in 1m2s
rpcrypto-build / build (Debug, hisiv510.toolchain.cmake) (push) Successful in 57s
rpcrypto-build / build (Release, himix200.toolchain.cmake) (push) Successful in 1m1s
linux-hisiv500-gcc / linux-gcc-hisiv500 (push) Successful in 1m7s
rpcrypto-build / build (Release, hisiv510.toolchain.cmake) (push) Successful in 1m12s
linux-mips64-gcc / linux-gcc-mips64el (push) Successful in 1m26s
linux-x64-gcc / linux-gcc (push) Successful in 1m51s

Reviewed-on: #5
This commit is contained in:
tqcq 2024-01-12 07:27:29 +00:00
commit 5f4384e173

22
src/ulib/utils/utils.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef ULIB_SRC_ULIB_UTILS_UTILS_H_
#define ULIB_SRC_ULIB_UTILS_UTILS_H_
#include <functional>
namespace ulib {
template<typename T>
const T &
Clamp(const T &value, const T &low, const T &high)
{
return Clamp(value, low, high, std::less<T>{});
}
template<typename T, typename Comp>
const T &
Clamp(const T &value, const T &low, const T &high, Comp comp)
{
return comp(value, low) ? low : (comp(high, value) ? high : value);
}
}// namespace ulib
#endif// ULIB_SRC_ULIB_UTILS_UTILS_H_