26 template<
class T>
inline T&
min(T& a, T&b)
27 {
return (a<b ? a : b); }
37 template<
class T>
inline T&
min(T& a, T& b, T& c)
38 {
return (a<b ? (a<c ? a : c) : (b<c ? b : c)); }
47 template<
class T>
inline T&
max(T& a, T& b)
48 {
return (a<b ? b : a); }
58 template<
class T>
inline T&
max(T& a, T& b, T& c)
59 {
return (a<b ? (b<c ? c : b) : (a<c ? c : a)); }
62 {
if (val < min) val =
min; }
65 {
if (val < min) val =
min; }
68 {
if (val > max) val =
max; }
71 {
return ( val<min ? min : (val>max?max:val) ); }
74 {
return ( val<min ? min : val ); }
77 {
return ( val>max ? max : val ); }
80 {
return (val >= min && val <= max); }
83 {
return ( (val<min || val>max) ? invalid : val ); }
85 template<
class T>
inline T
first(T val1, T val2)
86 {
return ( val1 ? val1 : val2 ); }
88 template<
class T>
inline T
first(T val1, T val2, T val3)
89 {
return ( val1 ? val1 : (val2?val2:val3) ); }
T & max(T &a, T &b)
Returns highest of given values.
Definition: alg.h:47
T & constrain(T &val, T &min, T &max)
Definition: alg.h:70
T first(T val1, T val2)
Definition: alg.h:85
bool validate(T &val, T &min, T &max)
Definition: alg.h:79
T & applymin(T &val, T &min)
Definition: alg.h:64
Evo C++ Library namespace.
Definition: alg.h:11
T & constrainmin(T &val, T &min)
Definition: alg.h:73
T & constrainmax(T &val, T &max)
Definition: alg.h:76
T & applyminmax(T &val, T &min, T &max)
Definition: alg.h:61
T & applymax(T &val, T &max)
Definition: alg.h:67
T & min(T &a, T &b)
Returns lowest of given values.
Definition: alg.h:26