|
#include <unittest/unittest.h> |
|
#include <thrust/detail/cstdint.h> |
|
|
|
#include <limits> |
|
|
|
void TestStandardIntegerTypes(void) |
|
{ |
|
ASSERT_EQUAL(sizeof(thrust::detail::int8_t), 1lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::int16_t), 2lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::int32_t), 4lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::int64_t), 8lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::uint8_t), 1lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::uint16_t), 2lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::uint32_t), 4lu); |
|
ASSERT_EQUAL(sizeof(thrust::detail::uint64_t), 8lu); |
|
|
|
ASSERT_EQUAL(sizeof(thrust::detail::intptr_t), sizeof(void *)); |
|
ASSERT_EQUAL(sizeof(thrust::detail::uintptr_t), sizeof(void *)); |
|
|
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int8_t >::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int16_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int32_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int64_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint8_t >::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint16_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint32_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint64_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int8_t >::is_signed, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int16_t>::is_signed, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int32_t>::is_signed, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::int64_t>::is_signed, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint8_t >::is_signed, false); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint16_t>::is_signed, false); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint32_t>::is_signed, false); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uint64_t>::is_signed, false); |
|
|
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::intptr_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uintptr_t>::is_integer, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::intptr_t>::is_signed, true); |
|
ASSERT_EQUAL(std::numeric_limits<thrust::detail::uintptr_t>::is_signed, false); |
|
} |
|
DECLARE_UNITTEST(TestStandardIntegerTypes); |
|
|
|
|