// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "BaseIterator.hpp" namespace armnn { template inline std::unique_ptr> MakeDecoder(const TensorInfo& info, const void* data); template<> inline std::unique_ptr> MakeDecoder(const TensorInfo& info, const void* data) { switch(info.GetDataType()) { case armnn::DataType::QuantisedAsymm8: { return std::make_unique( static_cast(data), info.GetQuantizationScale(), info.GetQuantizationOffset()); } case armnn::DataType::QuantisedSymm16: { return std::make_unique( static_cast(data), info.GetQuantizationScale(), info.GetQuantizationOffset()); } case armnn::DataType::Float32: { return std::make_unique(static_cast(data)); } default: { BOOST_ASSERT_MSG(false, "Not supported Data Type!"); break; } } return nullptr; } } //namespace armnn