Merge branch '135-make-chunk-computations-constexpr' into 'master'
Resolve "Make chunk computations constexpr" This MR implements the following changes: - All arithmetic operations based on block sizes are now constexpr. - Add several new functions, also constexpr: is_aligned(), is_power_of_2(). - Reimplement log2() to make it faster based on compiler builtins. - Rename functions to avoid depending on the concept of chunk (in preparation for more chunk-agnostic code). - Add exhaustive tests for all these functions and enable them in the CI. - Rename the gkfs::util namespace to gkfs::utils. - Create the gkfs::utils::arithmetic namespace for all these functions, as well as a convenience library/target in CMake for easier testing. Fixes #137 Closes #135 See merge request !75
No related branches found
No related tags found
Showing
- .gitlab-ci.yml 9 additions, 0 deletions.gitlab-ci.yml
- include/client/logging.hpp 1 addition, 1 deletioninclude/client/logging.hpp
- include/client/make_array.hpp 2 additions, 2 deletionsinclude/client/make_array.hpp
- include/client/preload_util.hpp 2 additions, 2 deletionsinclude/client/preload_util.hpp
- include/client/syscalls/args.hpp 8 additions, 8 deletionsinclude/client/syscalls/args.hpp
- include/daemon/util.hpp 2 additions, 2 deletionsinclude/daemon/util.hpp
- include/global/arithmetic/arithmetic.hpp 203 additions, 0 deletionsinclude/global/arithmetic/arithmetic.hpp
- include/global/chunk_calc_util.hpp 0 additions, 127 deletionsinclude/global/chunk_calc_util.hpp
- src/client/CMakeLists.txt 4 additions, 3 deletionssrc/client/CMakeLists.txt
- src/client/gkfs_functions.cpp 14 additions, 14 deletionssrc/client/gkfs_functions.cpp
- src/client/hooks.cpp 1 addition, 1 deletionsrc/client/hooks.cpp
- src/client/logging.cpp 1 addition, 1 deletionsrc/client/logging.cpp
- src/client/open_file_map.cpp 8 additions, 8 deletionssrc/client/open_file_map.cpp
- src/client/preload.cpp 4 additions, 4 deletionssrc/client/preload.cpp
- src/client/preload_util.cpp 2 additions, 2 deletionssrc/client/preload_util.cpp
- src/client/rpc/forward_data.cpp 34 additions, 25 deletionssrc/client/rpc/forward_data.cpp
- src/daemon/daemon.cpp 2 additions, 2 deletionssrc/daemon/daemon.cpp
- src/daemon/handler/srv_data.cpp 3 additions, 3 deletionssrc/daemon/handler/srv_data.cpp
- src/daemon/ops/data.cpp 7 additions, 5 deletionssrc/daemon/ops/data.cpp
- src/daemon/util.cpp 2 additions, 2 deletionssrc/daemon/util.cpp
Loading
Please register or sign in to comment