From 64a822f3c1f47ac64343822e327272d6cd205475 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Thu, 12 Aug 2021 18:28:25 +0000 Subject: [PATCH] clang-format and clang-tidy fixes for 87e7df55 --- others/lru_cache.cpp | 258 ++++++++++++++++++++++--------------------- 1 file changed, 130 insertions(+), 128 deletions(-) diff --git a/others/lru_cache.cpp b/others/lru_cache.cpp index 17e79889a..e46f0715b 100644 --- a/others/lru_cache.cpp +++ b/others/lru_cache.cpp @@ -59,82 +59,84 @@ namespace others { * @namespace lru_cache * @brief Implementation of LRU caching algorithm */ - namespace lru_cache { +namespace lru_cache { /** * @brief LRU cache class */ - class LRUCache { - uint64_t pageFrame; ///< Page frame, or total size of the cache. - std::list cache; ///< Cache linked list (using the STL) - std::unordered_map::iterator> - pageMap; ///< Hash map containing pages and their addresses +class LRUCache { + uint64_t pageFrame; ///< Page frame, or total size of the cache. + std::list cache; ///< Cache linked list (using the STL) + std::unordered_map::iterator> + pageMap; ///< Hash map containing pages and their addresses - uint64_t hits = 0; ///< Total number of hits, or total number of times a page - ///< was found in cache. - uint64_t pageFault = 0; ///< Total number of miss/page fault, or total number of - ///< times a page was not found in cache + uint64_t hits = + 0; ///< Total number of hits, or total number of times a page + ///< was found in cache. + uint64_t pageFault = + 0; ///< Total number of miss/page fault, or total number of + ///< times a page was not found in cache - public: - /** - * @brief Constructor, Initialize thee LRU class with page frame. - * @param pf Page frame or total size of cache. - * */ - explicit LRUCache(uint64_t pf) { pageFrame = pf; } + public: + /** + * @brief Constructor, Initialize thee LRU class with page frame. + * @param pf Page frame or total size of cache. + * */ + explicit LRUCache(uint64_t pf) { pageFrame = pf; } - /** - * @brief Refer to a page, or request a page from memory. - * @param page The page that you are referring to. - * @returns void - * */ - void refer(uint64_t page) { - // If the page requested not in cache. - if (pageMap.find(page) == pageMap.end()) { - pageFault++; ///< Increase the page fault by one. + /** + * @brief Refer to a page, or request a page from memory. + * @param page The page that you are referring to. + * @returns void + * */ + void refer(uint64_t page) { + // If the page requested not in cache. + if (pageMap.find(page) == pageMap.end()) { + pageFault++; ///< Increase the page fault by one. - // Check if the cache is full - if (cache.size() == pageFrame) { - // delete the last page from cache - uint64_t lastPage = cache.back(); - cache.pop_back(); - pageMap.erase(lastPage); - } - } - // The requested page is in the cache - else { - hits++; - // present in cache, erase from current position to bring in front - cache.erase(pageMap[page]); - } - // Push it in the front of the cache and update the page reference in - // page map. - cache.push_front(page); - pageMap[page] = cache.begin(); + // Check if the cache is full + if (cache.size() == pageFrame) { + // delete the last page from cache + uint64_t lastPage = cache.back(); + cache.pop_back(); + pageMap.erase(lastPage); } + } + // The requested page is in the cache + else { + hits++; + // present in cache, erase from current position to bring in front + cache.erase(pageMap[page]); + } + // Push it in the front of the cache and update the page reference in + // page map. + cache.push_front(page); + pageMap[page] = cache.begin(); + } - /** - * @brief A function to display the current cache - * @returns Void - * */ - void display() { - for (uint64_t &it : cache) { - std::cout << it << " "; - } - std::cout << std::endl; - } - /** - * @brief A function to get page hits - * @returns int - * */ - uint64_t getHits() const { return hits; } - /** - * @brief A function to get page fault - * @returns int - * */ - uint64_t getPageFault() const { return pageFault; } - }; + /** + * @brief A function to display the current cache + * @returns Void + * */ + void display() { + for (uint64_t &it : cache) { + std::cout << it << " "; + } + std::cout << std::endl; + } + /** + * @brief A function to get page hits + * @returns int + * */ + uint64_t getHits() const { return hits; } + /** + * @brief A function to get page fault + * @returns int + * */ + uint64_t getPageFault() const { return pageFault; } +}; - } // namespace lru_cache +} // namespace lru_cache } // namespace others namespace lru_tests { @@ -143,11 +145,11 @@ namespace lru_tests { * @tparam T Type of the given message. * @returns void * */ - template - void log(T msg) { - // It's just to avoid writing cout and endl - std::cout << "[TESTS] : ---> " << msg << std::endl; - } +template +void log(T msg) { + // It's just to avoid writing cout and endl + std::cout << "[TESTS] : ---> " << msg << std::endl; +} /** * @brief A simple test case @@ -155,26 +157,26 @@ namespace lru_tests { * miss * @returns void * */ - static void test_1() { - uint64_t expected_hits = 2; - uint64_t expected_pageFault = 4; +static void test_1() { + uint64_t expected_hits = 2; + uint64_t expected_pageFault = 4; - log("Running Test-1..."); + log("Running Test-1..."); - others::lru_cache::LRUCache cache(4); - cache.refer(1); - cache.refer(2); - cache.refer(5); - cache.refer(1); - cache.refer(4); - cache.refer(5); + others::lru_cache::LRUCache cache(4); + cache.refer(1); + cache.refer(2); + cache.refer(5); + cache.refer(1); + cache.refer(4); + cache.refer(5); - log("Checking assert statement..."); - assert(cache.getHits() == expected_hits && - cache.getPageFault() == expected_pageFault); - log("Assert successful!"); - log("Test-1 complete!"); - } + log("Checking assert statement..."); + assert(cache.getHits() == expected_hits && + cache.getPageFault() == expected_pageFault); + log("Assert successful!"); + log("Test-1 complete!"); +} /** * @brief A test case contains hits more than cache size @@ -182,26 +184,26 @@ namespace lru_tests { * miss * @returns void * */ - static void test_2() { - uint64_t expected_hits = 4; - uint64_t expected_pageFault = 2; +static void test_2() { + uint64_t expected_hits = 4; + uint64_t expected_pageFault = 2; - log("Running Test-2..."); + log("Running Test-2..."); - others::lru_cache::LRUCache cache(4); - cache.refer(1); - cache.refer(1); - cache.refer(1); - cache.refer(1); - cache.refer(1); - cache.refer(5); + others::lru_cache::LRUCache cache(4); + cache.refer(1); + cache.refer(1); + cache.refer(1); + cache.refer(1); + cache.refer(1); + cache.refer(5); - log("Checking assert statement..."); - assert(cache.getHits() == expected_hits && - cache.getPageFault() == expected_pageFault); - log("Assert successful!"); - log("Test-2 complete!"); - } + log("Checking assert statement..."); + assert(cache.getHits() == expected_hits && + cache.getPageFault() == expected_pageFault); + log("Assert successful!"); + log("Test-2 complete!"); +} /** * @brief A simple test case @@ -209,38 +211,38 @@ namespace lru_tests { * miss * @returns void * */ - static void test_3() { - uint64_t expected_hits = 1; - uint64_t expected_pageFault = 5; +static void test_3() { + uint64_t expected_hits = 1; + uint64_t expected_pageFault = 5; - log("Running Test-3..."); + log("Running Test-3..."); - others::lru_cache::LRUCache cache(4); - cache.refer(1); - cache.refer(2); - cache.refer(3); - cache.refer(4); - cache.refer(5); - cache.refer(5); + others::lru_cache::LRUCache cache(4); + cache.refer(1); + cache.refer(2); + cache.refer(3); + cache.refer(4); + cache.refer(5); + cache.refer(5); - log("Checking assert statement..."); - assert(cache.getHits() == expected_hits && - cache.getPageFault() == expected_pageFault); - log("Assert successful!"); - log("Test-3 complete!"); - } + log("Checking assert statement..."); + assert(cache.getHits() == expected_hits && + cache.getPageFault() == expected_pageFault); + log("Assert successful!"); + log("Test-3 complete!"); +} /** * @brief A function to invoke all test cases * @returns void * */ - static void run_tests() { - test_1(); - test_2(); - test_3(); - log(""); - log("TESTS COMPLETED!"); - } +static void run_tests() { + test_1(); + test_2(); + test_3(); + log(""); + log("TESTS COMPLETED!"); +} } // namespace lru_tests /**