Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
FWCore
Utilities
src
Adler32Calculator.cc
Go to the documentation of this file.
1
#include "
FWCore/Utilities/interface/Adler32Calculator.h
"
2
3
namespace
cms
{
4
5
//-------------------------------------------------------
6
// the following is adapted from
7
// http://en.wikipedia.org/wiki/Adler-32
8
//-------------------------------------------------------
9
10
void
Adler32
(
char
const
*
data
,
size_t
len, uint32_t&
a
, uint32_t&
b
) {
11
/* data: Pointer to the data to be summed; len is in bytes */
12
13
#define MOD_ADLER 65521
14
15
unsigned
char
const
* ptr = static_cast<unsigned char const*>(static_cast<void const*>(
data
));
16
while
(len > 0) {
17
size_t
tlen = (len > 5552 ? 5552 : len);
18
len -= tlen;
19
do
{
20
a
+= *ptr++;
21
b
+=
a
;
22
}
while
(--tlen);
23
24
a
%=
MOD_ADLER
;
25
b
%=
MOD_ADLER
;
26
}
27
28
#undef MOD_ADLER
29
}
30
31
uint32_t
Adler32
(
char
const
*
data
,
size_t
len) {
32
/* data: Pointer to the data to be summed; len is in bytes */
33
uint32_t
a
= 1,
b
= 0;
34
Adler32
(
data
, len,
a
,
b
);
35
return
(
b
<< 16) |
a
;
36
}
37
}
// namespace cms
MOD_ADLER
#define MOD_ADLER
cms::Adler32
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
Definition:
Adler32Calculator.cc:10
b
double b
Definition:
hdecay.h:118
a
double a
Definition:
hdecay.h:119
Adler32Calculator.h
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:79
cms
Namespace of DDCMS conversion namespace.
Definition:
ProducerAnalyzer.cc:21
Generated for CMSSW Reference Manual by
1.8.16