NeoN
A framework for CFD software
Loading...
Searching...
No Matches
macros.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2023 - 2026 NeoN authors
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
10
11/* @brief given a c macro the macro gets called for all regularly used integer types
12 * this is used to instantiate templates for our container types
13 */
14#define NN_FOR_ALL_INTEGER_TYPES(_macro) \
15 _macro(uint32_t); \
16 _macro(uint64_t); \
17 _macro(int32_t); \
18 _macro(int64_t)
19
20/* @brief given a c macro the macro gets called for all scalar types
21 * like float and double
22 *
23 */
24#define NN_FOR_ALL_SCALAR_TYPES(_macro) \
25 _macro(float); \
26 _macro(double)
27
28/* @brief given a c macro the macro gets called for all valid value types
29 * which includes scalar and vec3 types
30 *
31 */
32#define NN_FOR_ALL_VALUE_TYPES(_macro) \
33 NN_FOR_ALL_SCALAR_TYPES(_macro); \
34 _macro(Vec3); \
35 _macro(Tensor); \
36 _macro(SymmTensor)