From 6940dd720ebb6b3d1df8ca203ab696daefe58189 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Fri, 20 Mar 2020 12:25:56 +0000 Subject: renamed Documentation folder 20.02 and added .nojekyll file Signed-off-by: Jim Flynn --- 20.02/_floating_point_converter_8cpp_source.xhtml | 124 ++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 20.02/_floating_point_converter_8cpp_source.xhtml (limited to '20.02/_floating_point_converter_8cpp_source.xhtml') diff --git a/20.02/_floating_point_converter_8cpp_source.xhtml b/20.02/_floating_point_converter_8cpp_source.xhtml new file mode 100644 index 0000000000..9ef3ca593b --- /dev/null +++ b/20.02/_floating_point_converter_8cpp_source.xhtml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + +ArmNN: src/armnnUtils/FloatingPointConverter.cpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  20.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 
7 
8 #include "BFloat16.hpp"
9 #include "Half.hpp"
10 
11 #include <boost/assert.hpp>
12 
13 namespace armnnUtils
14 {
15 
16 void FloatingPointConverter::ConvertFloat32To16(const float* srcFloat32Buffer,
17  size_t numElements,
18  void* dstFloat16Buffer)
19 {
20  BOOST_ASSERT(srcFloat32Buffer != nullptr);
21  BOOST_ASSERT(dstFloat16Buffer != nullptr);
22 
23  armnn::Half* pHalf = reinterpret_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  BOOST_ASSERT(srcFloat16Buffer != nullptr);
36  BOOST_ASSERT(dstFloat32Buffer != nullptr);
37 
38  const armnn::Half* pHalf = reinterpret_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  BOOST_ASSERT(srcFloat32Buffer != nullptr);
51  BOOST_ASSERT(dstBFloat16Buffer != nullptr);
52 
53  armnn::BFloat16* bf16 = reinterpret_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  BOOST_ASSERT(srcBFloat16Buffer != nullptr);
66  BOOST_ASSERT(dstFloat32Buffer != nullptr);
67 
68  const armnn::BFloat16* bf16 = reinterpret_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:87
+ +
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.
+
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:16
+
+
+ + + + -- cgit v1.2.1