diff options
Diffstat (limited to 'src')
26 files changed, 23 insertions, 66 deletions
diff --git a/src/armnn/QuantizerVisitor.cpp b/src/armnn/QuantizerVisitor.cpp index 9fbdd9fc41..7889f03c5b 100644 --- a/src/armnn/QuantizerVisitor.cpp +++ b/src/armnn/QuantizerVisitor.cpp @@ -8,10 +8,9 @@ #include "QuantizerVisitor.hpp" #include "StaticRangeVisitor.hpp" +#include <armnn/utility/NumericCast.hpp> #include <armnn/utility/PolymorphicDowncast.hpp> -#include <boost/numeric/conversion/cast.hpp> - namespace armnn { @@ -105,7 +104,7 @@ ConstTensor QuantizerVisitor::CreateQuantizedBias(const IConnectableLayer* srcLa for (size_t i = 0; i < backing.size(); ++i) { float fp32Value = static_cast<const float*>(biases.value().GetMemoryArea())[i]; - backing[i] = boost::numeric_cast<int32_t>(fp32Value * ( 1 / scale )); + backing[i] = armnn::numeric_cast<int32_t>(fp32Value * ( 1 / scale )); } return ConstTensor(qInfo, backing); diff --git a/src/armnn/TypesUtils.cpp b/src/armnn/TypesUtils.cpp index dd27df9c0a..3b32782f43 100644 --- a/src/armnn/TypesUtils.cpp +++ b/src/armnn/TypesUtils.cpp @@ -4,8 +4,7 @@ // #include <armnn/TypesUtils.hpp> #include <armnn/utility/Assert.hpp> - -#include <boost/numeric/conversion/cast.hpp> +#include <armnn/utility/NumericCast.hpp> namespace { @@ -49,7 +48,7 @@ float armnn::Dequantize(QuantizedType value, float scale, int32_t offset) static_assert(IsQuantizedType<QuantizedType>(), "Not an integer type."); ARMNN_ASSERT(scale != 0.f); ARMNN_ASSERT(!IsNan(value)); - return (boost::numeric_cast<float>(value - offset)) * scale; + return (armnn::numeric_cast<float>(value - offset)) * scale; } /// Explicit specialization of Quantize for int8_t diff --git a/src/armnnCaffeParser/CaffeParser.cpp b/src/armnnCaffeParser/CaffeParser.cpp index 0a6a6c5348..f95fe9c252 100644 --- a/src/armnnCaffeParser/CaffeParser.cpp +++ b/src/armnnCaffeParser/CaffeParser.cpp @@ -16,7 +16,6 @@ #include <armnn/utility/Assert.hpp> #include <armnn/utility/NumericCast.hpp> -#include <boost/numeric/conversion/cast.hpp> #include <fmt/format.h> // Caffe @@ -955,10 +954,10 @@ void CaffeParserBase::ParsePoolingLayer(const LayerParameter& layerParam) inputInfo.GetShape()[1], static_cast<unsigned int>(ceil( static_cast<float>(inputInfo.GetShape()[2] + 2 * pad_h - kernel_h) / - boost::numeric_cast<float>(stride_h))) + 1, + armnn::numeric_cast<float>(stride_h))) + 1, static_cast<unsigned int>(ceil( static_cast<float>(inputInfo.GetShape()[3] + 2 * pad_w - kernel_w) / - boost::numeric_cast<float>(stride_w))) + 1 }, + armnn::numeric_cast<float>(stride_w))) + 1 }, DataType::Float32); GetArmnnOutputSlotForCaffeTop(layerParam.bottom(0)).Connect(poolingLayer->GetInputSlot(0)); @@ -1053,7 +1052,7 @@ void CaffeParserBase::ParseLRNLayer(const LayerParameter& layerParam) if (param.has_alpha()) { normalizationDescriptor.m_Alpha = param.alpha(); - normalizationDescriptor.m_Alpha /= boost::numeric_cast<float>(param.local_size()); + normalizationDescriptor.m_Alpha /= armnn::numeric_cast<float>(param.local_size()); } else { diff --git a/src/backends/backendsCommon/MemImportWorkload.cpp b/src/backends/backendsCommon/MemImportWorkload.cpp index be7dbd6349..6584e407e9 100644 --- a/src/backends/backendsCommon/MemImportWorkload.cpp +++ b/src/backends/backendsCommon/MemImportWorkload.cpp @@ -8,8 +8,6 @@ #include <backendsCommon/MemImportWorkload.hpp> #include <backendsCommon/CpuTensorHandle.hpp> -#include <boost/cast.hpp> - #include <cstring> namespace armnn diff --git a/src/backends/backendsCommon/MemSyncWorkload.cpp b/src/backends/backendsCommon/MemSyncWorkload.cpp index 3e76854318..b29c46e918 100644 --- a/src/backends/backendsCommon/MemSyncWorkload.cpp +++ b/src/backends/backendsCommon/MemSyncWorkload.cpp @@ -8,8 +8,6 @@ #include <backendsCommon/MemSyncWorkload.hpp> #include <backendsCommon/CpuTensorHandle.hpp> -#include <boost/cast.hpp> - #include <cstring> namespace armnn diff --git a/src/backends/backendsCommon/test/BackendProfilingTests.cpp b/src/backends/backendsCommon/test/BackendProfilingTests.cpp index 8434536ca0..377ca22cf5 100644 --- a/src/backends/backendsCommon/test/BackendProfilingTests.cpp +++ b/src/backends/backendsCommon/test/BackendProfilingTests.cpp @@ -21,7 +21,6 @@ #include <armnn/Logging.hpp> #include <armnn/profiling/ISendTimelinePacket.hpp> -#include <boost/numeric/conversion/cast.hpp> #include <boost/test/unit_test.hpp> #include <vector> diff --git a/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp b/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp index eb1b976656..817cdeed79 100644 --- a/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp +++ b/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp @@ -10,7 +10,6 @@ #include <backendsCommon/CpuTensorHandle.hpp> #include <backendsCommon/WorkloadData.hpp> -#include <boost/cast.hpp> #include <boost/test/unit_test.hpp> #include <utility> diff --git a/src/backends/backendsCommon/test/MockBackend.cpp b/src/backends/backendsCommon/test/MockBackend.cpp index abdaa8131b..e706fc8157 100644 --- a/src/backends/backendsCommon/test/MockBackend.cpp +++ b/src/backends/backendsCommon/test/MockBackend.cpp @@ -14,8 +14,6 @@ #include <Optimizer.hpp> #include <SubgraphViewSelector.hpp> -#include <boost/cast.hpp> - #include <algorithm> namespace diff --git a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp index 690d1cd66f..4641e67aad 100644 --- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp @@ -21,8 +21,6 @@ #include <test/TensorHelpers.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <string> // diff --git a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp index 70e2e61475..2275b9f07a 100644 --- a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp @@ -24,8 +24,6 @@ #include <test/TensorHelpers.hpp> -#include <boost/numeric/conversion/cast.hpp> - namespace { diff --git a/src/backends/cl/workloads/ClAbsWorkload.cpp b/src/backends/cl/workloads/ClAbsWorkload.cpp index d020eeb344..858ef5b46d 100644 --- a/src/backends/cl/workloads/ClAbsWorkload.cpp +++ b/src/backends/cl/workloads/ClAbsWorkload.cpp @@ -13,8 +13,6 @@ #include <cl/ClTensorHandle.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/cl/workloads/ClExpWorkload.cpp b/src/backends/cl/workloads/ClExpWorkload.cpp index 5b5e0a5f0c..abf4181286 100644 --- a/src/backends/cl/workloads/ClExpWorkload.cpp +++ b/src/backends/cl/workloads/ClExpWorkload.cpp @@ -12,8 +12,6 @@ #include <cl/ClTensorHandle.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/cl/workloads/ClNegWorkload.cpp b/src/backends/cl/workloads/ClNegWorkload.cpp index 9f83cd32c3..27886624b0 100644 --- a/src/backends/cl/workloads/ClNegWorkload.cpp +++ b/src/backends/cl/workloads/ClNegWorkload.cpp @@ -12,8 +12,6 @@ #include <cl/ClTensorHandle.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/cl/workloads/ClRsqrtWorkload.cpp b/src/backends/cl/workloads/ClRsqrtWorkload.cpp index a305a4a919..48fd1e0fd0 100644 --- a/src/backends/cl/workloads/ClRsqrtWorkload.cpp +++ b/src/backends/cl/workloads/ClRsqrtWorkload.cpp @@ -12,8 +12,6 @@ #include <cl/ClTensorHandle.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/cl/workloads/ClSliceWorkload.cpp b/src/backends/cl/workloads/ClSliceWorkload.cpp index 5ea4c4cefd..d7b1dbbe48 100644 --- a/src/backends/cl/workloads/ClSliceWorkload.cpp +++ b/src/backends/cl/workloads/ClSliceWorkload.cpp @@ -12,8 +12,6 @@ #include <cl/ClTensorHandle.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index d300960052..642c19dbe4 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -23,8 +23,6 @@ #include <arm_compute/runtime/Allocator.h> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/neon/workloads/NeonConstantWorkload.cpp b/src/backends/neon/workloads/NeonConstantWorkload.cpp index 05fdcf2fdd..0859abd394 100644 --- a/src/backends/neon/workloads/NeonConstantWorkload.cpp +++ b/src/backends/neon/workloads/NeonConstantWorkload.cpp @@ -14,8 +14,6 @@ #include <backendsCommon/CpuTensorHandle.hpp> #include <backendsCommon/Workload.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp b/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp index 985f540e6a..9c7e99c6a0 100644 --- a/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp +++ b/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp @@ -17,8 +17,6 @@ #include <neon/workloads/NeonWorkloadUtils.hpp> -#include <boost/cast.hpp> - namespace armnn { diff --git a/src/backends/reference/workloads/ConvImpl.hpp b/src/backends/reference/workloads/ConvImpl.hpp index d971b8f24f..d9d8a87ae8 100644 --- a/src/backends/reference/workloads/ConvImpl.hpp +++ b/src/backends/reference/workloads/ConvImpl.hpp @@ -15,8 +15,6 @@ #include <armnnUtils/DataLayoutIndexed.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <cmath> #include <limits> diff --git a/src/backends/reference/workloads/Debug.cpp b/src/backends/reference/workloads/Debug.cpp index aadbc7613b..df05ad73dc 100644 --- a/src/backends/reference/workloads/Debug.cpp +++ b/src/backends/reference/workloads/Debug.cpp @@ -8,8 +8,6 @@ #include <BFloat16.hpp> #include <Half.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <algorithm> #include <iostream> @@ -53,10 +51,10 @@ void Debug(const TensorInfo& inputInfo, std::cout << "], "; std::cout << "\"min\": " - << boost::numeric_cast<float>(*std::min_element(inputData, inputData + numElements)) << ", "; + << static_cast<float>(*std::min_element(inputData, inputData + numElements)) << ", "; std::cout << "\"max\": " - << boost::numeric_cast<float>(*std::max_element(inputData, inputData + numElements)) << ", "; + << static_cast<float>(*std::max_element(inputData, inputData + numElements)) << ", "; std::cout << "\"data\": "; @@ -70,7 +68,7 @@ void Debug(const TensorInfo& inputInfo, } } - std::cout << boost::numeric_cast<float>(inputData[i]); + std::cout << static_cast<float>(inputData[i]); for (unsigned int j = 0; j < numDims; j++) { diff --git a/src/backends/reference/workloads/DetectionPostProcess.cpp b/src/backends/reference/workloads/DetectionPostProcess.cpp index ce07110da9..f80f20a441 100644 --- a/src/backends/reference/workloads/DetectionPostProcess.cpp +++ b/src/backends/reference/workloads/DetectionPostProcess.cpp @@ -8,8 +8,6 @@ #include <armnn/utility/Assert.hpp> #include <armnn/utility/NumericCast.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <algorithm> #include <numeric> @@ -120,7 +118,7 @@ void AllocateOutputData(unsigned int numOutput, { unsigned int boxCornorIndex = selectedBoxes[outputIndices[i]] * 4; detectionScores[i] = selectedScores[outputIndices[i]]; - detectionClasses[i] = boost::numeric_cast<float>(selectedClasses[outputIndices[i]]); + detectionClasses[i] = armnn::numeric_cast<float>(selectedClasses[outputIndices[i]]); detectionBoxes[boxIndex] = boxCorners[boxCornorIndex]; detectionBoxes[boxIndex + 1] = boxCorners[boxCornorIndex + 1]; detectionBoxes[boxIndex + 2] = boxCorners[boxCornorIndex + 2]; @@ -136,7 +134,7 @@ void AllocateOutputData(unsigned int numOutput, detectionBoxes[boxIndex + 3] = 0.0f; } } - numDetections[0] = boost::numeric_cast<float>(numSelected); + numDetections[0] = armnn::numeric_cast<float>(numSelected); } void DetectionPostProcess(const TensorInfo& boxEncodingsInfo, diff --git a/src/backends/reference/workloads/Mean.cpp b/src/backends/reference/workloads/Mean.cpp index e43a4d5312..fe34efe0c7 100644 --- a/src/backends/reference/workloads/Mean.cpp +++ b/src/backends/reference/workloads/Mean.cpp @@ -8,8 +8,6 @@ #include <armnn/utility/NumericCast.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <cmath> #include <cstddef> #include <functional> @@ -130,15 +128,15 @@ void Mean(const armnn::TensorInfo& inputInfo, for (unsigned int idx = 0; idx < numResolvedAxis; ++idx) { unsigned int current = inputDims[resolvedAxis[idx]]; - ARMNN_ASSERT(boost::numeric_cast<float>(current) < - (std::numeric_limits<float>::max() / boost::numeric_cast<float>(numElementsInAxis))); + ARMNN_ASSERT(armnn::numeric_cast<float>(current) < + (std::numeric_limits<float>::max() / armnn::numeric_cast<float>(numElementsInAxis))); numElementsInAxis *= current; } if (numElementsInAxis > 0) { for (unsigned int idx = 0; idx < numOutputs; ++idx) { output[idx]; - output.Set(tempSum[idx] / boost::numeric_cast<float>(numElementsInAxis)); + output.Set(tempSum[idx] / armnn::numeric_cast<float>(numElementsInAxis)); } } } diff --git a/src/backends/reference/workloads/Pooling2d.cpp b/src/backends/reference/workloads/Pooling2d.cpp index be6ff387f3..c5633e8eba 100644 --- a/src/backends/reference/workloads/Pooling2d.cpp +++ b/src/backends/reference/workloads/Pooling2d.cpp @@ -11,8 +11,6 @@ #include <armnnUtils/DataLayoutIndexed.hpp> #include <armnn/utility/NumericCast.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <limits> #include <algorithm> #include <functional> @@ -208,7 +206,7 @@ void Pooling2d(Decoder<float>& rInputDecoder, wend = std::min(wend, widthInput + padRight); float result = defaultInitializer; - float poolAreaSize = boost::numeric_cast<float>(height * (wend - wstart)); + float poolAreaSize = armnn::numeric_cast<float>(height * (wend - wstart)); // Special case: when the pooling kernel is over a padding region and the padding // size is larger or equal to the kernel and the kernel only covers @@ -248,7 +246,7 @@ void Pooling2d(Decoder<float>& rInputDecoder, { // When we exclude the padding, it means we calculate with a smaller // kernel size, so I changed the divisor here. - poolAreaSize = boost::numeric_cast<float>((hend - hstart) * (wend - wstart)); + poolAreaSize = armnn::numeric_cast<float>((hend - hstart) * (wend - wstart)); } for (auto yInput = hstart; yInput < hend; yInput++) diff --git a/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.cpp b/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.cpp index aca3308974..cf355d35d2 100644 --- a/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.cpp +++ b/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.cpp @@ -9,7 +9,7 @@ #include "Profiling.hpp" -#include <boost/numeric/conversion/cast.hpp> +#include <armnn/utility/NumericCast.hpp> namespace armnn { @@ -17,7 +17,7 @@ namespace armnn void FakeQuantization(const float* inputData, float* outputData, uint32_t numElements, float min, float max) { float scale = (max - min) / 255.f; - int32_t offset = boost::numeric_cast<int32_t>((-min * 255.f) / (max - min)); + int32_t offset = armnn::numeric_cast<int32_t>((-min * 255.f) / (max - min)); for (uint32_t i = 0; i < numElements; i++) { diff --git a/src/backends/reference/workloads/Resize.cpp b/src/backends/reference/workloads/Resize.cpp index 16cdd4a2d0..b8bf1bceae 100644 --- a/src/backends/reference/workloads/Resize.cpp +++ b/src/backends/reference/workloads/Resize.cpp @@ -7,7 +7,7 @@ #include "TensorBufferArrayView.hpp" -#include <boost/numeric/conversion/cast.hpp> +#include <armnn/utility/NumericCast.hpp> #include <cmath> #include <algorithm> @@ -27,7 +27,7 @@ inline float Lerp(float a, float b, float w) inline double EuclideanDistance(float Xa, float Ya, const unsigned int Xb, const unsigned int Yb) { - return std::sqrt(pow(Xa - boost::numeric_cast<float>(Xb), 2) + pow(Ya - boost::numeric_cast<float>(Yb), 2)); + return std::sqrt(pow(Xa - armnn::numeric_cast<float>(Xb), 2) + pow(Ya - armnn::numeric_cast<float>(Yb), 2)); } inline float CalculateResizeScale(const unsigned int& InputSize, @@ -35,8 +35,8 @@ inline float CalculateResizeScale(const unsigned int& InputSize, const bool& AlignCorners) { return (AlignCorners && OutputSize > 1) - ? boost::numeric_cast<float>(InputSize - 1) / boost::numeric_cast<float>(OutputSize - 1) - : boost::numeric_cast<float>(InputSize) / boost::numeric_cast<float>(OutputSize); + ? armnn::numeric_cast<float>(InputSize - 1) / armnn::numeric_cast<float>(OutputSize - 1) + : armnn::numeric_cast<float>(InputSize) / armnn::numeric_cast<float>(OutputSize); } inline float PixelScaler(const unsigned int& Pixel, diff --git a/src/backends/reference/workloads/Slice.cpp b/src/backends/reference/workloads/Slice.cpp index e972524f11..d6836c6933 100644 --- a/src/backends/reference/workloads/Slice.cpp +++ b/src/backends/reference/workloads/Slice.cpp @@ -8,8 +8,6 @@ #include <armnn/utility/Assert.hpp> #include <armnn/utility/IgnoreUnused.hpp> -#include <boost/numeric/conversion/cast.hpp> - namespace armnn { |