RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
traits.hpp
Go to the documentation of this file.
1 
11 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
12 // Copyright (c) Lawrence Livermore National Security, LLC and other
13 // RAJA Project Developers. See top-level LICENSE and COPYRIGHT
14 // files for dates and other details. No copyright assignment is required
15 // to contribute to RAJA.
16 //
17 // SPDX-License-Identifier: (BSD-3-Clause)
18 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
19 
20 
21 #ifndef RAJA_policy_tensor_arch_scalar_traits_HPP
22 #define RAJA_policy_tensor_arch_scalar_traits_HPP
23 
24 namespace RAJA
25 {
26 namespace internal
27 {
28 namespace expt
29 {
30 
31 
32 template<>
34 {
35  using element_type = int32_t;
37  static constexpr camp::idx_t s_num_bits = sizeof(element_type) * 8;
38  static constexpr camp::idx_t s_num_elem = 1;
39  using int_element_type = int32_t;
40 };
41 
42 template<>
44 {
45  using element_type = int64_t;
47  static constexpr camp::idx_t s_num_bits = sizeof(element_type) * 8;
48  static constexpr camp::idx_t s_num_elem = 1;
49  using int_element_type = int64_t;
50 };
51 
52 template<>
54 {
55  using element_type = float;
57  static constexpr camp::idx_t s_num_bits = sizeof(element_type) * 8;
58  static constexpr camp::idx_t s_num_elem = 1;
59  using int_element_type = int32_t;
60 };
61 
62 template<>
64 {
65  using element_type = double;
67  static constexpr camp::idx_t s_num_bits = sizeof(element_type) * 8;
68  static constexpr camp::idx_t s_num_elem = 1;
69  using int_element_type = int64_t;
70 };
71 
72 
73 } // namespace expt
74 } // namespace internal
75 } // namespace RAJA
76 
77 #endif
Definition: AlignedRangeIndexSetBuilders.cpp:35
Definition: arch.hpp:114