mirror of
https://github.com/boostorg/endian.git
synced 2025-08-02 05:54:31 +02:00
Add test_copying_conditional_flip()
git-svn-id: http://svn.boost.org/svn/boost/sandbox/endian@72128 b8fc166d-592f-0410-95f2-cb63ce0dd405
This commit is contained in:
@@ -307,54 +307,125 @@ namespace
|
|||||||
ui16 = lui16;
|
ui16 = lui16;
|
||||||
be::from_little(ui16);
|
be::from_little(ui16);
|
||||||
BOOST_TEST_EQ(ui16, nui16);
|
BOOST_TEST_EQ(ui16, nui16);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
i32 = 0x01020304;
|
|
||||||
be::flip(i32);
|
|
||||||
BOOST_TEST_EQ(i32, 0x04030201);
|
|
||||||
be::flip(i32);
|
|
||||||
BOOST_TEST_EQ(i32, 0x01020304);
|
|
||||||
|
|
||||||
i32 = 0xfefdfcfb;
|
|
||||||
be::flip(i32);
|
|
||||||
BOOST_TEST_EQ(i32, static_cast<boost::int32_t>(0xfbfcfdfe));
|
|
||||||
be::flip(i32);
|
|
||||||
BOOST_TEST_EQ(i32, static_cast<boost::int32_t>(0xfefdfcfb));
|
|
||||||
|
|
||||||
i16 = 0x0102;
|
|
||||||
be::flip(i16);
|
|
||||||
BOOST_TEST_EQ(i16, 0x0201);
|
|
||||||
be::flip(i16);
|
|
||||||
BOOST_TEST_EQ(i16, 0x0102);
|
|
||||||
|
|
||||||
i16 = static_cast<boost::int16_t>(static_cast<boost::uint16_t>(0xfefd));
|
|
||||||
be::flip(i16);
|
|
||||||
BOOST_TEST_EQ(i16, static_cast<boost::int16_t>(static_cast<boost::uint16_t>(0xfdfe)));
|
|
||||||
be::flip(i16);
|
|
||||||
BOOST_TEST_EQ(i16, static_cast<boost::int16_t>(static_cast<boost::uint16_t>(0xfefd)));
|
|
||||||
|
|
||||||
ui64 = 0x0102030405060708ULL;
|
|
||||||
be::flip(ui64);
|
|
||||||
BOOST_TEST_EQ(ui64, static_cast<boost::uint64_t>(0x0807060504030201ULL));
|
|
||||||
be::flip(ui64);
|
|
||||||
BOOST_TEST_EQ(ui64, static_cast<boost::uint64_t>(0x0102030405060708ULL));
|
|
||||||
|
|
||||||
ui32 = 0x01020304;
|
|
||||||
be::flip(ui32);
|
|
||||||
BOOST_TEST_EQ(ui32, static_cast<boost::uint32_t>(0x04030201));
|
|
||||||
be::flip(ui32);
|
|
||||||
BOOST_TEST_EQ(ui32, static_cast<boost::uint32_t>(0x01020304));
|
|
||||||
|
|
||||||
ui16 = 0x0102;
|
|
||||||
be::flip(ui16);
|
|
||||||
BOOST_TEST_EQ(ui16, 0x0201);
|
|
||||||
be::flip(ui16);
|
|
||||||
BOOST_TEST_EQ(ui16, 0x0102);
|
|
||||||
|
|
||||||
std::cout << " test_in_place_conditional_flip complete\n";
|
std::cout << " test_in_place_conditional_flip complete\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_copying_conditional_flip()
|
||||||
|
{
|
||||||
|
std::cout << "test_copying_conditional_flip...\n";
|
||||||
|
|
||||||
|
boost::int64_t i64, ti64;
|
||||||
|
|
||||||
|
i64 = ni64;
|
||||||
|
be::to_big(i64, ti64);
|
||||||
|
BOOST_TEST_EQ(ti64, bi64);
|
||||||
|
|
||||||
|
i64 = ni64;
|
||||||
|
be::to_little(i64, ti64);
|
||||||
|
BOOST_TEST_EQ(ti64, li64);
|
||||||
|
|
||||||
|
i64 = bi64;
|
||||||
|
be::from_big(i64, ti64);
|
||||||
|
BOOST_TEST_EQ(ti64, ni64);
|
||||||
|
|
||||||
|
i64 = li64;
|
||||||
|
be::from_little(i64, ti64);
|
||||||
|
BOOST_TEST_EQ(ti64, ni64);
|
||||||
|
|
||||||
|
boost::uint64_t ui64, tui64;
|
||||||
|
|
||||||
|
ui64 = nui64;
|
||||||
|
be::to_big(ui64, tui64);
|
||||||
|
BOOST_TEST_EQ(tui64, bui64);
|
||||||
|
|
||||||
|
ui64 = nui64;
|
||||||
|
be::to_little(ui64, tui64);
|
||||||
|
BOOST_TEST_EQ(tui64, lui64);
|
||||||
|
|
||||||
|
ui64 = bui64;
|
||||||
|
be::from_big(ui64, tui64);
|
||||||
|
BOOST_TEST_EQ(tui64, nui64);
|
||||||
|
|
||||||
|
ui64 = lui64;
|
||||||
|
be::from_little(ui64, tui64);
|
||||||
|
BOOST_TEST_EQ(tui64, nui64);
|
||||||
|
|
||||||
|
boost::int32_t i32, ti32;
|
||||||
|
|
||||||
|
i32 = ni32;
|
||||||
|
be::to_big(i32, ti32);
|
||||||
|
BOOST_TEST_EQ(ti32, bi32);
|
||||||
|
|
||||||
|
i32 = ni32;
|
||||||
|
be::to_little(i32, ti32);
|
||||||
|
BOOST_TEST_EQ(ti32, li32);
|
||||||
|
|
||||||
|
i32 = bi32;
|
||||||
|
be::from_big(i32, ti32);
|
||||||
|
BOOST_TEST_EQ(ti32, ni32);
|
||||||
|
|
||||||
|
i32 = li32;
|
||||||
|
be::from_little(i32, ti32);
|
||||||
|
BOOST_TEST_EQ(ti32, ni32);
|
||||||
|
|
||||||
|
boost::uint32_t ui32, tui32;
|
||||||
|
|
||||||
|
ui32 = nui32;
|
||||||
|
be::to_big(ui32, tui32);
|
||||||
|
BOOST_TEST_EQ(tui32, bui32);
|
||||||
|
|
||||||
|
ui32 = nui32;
|
||||||
|
be::to_little(ui32, tui32);
|
||||||
|
BOOST_TEST_EQ(tui32, lui32);
|
||||||
|
|
||||||
|
ui32 = bui32;
|
||||||
|
be::from_big(ui32, tui32);
|
||||||
|
BOOST_TEST_EQ(tui32, nui32);
|
||||||
|
|
||||||
|
ui32 = lui32;
|
||||||
|
be::from_little(ui32, tui32);
|
||||||
|
BOOST_TEST_EQ(tui32, nui32);
|
||||||
|
|
||||||
|
boost::int16_t i16, ti16;
|
||||||
|
|
||||||
|
i16 = ni16;
|
||||||
|
be::to_big(i16, ti16);
|
||||||
|
BOOST_TEST_EQ(ti16, bi16);
|
||||||
|
|
||||||
|
i16 = ni16;
|
||||||
|
be::to_little(i16, ti16);
|
||||||
|
BOOST_TEST_EQ(ti16, li16);
|
||||||
|
|
||||||
|
i16 = bi16;
|
||||||
|
be::from_big(i16, ti16);
|
||||||
|
BOOST_TEST_EQ(ti16, ni16);
|
||||||
|
|
||||||
|
i16 = li16;
|
||||||
|
be::from_little(i16, ti16);
|
||||||
|
BOOST_TEST_EQ(ti16, ni16);
|
||||||
|
|
||||||
|
boost::uint16_t ui16, tui16;
|
||||||
|
|
||||||
|
ui16 = nui16;
|
||||||
|
be::to_big(ui16, tui16);
|
||||||
|
BOOST_TEST_EQ(tui16, bui16);
|
||||||
|
|
||||||
|
ui16 = nui16;
|
||||||
|
be::to_little(ui16, tui16);
|
||||||
|
BOOST_TEST_EQ(tui16, lui16);
|
||||||
|
|
||||||
|
ui16 = bui16;
|
||||||
|
be::from_big(ui16, tui16);
|
||||||
|
BOOST_TEST_EQ(tui16, nui16);
|
||||||
|
|
||||||
|
ui16 = lui16;
|
||||||
|
be::from_little(ui16, tui16);
|
||||||
|
BOOST_TEST_EQ(tui16, nui16);
|
||||||
|
|
||||||
|
std::cout << " test_copying_conditional_flip complete\n";
|
||||||
|
}
|
||||||
|
|
||||||
} // unnamed namespace
|
} // unnamed namespace
|
||||||
|
|
||||||
int cpp_main(int, char * [])
|
int cpp_main(int, char * [])
|
||||||
@@ -363,6 +434,7 @@ int cpp_main(int, char * [])
|
|||||||
test_in_place_flip();
|
test_in_place_flip();
|
||||||
test_copying_flip();
|
test_copying_flip();
|
||||||
test_in_place_conditional_flip();
|
test_in_place_conditional_flip();
|
||||||
|
test_copying_conditional_flip();
|
||||||
|
|
||||||
return ::boost::report_errors();
|
return ::boost::report_errors();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user