Main Page
Namespaces
Classes
Package Documentation
CVS Directory
WorkBook
Offline Guide
Release schedule
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
HeterogeneousCore
CUDAUtilities
interface
FlexiStorage.h
Go to the documentation of this file.
1
#ifndef HeterogeneousCore_CUDAUtilities_interface_FlexiStorage_h
2
#define HeterogeneousCore_CUDAUtilities_interface_FlexiStorage_h
3
4
#include <cstdint>
5
6
namespace
cms {
7
namespace
cuda
{
8
9
template
<
typename
I,
int
S>
10
class
FlexiStorage
{
11
public
:
12
constexpr
int
capacity
()
const
{
return
S
; }
13
14
constexpr
I
&
operator[]
(
int
i
) {
return
m_v
[
i
]; }
15
constexpr
const
I
&
operator[]
(
int
i
)
const
{
return
m_v
[
i
]; }
16
17
constexpr
I
*
data
() {
return
m_v
; }
18
constexpr
I
const
*
data
()
const
{
return
m_v
; }
19
20
private
:
21
I
m_v
[
S
];
22
};
23
24
template
<
typename
I>
25
class
FlexiStorage
<
I
, -1> {
26
public
:
27
constexpr
void
init
(
I
*
v
,
int
s
) {
28
m_v
=
v
;
29
m_capacity =
s
;
30
}
31
32
constexpr
int
capacity
()
const
{
return
m_capacity; }
33
34
constexpr
I
&
operator[]
(
int
i
) {
return
m_v
[
i
]; }
35
constexpr
const
I
&
operator[]
(
int
i
)
const
{
return
m_v
[
i
]; }
36
37
constexpr
I
*
data
() {
return
m_v
; }
38
constexpr
I
const
*
data
()
const
{
return
m_v
; }
39
40
private
:
41
I
*
m_v
;
42
int
m_capacity
;
43
};
44
45
}
// namespace cuda
46
47
}
// namespace cms
48
49
#endif
cms::cuda::FlexiStorage::operator[]
constexpr I & operator[](int i)
Definition:
FlexiStorage.h:14
mps_fire.i
i
Definition:
mps_fire.py:428
ecalDigis_cff.cuda
tuple cuda
Definition:
ecalDigis_cff.py:35
cms::cuda::FlexiStorage< I,-1 >::operator[]
constexpr I & operator[](int i)
Definition:
FlexiStorage.h:34
cms::cuda::v
uint32_t T const *__restrict__ v
Definition:
HistoContainer.h:11
cms::cuda::FlexiStorage< I,-1 >::capacity
constexpr int capacity() const
Definition:
FlexiStorage.h:32
cms::cuda::FlexiStorage< I,-1 >::data
constexpr I const * data() const
Definition:
FlexiStorage.h:38
cms::cuda::FlexiStorage::data
constexpr I * data()
Definition:
FlexiStorage.h:17
cms::cuda::FlexiStorage::capacity
constexpr int capacity() const
Definition:
FlexiStorage.h:12
cms::cuda::FlexiStorage< I,-1 >::init
constexpr void init(I *v, int s)
Definition:
FlexiStorage.h:27
cms::cuda::FlexiStorage< I,-1 >::m_v
I * m_v
Definition:
FlexiStorage.h:41
Exhume::I
const std::complex< double > I
Definition:
I.h:8
cms::cuda::FlexiStorage::data
constexpr I const * data() const
Definition:
FlexiStorage.h:18
cms::cuda::FlexiStorage
Definition:
FlexiStorage.h:10
cms::cuda::FlexiStorage< I,-1 >::operator[]
constexpr const I & operator[](int i) const
Definition:
FlexiStorage.h:35
alignCSCRings.s
list s
Definition:
alignCSCRings.py:92
cms::cuda::FlexiStorage< I,-1 >::data
constexpr I * data()
Definition:
FlexiStorage.h:37
S
double S(const TLorentzVector &, const TLorentzVector &)
Definition:
Particle.cc:97
cms::cuda::FlexiStorage::operator[]
constexpr const I & operator[](int i) const
Definition:
FlexiStorage.h:15
cms::cuda::FlexiStorage::m_v
I m_v[S]
Definition:
FlexiStorage.h:21
cms::cuda::FlexiStorage< I,-1 >::m_capacity
int m_capacity
Definition:
FlexiStorage.h:42
Generated for CMSSW Reference Manual by
1.8.5