mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-26 02:18:04 +01:00
separate function for unsigned to string conversion
Separated unsigned integer conversion to eliminate warnings (and slightly improve performance). Added Darwin-clang warning suppression for unused functions/variables
This commit is contained in:
@@ -62,6 +62,7 @@ using Poco::cat;
|
||||
using Poco::strToInt;
|
||||
using Poco::strToFloat;
|
||||
using Poco::intToStr;
|
||||
using Poco::uIntToStr;
|
||||
using Poco::strToDoubleDC;
|
||||
using Poco::floatToStr;
|
||||
using Poco::doubleToStr;
|
||||
@@ -751,65 +752,65 @@ void StringTest::testIntToString()
|
||||
assert (result == "1001001100101100000001011010010");
|
||||
assert (intToStr(1234567890, 2, result, true, 35, '0'));
|
||||
assert (result == "00001001001100101100000001011010010");
|
||||
assert (intToStr(0xFF, 2, result));
|
||||
assert (uIntToStr(0xFF, 2, result));
|
||||
assert (result == "11111111");
|
||||
assert (intToStr(0x0F, 2, result, false, 8, '0'));
|
||||
assert (uIntToStr(0x0F, 2, result, false, 8, '0'));
|
||||
assert (result == "00001111");
|
||||
assert (intToStr(0x0F, 2, result));
|
||||
assert (uIntToStr(0x0F, 2, result));
|
||||
assert (result == "1111");
|
||||
assert (intToStr(0xF0, 2, result));
|
||||
assert (uIntToStr(0xF0, 2, result));
|
||||
assert (result == "11110000");
|
||||
assert (intToStr(0xFFFF, 2, result));
|
||||
assert (uIntToStr(0xFFFF, 2, result));
|
||||
assert (result == "1111111111111111");
|
||||
assert (intToStr(0xFF00, 2, result));
|
||||
assert (uIntToStr(0xFF00, 2, result));
|
||||
assert (result == "1111111100000000");
|
||||
assert (intToStr(0xFFFFFFFF, 2, result));
|
||||
assert (uIntToStr(0xFFFFFFFF, 2, result));
|
||||
assert (result == "11111111111111111111111111111111");
|
||||
assert (intToStr(0xFF00FF00, 2, result));
|
||||
assert (uIntToStr(0xFF00FF00, 2, result));
|
||||
assert (result == "11111111000000001111111100000000");
|
||||
assert (intToStr(0xF0F0F0F0, 2, result));
|
||||
assert (uIntToStr(0xF0F0F0F0, 2, result));
|
||||
assert (result == "11110000111100001111000011110000");
|
||||
#if defined(POCO_HAVE_INT64)
|
||||
assert (intToStr(0xFFFFFFFFFFFFFFFF, 2, result));
|
||||
assert (uIntToStr(0xFFFFFFFFFFFFFFFF, 2, result));
|
||||
std::cout << 0xFFFFFFFFFFFFFFFF << std::endl;
|
||||
assert (result == "1111111111111111111111111111111111111111111111111111111111111111");
|
||||
assert (intToStr(0xFF00000FF00000FF, 2, result));
|
||||
assert (uIntToStr(0xFF00000FF00000FF, 2, result));
|
||||
assert (result == "1111111100000000000000000000111111110000000000000000000011111111");
|
||||
#endif
|
||||
|
||||
// octal
|
||||
assert (intToStr(1234567890, 010, result));
|
||||
assert (uIntToStr(1234567890, 010, result));
|
||||
assert (result == "11145401322");
|
||||
assert (intToStr(1234567890, 010, result, true));
|
||||
assert (uIntToStr(1234567890, 010, result, true));
|
||||
assert (result == "011145401322");
|
||||
assert (intToStr(1234567890, 010, result, true, 15, '0'));
|
||||
assert (uIntToStr(1234567890, 010, result, true, 15, '0'));
|
||||
assert (result == "000011145401322");
|
||||
assert (intToStr(012345670, 010, result, true));
|
||||
assert (uIntToStr(012345670, 010, result, true));
|
||||
assert (result == "012345670");
|
||||
assert (intToStr(012345670, 010, result));
|
||||
assert (uIntToStr(012345670, 010, result));
|
||||
assert (result == "12345670");
|
||||
|
||||
// hexadecimal
|
||||
assert (intToStr(0, 0x10, result, true));
|
||||
assert (uIntToStr(0, 0x10, result, true));
|
||||
assert (result == "0x0");
|
||||
assert (intToStr(0, 0x10, result, true, 4, '0'));
|
||||
assert (uIntToStr(0, 0x10, result, true, 4, '0'));
|
||||
assert (result == "0x00");
|
||||
assert (intToStr(0, 0x10, result, false, 4, '0'));
|
||||
assert (uIntToStr(0, 0x10, result, false, 4, '0'));
|
||||
assert (result == "0000");
|
||||
assert (intToStr(1234567890, 0x10, result));
|
||||
assert (uIntToStr(1234567890, 0x10, result));
|
||||
assert (result == "499602D2");
|
||||
assert (intToStr(1234567890, 0x10, result, true));
|
||||
assert (uIntToStr(1234567890, 0x10, result, true));
|
||||
assert (result == "0x499602D2");
|
||||
assert (intToStr(1234567890, 0x10, result, true, 15, '0'));
|
||||
assert (uIntToStr(1234567890, 0x10, result, true, 15, '0'));
|
||||
assert (result == "0x00000499602D2");
|
||||
assert (intToStr(0x1234567890ABCDEF, 0x10, result, true));
|
||||
assert (uIntToStr(0x1234567890ABCDEF, 0x10, result, true));
|
||||
assert (result == "0x1234567890ABCDEF");
|
||||
assert (intToStr(0xDEADBEEF, 0x10, result));
|
||||
assert (uIntToStr(0xDEADBEEF, 0x10, result));
|
||||
assert (result == "DEADBEEF");
|
||||
#if defined(POCO_HAVE_INT64)
|
||||
assert (intToStr(0xFFFFFFFFFFFFFFFF, 0x10, result));
|
||||
assert (uIntToStr(0xFFFFFFFFFFFFFFFF, 0x10, result));
|
||||
assert (result == "FFFFFFFFFFFFFFFF");
|
||||
assert (intToStr(0xFFFFFFFFFFFFFFFF, 0x10, result, true));
|
||||
assert (uIntToStr(0xFFFFFFFFFFFFFFFF, 0x10, result, true));
|
||||
assert (result == "0xFFFFFFFFFFFFFFFF");
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user