|
@@ -103,14 +103,14 @@
|
103
|
103
|
|
104
|
104
|
// C++11 solution that is standards compliant.
|
105
|
105
|
template <class V, class N> static inline constexpr void NOLESS(V& v, const N n) {
|
106
|
|
- if (v < n) v = n;
|
|
106
|
+ if (n > v) v = n;
|
107
|
107
|
}
|
108
|
108
|
template <class V, class N> static inline constexpr void NOMORE(V& v, const N n) {
|
109
|
|
- if (v > n) v = n;
|
|
109
|
+ if (n < v) v = n;
|
110
|
110
|
}
|
111
|
111
|
template <class V, class N1, class N2> static inline constexpr void LIMIT(V& v, const N1 n1, const N2 n2) {
|
112
|
|
- if (v < n1) v = n1;
|
113
|
|
- else if (v > n2) v = n2;
|
|
112
|
+ if (n1 > v) v = n1;
|
|
113
|
+ else if (n2 < v) v = n2;
|
114
|
114
|
}
|
115
|
115
|
|
116
|
116
|
#else
|
|
@@ -120,21 +120,21 @@
|
120
|
120
|
#define NOLESS(v, n) \
|
121
|
121
|
do{ \
|
122
|
122
|
__typeof__(n) _n = (n); \
|
123
|
|
- if (v < _n) v = _n; \
|
|
123
|
+ if (_n > v) v = _n; \
|
124
|
124
|
}while(0)
|
125
|
125
|
|
126
|
126
|
#define NOMORE(v, n) \
|
127
|
127
|
do{ \
|
128
|
128
|
__typeof__(n) _n = (n); \
|
129
|
|
- if (v > _n) v = _n; \
|
|
129
|
+ if (_n < v) v = _n; \
|
130
|
130
|
}while(0)
|
131
|
131
|
|
132
|
132
|
#define LIMIT(v, n1, n2) \
|
133
|
133
|
do{ \
|
134
|
134
|
__typeof__(n1) _n1 = (n1); \
|
135
|
135
|
__typeof__(n2) _n2 = (n2); \
|
136
|
|
- if (v < _n1) v = _n1; \
|
137
|
|
- else if (v > _n2) v = _n2; \
|
|
136
|
+ if (_n1 > v) v = _n1; \
|
|
137
|
+ else if (_n2 < v) v = _n2; \
|
138
|
138
|
}while(0)
|
139
|
139
|
|
140
|
140
|
#endif
|