From 17b12307edeaf488cfdf0cc3fa00b8f08293c93e Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Mon, 18 Jun 2018 18:13:51 +0100 Subject: COMPMID-1293: Handle aligned allocations Change-Id: I6e642c8cd968240f883c327464519e57e5d0c3e3 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/136088 Tested-by: Jenkins Reviewed-by: Anthony Barbier --- arm_compute/core/utils/misc/Utility.h | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'arm_compute/core/utils/misc/Utility.h') diff --git a/arm_compute/core/utils/misc/Utility.h b/arm_compute/core/utils/misc/Utility.h index f30a417a09..a2784a2fc0 100644 --- a/arm_compute/core/utils/misc/Utility.h +++ b/arm_compute/core/utils/misc/Utility.h @@ -165,15 +165,33 @@ std::vector sort_indices(const std::vector &v) return idx; } -inline bool endswith(const std::string &filename, const std::string &suffix) +/** Checks if a string contains a given suffix + * + * @param[in] str Input string + * @param[in] suffix Suffix to check for + * + * @return True if the string ends with the given suffix else false + */ +inline bool endswith(const std::string &str, const std::string &suffix) { - if(filename.size() < suffix.size()) + if(str.size() < suffix.size()) { return false; } - return std::equal(suffix.rbegin(), suffix.rend(), filename.rbegin()); + return std::equal(suffix.rbegin(), suffix.rend(), str.rbegin()); } +/** Checks if a pointer complies with a given alignment + * + * @param[in] ptr Pointer to check + * @param[in] alignment Alignment value + * + * @return True if the pointer is aligned else false + */ +inline bool check_aligned(void *ptr, const size_t alignment) +{ + return (reinterpret_cast(ptr) % alignment) == 0; +} } // namespace utility } // namespace arm_compute #endif /* __ARM_COMPUTE_MISC_UTILITY_H__ */ -- cgit v1.2.1