23.02
FloatingPointConverter.cpp
Go to the documentation of this file.
1
//
2
// Copyright © 2017 Arm Ltd. All rights reserved.
3
// SPDX-License-Identifier: MIT
4
//
5
6
#include <
armnnUtils/FloatingPointConverter.hpp
>
7
8
#include "
BFloat16.hpp
"
9
#include "
Half.hpp
"
10
11
#include <
armnn/utility/Assert.hpp
>
12
13
namespace
armnnUtils
14
{
15
16
void
FloatingPointConverter::ConvertFloat32To16
(
const
float
* srcFloat32Buffer,
17
size_t
numElements,
18
void
* dstFloat16Buffer)
19
{
20
ARMNN_ASSERT
(srcFloat32Buffer !=
nullptr
);
21
ARMNN_ASSERT
(dstFloat16Buffer !=
nullptr
);
22
23
armnn::Half
* pHalf =
static_cast<
armnn::Half
*
>
(dstFloat16Buffer);
24
25
for
(
size_t
i = 0; i < numElements; i++)
26
{
27
pHalf[i] =
armnn::Half
(srcFloat32Buffer[i]);
28
}
29
}
30
31
void
FloatingPointConverter::ConvertFloat16To32
(
const
void
* srcFloat16Buffer,
32
size_t
numElements,
33
float
* dstFloat32Buffer)
34
{
35
ARMNN_ASSERT
(srcFloat16Buffer !=
nullptr
);
36
ARMNN_ASSERT
(dstFloat32Buffer !=
nullptr
);
37
38
const
armnn::Half
* pHalf =
static_cast<
const
armnn::Half
*
>
(srcFloat16Buffer);
39
40
for
(
size_t
i = 0; i < numElements; i++)
41
{
42
dstFloat32Buffer[i] = pHalf[i];
43
}
44
}
45
46
}
//namespace armnnUtils
Assert.hpp
armnnUtils::FloatingPointConverter::ConvertFloat32To16
static void ConvertFloat32To16(const float *srcFloat32Buffer, size_t numElements, void *dstFloat16Buffer)
Converts a buffer of FP32 values to FP16, and stores in the given dstFloat16Buffer.
Definition:
FloatingPointConverter.cpp:16
armnnUtils
Definition:
CompatibleTypes.hpp:10
armnn::Half
half_float::half Half
Definition:
Half.hpp:22
Half.hpp
ARMNN_ASSERT
#define ARMNN_ASSERT(COND)
Definition:
Assert.hpp:14
FloatingPointConverter.hpp
armnnUtils::FloatingPointConverter::ConvertFloat16To32
static void ConvertFloat16To32(const void *srcFloat16Buffer, size_t numElements, float *dstFloat32Buffer)
Definition:
FloatingPointConverter.cpp:31
BFloat16.hpp
src
armnnUtils
FloatingPointConverter.cpp
Generated on Wed Mar 22 2023 15:53:01 for ArmNN by
1.8.17