/** * @file const.h * @author André Berthold * @brief Defines handy constants. * @version 0.1 * @date 2023-05-25 * * @copyright Copyright (c) 2023 * */ #pragma once #include #include constexpr size_t VECTOR_SIZE_I = 512; constexpr size_t VECTOR_SIZE_B = VECTOR_SIZE_I / 8; constexpr size_t VECTOR_SIZE_H = VECTOR_SIZE_B / sizeof(uint32_t); constexpr size_t VECTOR_SIZE_W = VECTOR_SIZE_B / sizeof(uint64_t); template constexpr size_t VECTOR_SIZE() { return VECTOR_SIZE_B / sizeof(T); } template constexpr size_t V_MASK_SIZE() { return VECTOR_SIZE() / 8; } const __mmask16 full_m16 = _mm512_int2mask(0xFFFF);