From 80c6b146046252af153af27025a28fb59d33c5e6 Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Tue, 8 Sep 2020 12:00:32 +0100 Subject: IVGCVSW-5299 Remove some boost::numeric_cast from armnn/tests * Replaced with armnn/utility/NumericCast.hpp * Removed combinations without float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan Change-Id: Ia4ec605f063cdb0071fff302ef48c610f9f9505e --- tests/CaffePreprocessor.cpp | 5 +++-- tests/Cifar10Database.cpp | 11 ++++++----- tests/DeepSpeechV1Database.hpp | 5 ++--- tests/DeepSpeechV1InferenceTest.hpp | 1 - tests/ImagePreprocessor.cpp | 6 +++--- tests/InferenceModel.hpp | 7 ++++--- tests/InferenceTest.inl | 4 +++- tests/InferenceTestImage.cpp | 15 ++++++++------- tests/MnistDatabase.cpp | 5 ++--- tests/MobileNetSsdDatabase.hpp | 5 ++--- tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp | 7 ++++--- tests/YoloDatabase.cpp | 5 +++-- tests/profiling/gatordmock/tests/GatordMockTests.cpp | 12 +++++------- 13 files changed, 45 insertions(+), 43 deletions(-) (limited to 'tests') diff --git a/tests/CaffePreprocessor.cpp b/tests/CaffePreprocessor.cpp index b92f1f7108..e531a31a62 100644 --- a/tests/CaffePreprocessor.cpp +++ b/tests/CaffePreprocessor.cpp @@ -5,7 +5,8 @@ #include "InferenceTestImage.hpp" #include "CaffePreprocessor.hpp" -#include +#include + #include #include @@ -28,7 +29,7 @@ CaffePreprocessor::CaffePreprocessor(const std::string& binaryFileDirectory, uns std::unique_ptr CaffePreprocessor::GetTestCaseData(unsigned int testCaseId) { - testCaseId = testCaseId % boost::numeric_cast(m_ImageSet.size()); + testCaseId = testCaseId % armnn::numeric_cast(m_ImageSet.size()); const ImageSet& imageSet = m_ImageSet[testCaseId]; const std::string fullPath = m_BinaryDirectory + imageSet.first; diff --git a/tests/Cifar10Database.cpp b/tests/Cifar10Database.cpp index db2a234161..9e90da5032 100644 --- a/tests/Cifar10Database.cpp +++ b/tests/Cifar10Database.cpp @@ -5,8 +5,8 @@ #include "Cifar10Database.hpp" #include +#include -#include #include #include @@ -70,9 +70,10 @@ std::unique_ptr Cifar10Database::GetTestCaseData { for (unsigned int w = 0; w < 32; w++) { - inputImageData[countR_o] = boost::numeric_cast(I[countR++]); - inputImageData[countG_o] = boost::numeric_cast(I[countG++]); - inputImageData[countB_o] = boost::numeric_cast(I[countB++]); + // Static_cast of unsigned char is safe with float + inputImageData[countR_o] = static_cast(I[countR++]); + inputImageData[countG_o] = static_cast(I[countG++]); + inputImageData[countB_o] = static_cast(I[countB++]); countR_o += step; countG_o += step; @@ -80,6 +81,6 @@ std::unique_ptr Cifar10Database::GetTestCaseData } } - const unsigned int label = boost::numeric_cast(I[0]); + const unsigned int label = armnn::numeric_cast(I[0]); return std::make_unique(label, std::move(inputImageData)); } diff --git a/tests/DeepSpeechV1Database.hpp b/tests/DeepSpeechV1Database.hpp index fa7dda0d76..5e721c3cb9 100644 --- a/tests/DeepSpeechV1Database.hpp +++ b/tests/DeepSpeechV1Database.hpp @@ -11,8 +11,7 @@ #include #include - -#include +#include #include #include @@ -80,7 +79,7 @@ inline auto ParseDataArray(std::istream& stream, return ParseArrayImpl(stream, [&quantizationScale, &quantizationOffset](const std::string & s) { - return boost::numeric_cast( + return armnn::numeric_cast( armnn::Quantize(std::stof(s), quantizationScale, quantizationOffset)); diff --git a/tests/DeepSpeechV1InferenceTest.hpp b/tests/DeepSpeechV1InferenceTest.hpp index 7a33d34ace..28d82bfc21 100644 --- a/tests/DeepSpeechV1InferenceTest.hpp +++ b/tests/DeepSpeechV1InferenceTest.hpp @@ -10,7 +10,6 @@ #include #include -#include #include #include diff --git a/tests/ImagePreprocessor.cpp b/tests/ImagePreprocessor.cpp index 5a42b8ae31..4557cadca5 100644 --- a/tests/ImagePreprocessor.cpp +++ b/tests/ImagePreprocessor.cpp @@ -9,8 +9,8 @@ #include #include +#include -#include #include #include @@ -21,7 +21,7 @@ template unsigned int ImagePreprocessor::GetLabelAndResizedImageAsFloat(unsigned int testCaseId, std::vector & result) { - testCaseId = testCaseId % boost::numeric_cast(m_ImageSet.size()); + testCaseId = testCaseId % armnn::numeric_cast(m_ImageSet.size()); const ImageSet& imageSet = m_ImageSet[testCaseId]; const std::string fullPath = m_BinaryDirectory + imageSet.first; @@ -38,7 +38,7 @@ unsigned int ImagePreprocessor::GetLabelAndResizedImageAsFloat(unsign // duplicate data across the batch for (unsigned int i = 1; i < m_BatchSize; i++) { - result.insert(result.end(), result.begin(), result.begin() + boost::numeric_cast(GetNumImageElements())); + result.insert(result.end(), result.begin(), result.begin() + armnn::numeric_cast(GetNumImageElements())); } if (m_DataFormat == DataFormat::NCHW) diff --git a/tests/InferenceModel.hpp b/tests/InferenceModel.hpp index 8ac44f98fb..527cc64d85 100644 --- a/tests/InferenceModel.hpp +++ b/tests/InferenceModel.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #if defined(ARMNN_SERIALIZER) #include "armnnDeserializer/IDeserializer.hpp" @@ -204,7 +205,7 @@ public: network = parser->CreateNetworkFromBinary(file); } - unsigned int subgraphId = boost::numeric_cast(params.m_SubgraphId); + unsigned int subgraphId = armnn::numeric_cast(params.m_SubgraphId); for (const std::string& inputLayerName : params.m_InputBindings) { @@ -487,10 +488,10 @@ public: boost::apply_visitor([expectedOutputDataSize, i](auto&& value) { - const unsigned int actualOutputDataSize = boost::numeric_cast(value.size()); + const unsigned int actualOutputDataSize = armnn::numeric_cast(value.size()); if (actualOutputDataSize < expectedOutputDataSize) { - unsigned int outputIndex = boost::numeric_cast(i); + unsigned int outputIndex = i; throw armnn::Exception( fmt::format("Not enough data for output #{0}: expected " "{1} elements, got {2}", outputIndex, expectedOutputDataSize, actualOutputDataSize)); diff --git a/tests/InferenceTest.inl b/tests/InferenceTest.inl index 4a97d17018..88ce3526e2 100644 --- a/tests/InferenceTest.inl +++ b/tests/InferenceTest.inl @@ -5,6 +5,8 @@ #include "InferenceTest.hpp" #include +#include + #include #include #include @@ -130,7 +132,7 @@ TestCaseResult ClassifierTestCase::ProcessResult(cons unsigned int prediction = 0; boost::apply_visitor([&](auto&& value) { - prediction = boost::numeric_cast( + prediction = armnn::numeric_cast( std::distance(value.begin(), std::max_element(value.begin(), value.end()))); }, output); diff --git a/tests/InferenceTestImage.cpp b/tests/InferenceTestImage.cpp index f76c958f4e..a1b6cf4bdb 100644 --- a/tests/InferenceTestImage.cpp +++ b/tests/InferenceTestImage.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -146,9 +147,9 @@ InferenceTestImage::InferenceTestImage(char const* filePath) throw InferenceTestImageLoadFailed(fmt::format("Could not load empty image at {}", filePath)); } - m_Width = boost::numeric_cast(width); - m_Height = boost::numeric_cast(height); - m_NumChannels = boost::numeric_cast(channels); + m_Width = armnn::numeric_cast(width); + m_Height = armnn::numeric_cast(height); + m_NumChannels = armnn::numeric_cast(channels); const unsigned int sizeInBytes = GetSizeInBytes(); m_Data.resize(sizeInBytes); @@ -185,11 +186,11 @@ void InferenceTestImage::StbResize(InferenceTestImage& im, const unsigned int ne std::vector newData; newData.resize(newWidth * newHeight * im.GetNumChannels() * im.GetSingleElementSizeInBytes()); - // boost::numeric_cast<>() is used for user-provided data (protecting about overflows). + // armnn::numeric_cast<>() is used for user-provided data (protecting about overflows). // static_cast<> is ok for internal data (assumes that, when internal data was originally provided by a user, - // a boost::numeric_cast<>() handled the conversion). - const int nW = boost::numeric_cast(newWidth); - const int nH = boost::numeric_cast(newHeight); + // a armnn::numeric_cast<>() handled the conversion). + const int nW = armnn::numeric_cast(newWidth); + const int nH = armnn::numeric_cast(newHeight); const int w = static_cast(im.GetWidth()); const int h = static_cast(im.GetHeight()); diff --git a/tests/MnistDatabase.cpp b/tests/MnistDatabase.cpp index 9abc3a6d2b..bbeb8caf55 100644 --- a/tests/MnistDatabase.cpp +++ b/tests/MnistDatabase.cpp @@ -6,8 +6,6 @@ #include -#include - #include #include @@ -94,7 +92,8 @@ std::unique_ptr MnistDatabase::GetTestCaseData(uns for (unsigned int i = 0; i < col * row; ++i) { - inputImageData[i] = boost::numeric_cast(I[i]); + // Static_cast of unsigned char is safe with float + inputImageData[i] = static_cast(I[i]); if(m_ScaleValues) { diff --git a/tests/MobileNetSsdDatabase.hpp b/tests/MobileNetSsdDatabase.hpp index 1921831fa3..9cd987d2ed 100644 --- a/tests/MobileNetSsdDatabase.hpp +++ b/tests/MobileNetSsdDatabase.hpp @@ -11,8 +11,7 @@ #include #include - -#include +#include #include #include @@ -75,7 +74,7 @@ MobileNetSsdDatabase::MobileNetSsdDatabase(const std::string& imageDir, float sc std::unique_ptr MobileNetSsdDatabase::GetTestCaseData(unsigned int testCaseId) { const unsigned int safeTestCaseId = - testCaseId % boost::numeric_cast(g_PerTestCaseInput.size()); + testCaseId % armnn::numeric_cast(g_PerTestCaseInput.size()); const ObjectDetectionInput& testCaseInput = g_PerTestCaseInput[safeTestCaseId]; // Load test case input diff --git a/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp b/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp index 69941d5678..74f02d71cb 100644 --- a/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp +++ b/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp @@ -4,6 +4,7 @@ // #include #include +#include #include #if defined(ARMNN_SERIALIZER) @@ -136,7 +137,7 @@ template<> auto ParseDataArray(std::istream& stream) { return ParseArrayImpl(stream, - [](const std::string& s) { return boost::numeric_cast(std::stoi(s)); }); + [](const std::string& s) { return armnn::numeric_cast(std::stoi(s)); }); } template<> @@ -147,7 +148,7 @@ auto ParseDataArray(std::istream& stream, return ParseArrayImpl(stream, [&quantizationScale, &quantizationOffset](const std::string & s) { - return boost::numeric_cast( + return armnn::numeric_cast( armnn::Quantize(std::stof(s), quantizationScale, quantizationOffset)); @@ -156,7 +157,7 @@ auto ParseDataArray(std::istream& stream, std::vector ParseArray(std::istream& stream) { return ParseArrayImpl(stream, - [](const std::string& s) { return boost::numeric_cast(std::stoi(s)); }); + [](const std::string& s) { return armnn::numeric_cast(std::stoi(s)); }); } std::vector ParseStringList(const std::string & inputString, const char * delimiter) diff --git a/tests/YoloDatabase.cpp b/tests/YoloDatabase.cpp index 3b3e5a90d4..8b2c630205 100644 --- a/tests/YoloDatabase.cpp +++ b/tests/YoloDatabase.cpp @@ -7,13 +7,14 @@ #include #include +#include + #include #include #include #include #include -#include #include "InferenceTestImage.hpp" @@ -73,7 +74,7 @@ YoloDatabase::YoloDatabase(const std::string& imageDir) std::unique_ptr YoloDatabase::GetTestCaseData(unsigned int testCaseId) { - testCaseId = testCaseId % boost::numeric_cast(g_PerTestCaseInputOutput.size()); + testCaseId = testCaseId % armnn::numeric_cast(g_PerTestCaseInputOutput.size()); const auto& testCaseInputOutput = g_PerTestCaseInputOutput[testCaseId]; const std::string imagePath = m_ImageDir + testCaseInputOutput.first; diff --git a/tests/profiling/gatordmock/tests/GatordMockTests.cpp b/tests/profiling/gatordmock/tests/GatordMockTests.cpp index 303a36a71a..4fd884cec4 100644 --- a/tests/profiling/gatordmock/tests/GatordMockTests.cpp +++ b/tests/profiling/gatordmock/tests/GatordMockTests.cpp @@ -11,6 +11,8 @@ #include #include +#include + #include #include @@ -18,11 +20,9 @@ #include -#include #include #include - BOOST_AUTO_TEST_SUITE(GatordMockTests) using namespace armnn; @@ -31,8 +31,6 @@ using namespace std::chrono_literals; BOOST_AUTO_TEST_CASE(CounterCaptureHandlingTest) { - using boost::numeric_cast; - arm::pipe::PacketVersionResolver packetVersionResolver; // Data with timestamp, counter idx & counter values @@ -61,9 +59,9 @@ BOOST_AUTO_TEST_CASE(CounterCaptureHandlingTest) std::unique_ptr uniqueData2 = std::make_unique(dataLength); unsigned char* data2 = reinterpret_cast(uniqueData2.get()); - uint32_t sizeOfUint64 = numeric_cast(sizeof(uint64_t)); - uint32_t sizeOfUint32 = numeric_cast(sizeof(uint32_t)); - uint32_t sizeOfUint16 = numeric_cast(sizeof(uint16_t)); + uint32_t sizeOfUint64 = armnn::numeric_cast(sizeof(uint64_t)); + uint32_t sizeOfUint32 = armnn::numeric_cast(sizeof(uint32_t)); + uint32_t sizeOfUint16 = armnn::numeric_cast(sizeof(uint16_t)); // Offset index to point to mem address uint32_t offset = 0; -- cgit v1.2.1