From b412fab0e3c8ec10e104f4d85760898a5b26179c Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Mon, 10 Dec 2018 17:40:23 +0000 Subject: COMPMID-1724: CL Implement Prod Change-Id: I17e51f25064b53a8f7e13d6fcbecc14a192de103 Reviewed-on: https://review.mlplatform.org/387 Reviewed-by: Georgios Pinitas Tested-by: Arm Jenkins --- arm_compute/core/PixelValue.h | 50 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'arm_compute/core/PixelValue.h') diff --git a/arm_compute/core/PixelValue.h b/arm_compute/core/PixelValue.h index 530cc166a2..e86eeba121 100644 --- a/arm_compute/core/PixelValue.h +++ b/arm_compute/core/PixelValue.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2018 ARM Limited. + * Copyright (c) 2016-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -39,6 +39,54 @@ public: : value{ uint64_t(0) } { } + /** Initialize the union with a pixel value of chosen datatype + * + * @param[in] v int value. + * @param[in] datatype DataType that @p v have to be stored + */ + PixelValue(uint64_t v, DataType datatype) + : PixelValue() + { + switch(datatype) + { + case DataType::U8: + value.u8 = static_cast(v); + break; + case DataType::S8: + value.s8 = static_cast(v); + break; + case DataType::U16: + value.u16 = static_cast(v); + break; + case DataType::S16: + value.s16 = static_cast(v); + break; + case DataType::U32: + value.u32 = static_cast(v); + break; + case DataType::S32: + value.s32 = static_cast(v); + break; + case DataType::U64: + value.u64 = static_cast(v); + break; + case DataType::S64: + value.s16 = static_cast(v); + break; + case DataType::F16: + value.f16 = static_cast(v); + break; + case DataType::F32: + value.f32 = static_cast(v); + break; + case DataType::F64: + value.f64 = static_cast(v); + break; + default: + value.u64 = v; + break; + } + } /** Initialize the union with a U8 pixel value * * @param[in] v U8 value. -- cgit v1.2.1