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