aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2017-08-04 14:58:27 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:16:42 +0100
commit89010962f2174c4cbc0784038ddf77358fa59480 (patch)
tree26219731752ac8c1fdd4c18d128999bc94876cb2
parent6f4933028e2ce1b002d10f91b63d523d05f31683 (diff)
downloadComputeLibrary-89010962f2174c4cbc0784038ddf77358fa59480.tar.gz
COMPMID-417: Fix CLNormalization error issue.
Change-Id: Ie538245ee0451e4cdb28120e80b9a65f56a07e7d Reviewed-on: http://mpd-gerrit.cambridge.arm.com/82933 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
-rw-r--r--arm_compute/core/Utils.h14
-rw-r--r--src/core/CL/kernels/CLNormalizationLayerKernel.cpp6
2 files changed, 17 insertions, 3 deletions
diff --git a/arm_compute/core/Utils.h b/arm_compute/core/Utils.h
index af788beeb7..39ec6587de 100644
--- a/arm_compute/core/Utils.h
+++ b/arm_compute/core/Utils.h
@@ -654,6 +654,20 @@ inline bool is_data_type_fixed_point(DataType dt)
}
}
+/** Create a string with the float in full precision.
+ *
+ * @param val Floating point value
+ *
+ * @return String with the floating point value.
+ */
+inline std::string float_to_string_with_full_precision(float val)
+{
+ std::stringstream ss;
+ ss.precision(std::numeric_limits<float>::digits10 + 1);
+ ss << val;
+ return ss.str();
+}
+
/** Print consecutive elements to an output stream.
*
* @param[out] s Output stream to print the elements to.
diff --git a/src/core/CL/kernels/CLNormalizationLayerKernel.cpp b/src/core/CL/kernels/CLNormalizationLayerKernel.cpp
index a0607c2ba0..b382e9d510 100644
--- a/src/core/CL/kernels/CLNormalizationLayerKernel.cpp
+++ b/src/core/CL/kernels/CLNormalizationLayerKernel.cpp
@@ -83,9 +83,9 @@ void CLNormalizationLayerKernel::configure(const ICLTensor *input, const ICLTens
{
build_opts.emplace(("-DFIXED_POINT_POSITION=" + support::cpp11::to_string(input->info()->fixed_point_position())));
}
- build_opts.emplace(("-DCOEFF=" + support::cpp11::to_string(norm_info.scale_coeff())));
- build_opts.emplace(("-DBETA=" + support::cpp11::to_string(norm_info.beta())));
- build_opts.emplace(("-DKAPPA=" + support::cpp11::to_string(norm_info.kappa())));
+ build_opts.emplace(("-DCOEFF=" + float_to_string_with_full_precision(norm_info.scale_coeff())));
+ build_opts.emplace(("-DBETA=" + float_to_string_with_full_precision(norm_info.beta())));
+ build_opts.emplace(("-DKAPPA=" + float_to_string_with_full_precision(norm_info.kappa())));
build_opts.emplace(("-DVEC_SIZE=" + support::cpp11::to_string(num_elems_processed_per_iteration)));
// Create kernel