diff options
Diffstat (limited to 'arm_compute/core/utils/math/SafeOps.h')
-rw-r--r-- | arm_compute/core/utils/math/SafeOps.h | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/arm_compute/core/utils/math/SafeOps.h b/arm_compute/core/utils/math/SafeOps.h index f0d76a3d02..ef8bcf7e14 100644 --- a/arm_compute/core/utils/math/SafeOps.h +++ b/arm_compute/core/utils/math/SafeOps.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2021 Arm Limited. + * Copyright (c) 2019-2021, 2023 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -25,7 +25,8 @@ #define ARM_COMPUTE_UTILS_MATH_SAFE_OPS #include "arm_compute/core/Error.h" -#include "support/Requires.h" + +#include "support/AclRequires.h" #include <limits> @@ -51,11 +52,11 @@ T safe_integer_add(T val_a, T val_b) { T result = 0; - if((val_b > 0) && (val_a > std::numeric_limits<T>::max() - val_b)) + if ((val_b > 0) && (val_a > std::numeric_limits<T>::max() - val_b)) { result = std::numeric_limits<T>::max(); } - else if((val_b < 0) && (val_a < std::numeric_limits<T>::min() - val_b)) + else if ((val_b < 0) && (val_a < std::numeric_limits<T>::min() - val_b)) { result = std::numeric_limits<T>::min(); } @@ -83,11 +84,11 @@ T safe_integer_sub(T val_a, T val_b) { T result = 0; - if((val_b < 0) && (val_a > std::numeric_limits<T>::max() + val_b)) + if ((val_b < 0) && (val_a > std::numeric_limits<T>::max() + val_b)) { result = std::numeric_limits<T>::max(); } - else if((val_b > 0) && (val_a < std::numeric_limits<T>::min() + val_b)) + else if ((val_b > 0) && (val_a < std::numeric_limits<T>::min() + val_b)) { result = std::numeric_limits<T>::min(); } @@ -115,13 +116,13 @@ T safe_integer_mul(T val_a, T val_b) { T result = 0; - if(val_a > 0) + if (val_a > 0) { - if((val_b > 0) && (val_a > (std::numeric_limits<T>::max() / val_b))) + if ((val_b > 0) && (val_a > (std::numeric_limits<T>::max() / val_b))) { result = std::numeric_limits<T>::max(); } - else if(val_b < (std::numeric_limits<T>::min() / val_a)) + else if (val_b < (std::numeric_limits<T>::min() / val_a)) { result = std::numeric_limits<T>::min(); } @@ -132,11 +133,11 @@ T safe_integer_mul(T val_a, T val_b) } else { - if((val_b > 0) && (val_a < (std::numeric_limits<T>::min() / val_b))) + if ((val_b > 0) && (val_a < (std::numeric_limits<T>::min() / val_b))) { result = std::numeric_limits<T>::max(); } - else if((val_a != 0) && (val_b < (std::numeric_limits<T>::max() / val_a))) + else if ((val_a != 0) && (val_b < (std::numeric_limits<T>::max() / val_a))) { result = std::numeric_limits<T>::min(); } @@ -165,7 +166,7 @@ T safe_integer_div(T val_a, T val_b) { T result = 0; - if((val_b == 0) || ((val_a == std::numeric_limits<T>::min()) && (val_b == -1))) + if ((val_b == 0) || ((val_a == std::numeric_limits<T>::min()) && (val_b == -1))) { result = std::numeric_limits<T>::min(); } @@ -176,7 +177,7 @@ T safe_integer_div(T val_a, T val_b) return result; } -} // namespace cast +} // namespace math } // namespace utils } // namespace arm_compute #endif /* ARM_COMPUTE_UTILS_MATH_SAFE_OPS */ |