1 // 2 // Copyright 2018-2020 Mateusz Loskot <mateusz at loskot dot net> 3 // 4 // Distributed under the Boost Software License, Version 1.0 5 // See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt 7 // 8 #include <boost/gil/channel.hpp> 9 #include <boost/gil/typedefs.hpp> 10 11 #include <boost/core/lightweight_test.hpp> 12 13 #include <cstdint> 14 #include <limits> 15 16 namespace gil = boost::gil; 17 18 template <typename T> test_channel_minmax()19void test_channel_minmax() 20 { 21 BOOST_TEST_EQ(gil::channel_traits<T>::min_value(), std::numeric_limits<T>::min()); 22 BOOST_TEST_EQ(gil::channel_traits<T>::max_value(), std::numeric_limits<T>::max()); 23 } 24 test_channel_minmax_uint8_t()25void test_channel_minmax_uint8_t() 26 { 27 test_channel_minmax<std::uint8_t>(); 28 } 29 test_channel_minmax_int8_t()30void test_channel_minmax_int8_t() 31 { 32 test_channel_minmax<std::int8_t>(); 33 } 34 test_channel_minmax_uint16_t()35void test_channel_minmax_uint16_t() 36 { 37 test_channel_minmax<std::uint16_t>(); 38 } 39 test_channel_minmax_int16_t()40void test_channel_minmax_int16_t() 41 { 42 test_channel_minmax<std::int16_t>(); 43 } 44 test_channel_minmax_uint32_t()45void test_channel_minmax_uint32_t() 46 { 47 test_channel_minmax<std::uint32_t>(); 48 } 49 test_channel_minmax_int32_t()50void test_channel_minmax_int32_t() 51 { 52 test_channel_minmax<std::int32_t>(); 53 } 54 main()55int main() 56 { 57 test_channel_minmax_uint8_t(); 58 test_channel_minmax_int8_t(); 59 test_channel_minmax_uint16_t(); 60 test_channel_minmax_int16_t(); 61 test_channel_minmax_uint32_t(); 62 test_channel_minmax_int32_t(); 63 64 return ::boost::report_errors(); 65 } 66