You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
685 B
33 lines
685 B
/**
|
|
* @file const.h
|
|
* @author André Berthold
|
|
* @brief Defines handy constants.
|
|
* @version 0.1
|
|
* @date 2023-05-25
|
|
*
|
|
* @copyright Copyright (c) 2023
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <immintrin.h>
|
|
|
|
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<typename T>
|
|
constexpr size_t VECTOR_SIZE() {
|
|
return VECTOR_SIZE_B / sizeof(T);
|
|
}
|
|
|
|
template<typename T>
|
|
constexpr size_t V_MASK_SIZE() {
|
|
return VECTOR_SIZE<T>() / 8;
|
|
}
|
|
|
|
|
|
const __mmask16 full_m16 = _mm512_int2mask(0xFFFF);
|