@@ -177,6 +177,37 @@ static_assert(minimum<uint64_t> == min_uint64);
177177static_assert (minimum<uintx_t <42 >> == zero);
178178static_assert (is_same_type<decltype (minimum<int64_t >), const int64_t >);
179179
180+ // is_min
181+
182+ static_assert (is_min<int8_t >(min_int8));
183+ static_assert (is_min<int8_t >(min_int8));
184+ static_assert (is_min<int16_t >(min_int16));
185+ static_assert (is_min<int32_t >(min_int32));
186+ static_assert (is_min<int64_t >(min_int64));
187+ static_assert (is_min<uint8_t >(min_uint8));
188+ static_assert (is_min<uint16_t >(min_uint16));
189+ static_assert (is_min<uint32_t >(min_uint32));
190+ static_assert (is_min<uint64_t >(min_uint64));
191+ static_assert (!is_min<int8_t >(max_int8));
192+ static_assert (!is_min<int16_t >(max_int16));
193+ static_assert (!is_min<int32_t >(max_int32));
194+ static_assert (!is_min<int64_t >(max_int64));
195+ static_assert (!is_min<uint8_t >(max_uint8));
196+ static_assert (!is_min<uint16_t >(max_uint16));
197+ static_assert (!is_min<uint32_t >(max_uint32));
198+ static_assert (!is_min<uint64_t >(max_uint64));
199+ static_assert (!is_min<int8_t >(add1(min_int8)));
200+ static_assert (!is_min<int8_t >(add1(min_int8)));
201+ static_assert (!is_min<int16_t >(add1(min_int16)));
202+ static_assert (!is_min<int32_t >(add1(min_int32)));
203+ static_assert (!is_min<int64_t >(add1(min_int64)));
204+ static_assert (!is_min<uint8_t >(add1(min_uint8)));
205+ static_assert (!is_min<uint16_t >(add1(min_uint16)));
206+ static_assert (!is_min<uint32_t >(add1(min_uint32)));
207+ static_assert (!is_min<uint64_t >(add1(min_uint64)));
208+ static_assert (is_min<uintx_t <42 >>(zero));
209+ static_assert (is_same_type<decltype (is_min<int64_t >(0 )), bool >);
210+
180211// maximum<T>
181212
182213static_assert (maximum<int8_t > == max_int8);
@@ -190,6 +221,36 @@ static_assert(maximum<uint64_t> == max_uint64);
190221static_assert (maximum<uintx_t <42 >> == sub1(power2<uintx_t <42 >>(42u )));
191222static_assert (is_same_type<decltype (maximum<int16_t >), const int16_t >);
192223
224+ // is_max
225+
226+ static_assert (is_max<int8_t >(max_int8));
227+ static_assert (is_max<int16_t >(max_int16));
228+ static_assert (is_max<int32_t >(max_int32));
229+ static_assert (is_max<int64_t >(max_int64));
230+ static_assert (is_max<uint8_t >(max_uint8));
231+ static_assert (is_max<uint16_t >(max_uint16));
232+ static_assert (is_max<uint32_t >(max_uint32));
233+ static_assert (is_max<uint64_t >(max_uint64));
234+ static_assert (!is_max<int8_t >(min_int8));
235+ static_assert (!is_max<int8_t >(min_int8));
236+ static_assert (!is_max<int16_t >(min_int16));
237+ static_assert (!is_max<int32_t >(min_int32));
238+ static_assert (!is_max<int64_t >(min_int64));
239+ static_assert (!is_max<uint8_t >(min_uint8));
240+ static_assert (!is_max<uint16_t >(min_uint16));
241+ static_assert (!is_max<uint32_t >(min_uint32));
242+ static_assert (!is_max<uint64_t >(min_uint64));
243+ static_assert (!is_max<int8_t >(sub1(max_int8)));
244+ static_assert (!is_max<int16_t >(sub1(max_int16)));
245+ static_assert (!is_max<int32_t >(sub1(max_int32)));
246+ static_assert (!is_max<int64_t >(sub1(max_int64)));
247+ static_assert (!is_max<uint8_t >(sub1(max_uint8)));
248+ static_assert (!is_max<uint16_t >(sub1(max_uint16)));
249+ static_assert (!is_max<uint32_t >(sub1(max_uint32)));
250+ static_assert (!is_max<uint64_t >(sub1(max_uint64)));
251+ static_assert (is_max<uintx_t <42 >>(sub1(power2<uintx_t <42 >>(42u ))));
252+ static_assert (is_same_type<decltype (is_max<int16_t >(0 )), bool >);
253+
193254// absolute_min<T>
194255
195256static_assert (absolute_min<int8_t > == power2(sub1(bits<int8_t >)));
0 commit comments