ROCK
1.9.1
Relativistic Oscillator Calculation Kit
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1
2
3
#ifndef ROCK_CONFIG_H
4
#define ROCK_CONFIG_H
5
6
#define ROCK_STRINGFY(X) #X
7
#define ROCK_STRING_CAT2(a, b) a b
8
#define ROCK_STRING_CAT3(a, b, c) a b c
9
#define ROCK_APPEND_COMMA(x) x,
10
#define ROCK_APPLY_ARG(func, arg) func(arg)
11
12
#define ROCK_CAT2_(a, b) a##b
13
#define ROCK_CAT2(a, b) ROCK_APPLY_ARG(ROCK_CAT2_, ROCK_APPEND_COMMA(a) b)
14
#define ROCK_CAT3_(a, b, c) a##b##c
15
#define ROCK_CAT3(a, b, c) \
16
ROCK_APPLY_ARG(ROCK_CAT3_, ROCK_APPEND_COMMA(a) ROCK_APPEND_COMMA(b) c)
17
18
// clang-format off
22
#define ROCK_VERSION_MAJOR 1
26
#define ROCK_VERSION_MINOR 9
27
#define ROCK_VERSION_PATCH 1
28
30
#define ROCK_REAL_TYPE DBL
31
#define ROCK_PARALLELIZATION 1
32
33
#define ROCK_ENABLE_GPU 0
34
// clang-format on
35
37
#define ROCK_ENABLE_FIELD_REFINEMENT 0
38
39
// 32 bytes == 256 bit
40
#define ROCK_ALIGNMENT 32
41
42
#if ((ROCK_ALIGNMENT) < 8) || ((ROCK_ALIGNMENT) & ((ROCK_ALIGNMENT) - 1))
43
#error Alignment must be potential of 2 to allow bit operations in size calculation
44
#endif
45
48
#define ROCK_STRIDE(TYPE, DIM) \
49
(((DIM) + ((ROCK_ALIGNMENT) / sizeof(TYPE) - 1)) \
50
& ~((ROCK_ALIGNMENT) / sizeof(TYPE) - 1))
51
#define TDM_STRIDE(rows) ROCK_STRIDE(real, rows)
52
#define DIM_TDM(rows) (TDM_STRIDE(rows) * 3)
53
65
#define ROCK_ENABLE_FAST_BESL 1
68
#define ROCK_ENABLE_FAST_HYPOT 1
74
#define ROCK_ENABLE_FAST_ATAN2 0
77
#define ROCK_ENABLE_GAUSSIAN_ALPHA_GAMMA 1
78
80
#define ROCK_BEAMLET_MAX_CORRECTOR_STEP 2
81
86
#define MIN_HARM 0
92
#define DIM_HARM 4
93
94
#define MAX_HARM (MIN_HARM + DIM_HARM - 1)
95
96
#endif
rock
config.h
Generated by
1.15.0