blob: f9337b28e469ecccbcb3e9d0a638006a3983ace1 [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#ifndef AOS_COMMON_MATH_H_
2#define AOS_COMMON_MATH_H_
3
4namespace aos {
5
6// Clips a value so that it is in [min, max]
Brian Silvermanad9e0002014-04-13 14:55:57 -07007static inline double Clip(double value, double min, double max) {
brians343bc112013-02-10 01:53:46 +00008 if (value > max) {
9 value = max;
10 } else if (value < min) {
11 value = min;
12 }
13 return value;
14}
15
Brian Silvermanad9e0002014-04-13 14:55:57 -070016template <typename T>
17static inline int sign(T val) {
18 if (val > T(0)) {
19 return 1;
20 } else {
21 return -1;
22 }
23}
24
brians343bc112013-02-10 01:53:46 +000025} // namespace aos
26
27#endif // AOS_COMMON_MATH_H_