From e6bcb5b4c5e6933e87ab5e081fdfae219adea713 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Fri, 7 Jun 2019 11:47:16 +0100 Subject: COMPMID-2397: 64bit bare metal build failure Change-Id: I003973ab658edff580335c47ebe658ca038602ac Signed-off-by: Michalis Spyrou Reviewed-on: https://review.mlplatform.org/c/1311 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio --- support/ToolchainSupport.h | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'support') diff --git a/support/ToolchainSupport.h b/support/ToolchainSupport.h index 7d02e67ec6..020a4a112b 100644 --- a/support/ToolchainSupport.h +++ b/support/ToolchainSupport.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 ARM Limited. + * Copyright (c) 2017-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -117,6 +117,21 @@ inline std::string to_string(T && value) return stream.str(); } +/** Rounds the floating-point argument arg to an integer value in floating-point format, using the current rounding mode. + * + * @note This function acts as a convenience wrapper around std::nearbyint. The + * latter is missing in some Android toolchains. + * + * @param[in] value Value to be rounded. + * + * @return The rounded value. + */ +template +inline T nearbyint(T value) +{ + return ::nearbyint(value); +} + /** Convert string values to float. * * @note This function implements the same behaviour as std::stof. The latter @@ -212,6 +227,21 @@ inline std::string to_string(T &&value) return ::std::to_string(std::forward(value)); } +/** Rounds the floating-point argument arg to an integer value in floating-point format, using the current rounding mode. + * + * @note This function acts as a convenience wrapper around std::nearbyint. The + * latter is missing in some Android toolchains. + * + * @param[in] value Value to be rounded. + * + * @return The rounded value. + */ +template +inline T nearbyint(T value) +{ + return std::nearbyint(value); +} + /** Convert string values to float. * * @note This function acts as a convenience wrapper around std::stof. The -- cgit v1.2.1