alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
PP.hpp
Go to the documentation of this file.
1
/* Copyright 2024 René Widera
2
* SPDX-License-Identifier: MPL-2.0
3
*/
4
5
#pragma once
6
7
/** \file This files provides preprocessor utilities. */
8
9
/* version number encoding
10
* 4 digits for major version (max 9999)
11
* 3 digits for minor version (max 999)
12
* 5 digits for patch version (max 99999)
13
* example: version 1.2.3 -> 0001 002 00003
14
*/
15
#define ALPAKA_VERSION_NUMBER(major, minor, patch) \
16
((((major) % 10000llu) * 100'000'000llu) + (((minor) % 1000llu) * 100000llu) + ((patch) % 100000llu))
17
18
#define ALPAKA_VERSION_NUMBER_NOT_AVAILABLE ALPAKA_VERSION_NUMBER(0llu, 0llu, 0llu)
19
20
// version number conversion from vendor format to ALPAKA_VERSION_NUMBER
21
#define ALPAKA_YYYYMMDD_TO_VERSION(V) ALPAKA_VERSION_NUMBER(((V) / 10000llu), ((V) / 100llu) % 100llu, (V) % 100llu)
22
23
#define ALPAKA_YYYYMM_TO_VERSION(V) ALPAKA_VERSION_NUMBER(((V) / 100llu) % 10000llu, (V) % 100llu, 0llu)
24
25
#define ALPAKA_VVRRP_TO_VERSION(V) \
26
ALPAKA_VERSION_NUMBER(((V) / 1000llu) % 10000llu, ((V) / 10llu) % 100llu, (V) % 10llu)
27
28
#define ALPAKA_VRP_TO_VERSION(V) ALPAKA_VERSION_NUMBER(((V) / 100llu) % 10000llu, ((V) / 10llu) % 10llu, (V) % 10llu)
29
30
#define ALPAKA_VRRPP_TO_VERSION(V) \
31
ALPAKA_VERSION_NUMBER(((V) / 10000llu) % 10000llu, ((V) / 100llu) % 100llu, (V) % 100llu)
include
alpaka
core
PP.hpp
Generated on Tue Nov 25 2025 09:20:20 for alpaka by
1.9.8