NeoN
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
include
NeoN
core
primitives
label.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
// SPDX-FileCopyrightText: 2023 NeoN authors
3
#pragma once
4
5
#include <cstdint>
6
7
#include "
NeoN/core/primitives/traits.hpp
"
8
9
10
namespace
NeoN
11
{
12
#ifdef NeoN_DP_LABEL
13
using
label
= int64_t;
14
15
#ifdef NeoN_US_IDX
16
using
localIdx
= uint32_t;
17
using
globalIdx
= uint64_t;
18
#else
19
using
localIdx
= int64_t;
20
using
globalIdx
= int64_t;
21
#endif
22
23
#else
24
using
label
= int32_t;
25
26
#ifdef NeoN_US_IDX
27
using
localIdx
= uint32_t;
28
using
globalIdx
= uint64_t;
29
#else
30
using
localIdx
= int32_t;
31
using
globalIdx
= int64_t;
32
#endif
33
34
#endif
35
36
using
size_t
= std::size_t;
37
using
mpi_label_t
= int;
38
39
// traits for label
40
template
<>
41
KOKKOS_INLINE_FUNCTION
localIdx
one<localIdx>
()
42
{
43
return
1;
44
};
45
46
template
<>
47
KOKKOS_INLINE_FUNCTION
localIdx
zero<localIdx>
()
48
{
49
return
0;
50
};
51
52
}
NeoN
Definition
collection.hpp:14
NeoN::globalIdx
int64_t globalIdx
Definition
label.hpp:31
NeoN::localIdx
int32_t localIdx
Definition
label.hpp:30
NeoN::size_t
std::size_t size_t
Definition
label.hpp:36
NeoN::one< localIdx >
KOKKOS_INLINE_FUNCTION localIdx one< localIdx >()
Definition
label.hpp:41
NeoN::zero< localIdx >
KOKKOS_INLINE_FUNCTION localIdx zero< localIdx >()
Definition
label.hpp:47
NeoN::mpi_label_t
int mpi_label_t
Definition
label.hpp:37
NeoN::label
int32_t label
Definition
label.hpp:24
traits.hpp
Generated by
1.9.8