blob: 535509116965404617fc951f94738df4e9465fcb [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include "armnn/Types.hpp"
#include "BFloat16.hpp"
#include "Half.hpp"
namespace armnn
{
template<DataType DT>
struct ResolveTypeImpl;
template <>
struct ResolveTypeImpl<DataType::Float16>
{
using Type = Half;
};
template<>
struct ResolveTypeImpl<DataType::Float32>
{
using Type = float;
};
template<>
struct ResolveTypeImpl<DataType::QAsymmU8>
{
using Type = uint8_t;
};
template<>
struct ResolveTypeImpl<DataType::QAsymmS8>
{
using Type = int8_t;
};
template<>
struct ResolveTypeImpl<DataType::QSymmS8>
{
using Type = int8_t;
};
template<>
struct ResolveTypeImpl<DataType::QSymmS16>
{
using Type = int16_t;
};
template<>
struct ResolveTypeImpl<DataType::Signed32>
{
using Type = int32_t;
};
template<>
struct ResolveTypeImpl<DataType::Signed64>
{
using Type = int64_t;
};
template<>
struct ResolveTypeImpl<DataType::Boolean>
{
using Type = uint8_t;
};
template<>
struct ResolveTypeImpl<DataType::BFloat16>
{
using Type = BFloat16;
};
template<DataType DT>
using ResolveType = typename ResolveTypeImpl<DT>::Type;
} //namespace armnn