61 using namespace armnn;
64 BOOST_CHECK_THROW(numeric_cast<unsigned char>(-1), std::bad_cast);
65 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1 << 8), std::bad_cast);
66 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1L << 16), std::bad_cast);
67 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1LL << 32), std::bad_cast);
69 BOOST_CHECK_THROW(numeric_cast<signed char>((1L << 8)*-1), std::bad_cast);
70 BOOST_CHECK_THROW(numeric_cast<signed char>((1L << 15)*-1), std::bad_cast);
71 BOOST_CHECK_THROW(numeric_cast<signed char>((1LL << 31)*-1), std::bad_cast);
73 BOOST_CHECK_NO_THROW(numeric_cast<unsigned char>(1U));
74 BOOST_CHECK_NO_THROW(numeric_cast<unsigned char>(1L));
75 BOOST_CHECK_NO_THROW(numeric_cast<signed char>(-1));
76 BOOST_CHECK_NO_THROW(numeric_cast<signed char>(-1L));
77 BOOST_CHECK_NO_THROW(numeric_cast<signed char>((1 << 7)*-1));
80 BOOST_CHECK_THROW(numeric_cast<uint16_t>(-1), std::bad_cast);
81 BOOST_CHECK_THROW(numeric_cast<uint16_t>(1L << 16), std::bad_cast);
82 BOOST_CHECK_THROW(numeric_cast<uint16_t>(1LL << 32), std::bad_cast);
84 BOOST_CHECK_THROW(numeric_cast<int16_t>(1L << 15), std::bad_cast);
85 BOOST_CHECK_THROW(numeric_cast<int16_t>(1LL << 31), std::bad_cast);
87 BOOST_CHECK_NO_THROW(numeric_cast<uint16_t>(1L << 8));
88 BOOST_CHECK_NO_THROW(numeric_cast<int16_t>(1L << 7));
89 BOOST_CHECK_NO_THROW(numeric_cast<int16_t>((1L << 15)*-1));
92 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1));
93 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1 << 8));
94 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1L << 16));
95 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1LL << 31));
97 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>(-1));
98 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1L << 8)*-1));
99 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1L << 16)*-1));
100 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1LL << 31)*-1));
Copyright (c) 2020 ARM Limited.