From 7bfd38a721360183f3392f9ab35db18a0dd7fef8 Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Fri, 19 Aug 2022 15:23:36 +0100 Subject: Update Doxygen for 22.08 Release Signed-off-by: Nikhil Raj Change-Id: I4789fe868e0492839be1482e5cee3642ed90d756 --- 22.08/_floating_point_converter_8cpp_source.xhtml | 126 ++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 22.08/_floating_point_converter_8cpp_source.xhtml (limited to '22.08/_floating_point_converter_8cpp_source.xhtml') diff --git a/22.08/_floating_point_converter_8cpp_source.xhtml b/22.08/_floating_point_converter_8cpp_source.xhtml new file mode 100644 index 0000000000..76a88986ff --- /dev/null +++ b/22.08/_floating_point_converter_8cpp_source.xhtml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + +ArmNN: src/armnnUtils/FloatingPointConverter.cpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  22.08 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
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 
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 void FloatingPointConverter::ConvertFloat32ToBFloat16(const float* srcFloat32Buffer,
47  size_t numElements,
48  void* dstBFloat16Buffer)
49 {
50  ARMNN_ASSERT(srcFloat32Buffer != nullptr);
51  ARMNN_ASSERT(dstBFloat16Buffer != nullptr);
52 
53  armnn::BFloat16* bf16 = static_cast<armnn::BFloat16*>(dstBFloat16Buffer);
54 
55  for (size_t i = 0; i < numElements; i++)
56  {
57  bf16[i] = armnn::BFloat16(srcFloat32Buffer[i]);
58  }
59 }
60 
61 void FloatingPointConverter::ConvertBFloat16ToFloat32(const void* srcBFloat16Buffer,
62  size_t numElements,
63  float* dstFloat32Buffer)
64 {
65  ARMNN_ASSERT(srcBFloat16Buffer != nullptr);
66  ARMNN_ASSERT(dstFloat32Buffer != nullptr);
67 
68  const armnn::BFloat16* bf16 = static_cast<const armnn::BFloat16*>(srcBFloat16Buffer);
69 
70  for (size_t i = 0; i < numElements; i++)
71  {
72  dstFloat32Buffer[i] = bf16[i].ToFloat32();
73  }
74 }
75 
76 } //namespace armnnUtils
float ToFloat32() const
Definition: BFloat16.hpp:86
+ +
static void ConvertBFloat16ToFloat32(const void *srcBFloat16Buffer, size_t numElements, float *dstFloat32Buffer)
+ +
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.
+
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
+
static void ConvertFloat16To32(const void *srcFloat16Buffer, size_t numElements, float *dstFloat32Buffer)
+ + +
static void ConvertFloat32ToBFloat16(const float *srcFloat32Buffer, size_t numElements, void *dstBFloat16Buffer)
+ + +
half_float::half Half
Definition: Half.hpp:18
+
+
+ + + + -- cgit v1.2.1