133 using namespace armnn;
136 BOOST_CHECK_THROW(numeric_cast<unsigned char>(-1), std::bad_cast);
137 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1 << 8), std::bad_cast);
138 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1L << 16), std::bad_cast);
139 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1LL << 32), std::bad_cast);
141 BOOST_CHECK_THROW(numeric_cast<signed char>((1L << 8)*-1), std::bad_cast);
142 BOOST_CHECK_THROW(numeric_cast<signed char>((1L << 15)*-1), std::bad_cast);
143 BOOST_CHECK_THROW(numeric_cast<signed char>((1LL << 31)*-1), std::bad_cast);
145 BOOST_CHECK_NO_THROW(numeric_cast<unsigned char>(1U));
146 BOOST_CHECK_NO_THROW(numeric_cast<unsigned char>(1L));
147 BOOST_CHECK_NO_THROW(numeric_cast<signed char>(-1));
148 BOOST_CHECK_NO_THROW(numeric_cast<signed char>(-1L));
149 BOOST_CHECK_NO_THROW(numeric_cast<signed char>((1 << 7)*-1));
152 BOOST_CHECK_THROW(numeric_cast<uint16_t>(-1), std::bad_cast);
153 BOOST_CHECK_THROW(numeric_cast<uint16_t>(1L << 16), std::bad_cast);
154 BOOST_CHECK_THROW(numeric_cast<uint16_t>(1LL << 32), std::bad_cast);
156 BOOST_CHECK_THROW(numeric_cast<int16_t>(1L << 15), std::bad_cast);
157 BOOST_CHECK_THROW(numeric_cast<int16_t>(1LL << 31), std::bad_cast);
159 BOOST_CHECK_NO_THROW(numeric_cast<uint16_t>(1L << 8));
160 BOOST_CHECK_NO_THROW(numeric_cast<int16_t>(1L << 7));
161 BOOST_CHECK_NO_THROW(numeric_cast<int16_t>((1L << 15)*-1));
164 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1));
165 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1 << 8));
166 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1L << 16));
167 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1LL << 31));
169 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>(-1));
170 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1L << 8)*-1));
171 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1L << 16)*-1));
172 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1LL << 31)*-1));
Copyright (c) 2020 ARM Limited.