aboutsummaryrefslogtreecommitdiff
path: root/support/Rounding.h
diff options
context:
space:
mode:
Diffstat (limited to 'support/Rounding.h')
-rw-r--r--support/Rounding.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/support/Rounding.h b/support/Rounding.h
index ba9266d323..5691a6680b 100644
--- a/support/Rounding.h
+++ b/support/Rounding.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2020 Arm Limited.
+ * Copyright (c) 2018-2021, 2023 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -26,7 +26,8 @@
#include "arm_compute/core/Error.h"
#include "arm_compute/core/utils/misc/Traits.h"
-#include "support/Requires.h"
+
+#include "support/AclRequires.h"
#include "support/ToolchainSupport.h"
#include <cmath>
@@ -57,7 +58,7 @@ enum class RoundingMode
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_to_zero(T value)
{
T res = std::floor(std::fabs(value));
@@ -72,7 +73,7 @@ inline T round_to_zero(T value)
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_away_from_zero(T value)
{
T res = std::ceil(std::fabs(value));
@@ -87,7 +88,7 @@ inline T round_away_from_zero(T value)
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_half_to_zero(T value)
{
T res = T(std::ceil(std::fabs(value) - 0.5f));
@@ -102,7 +103,7 @@ inline T round_half_to_zero(T value)
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_half_away_from_zero(T value)
{
T res = T(std::floor(std::fabs(value) + 0.5f));
@@ -117,7 +118,7 @@ inline T round_half_away_from_zero(T value)
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_half_up(T value)
{
return std::floor(value + 0.5f);
@@ -131,7 +132,7 @@ inline T round_half_up(T value)
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_half_down(T value)
{
return std::ceil(value - 0.5f);
@@ -146,17 +147,17 @@ inline T round_half_down(T value)
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round_half_even(T value, T epsilon = std::numeric_limits<T>::epsilon())
{
T positive_value = std::abs(value);
T ipart = 0;
std::modf(positive_value, &ipart);
// If 'value' is exactly halfway between two integers
- if(std::abs(positive_value - (ipart + 0.5f)) < epsilon)
+ if (std::abs(positive_value - (ipart + 0.5f)) < epsilon)
{
// If 'ipart' is even then return 'ipart'
- if(std::fmod(ipart, 2.f) < epsilon)
+ if (std::fmod(ipart, 2.f) < epsilon)
{
return support::cpp11::copysign(ipart, value);
}
@@ -176,10 +177,10 @@ inline T round_half_even(T value, T epsilon = std::numeric_limits<T>::epsilon())
*
* @return Floating-point value of rounded @p value.
*/
-template <typename T, REQUIRES_TA(traits::is_floating_point<T>::value)>
+template <typename T, ARM_COMPUTE_REQUIRES_TA(traits::is_floating_point<T>::value)>
inline T round(T value, RoundingMode rounding_mode)
{
- switch(rounding_mode)
+ switch (rounding_mode)
{
case RoundingMode::TO_ZERO:
return round_to_zero(value);