The Gaudi Framework  master (da3d77e1)
QuasiRandom.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIUTILS_QUASIRANDOM_H
12 #define GAUDIUTILS_QUASIRANDOM_H 1
13 
14 // Include files
15 #include <string>
16 
17 // boost
18 #include <boost/integer/integer_mask.hpp>
19 
36 namespace Gaudi {
37  namespace Utils {
38  namespace QuasiRandom {
39 
41  uint32_t mix( uint32_t state );
42 
44  uint32_t mix32( uint32_t state, uint32_t extra );
45 
47  uint32_t mix64( uint32_t state, uint64_t extra );
48 
50  uint32_t mixString( uint32_t state, const std::string& extra );
51  } // namespace QuasiRandom
52  } // namespace Utils
53 } // namespace Gaudi
54 #endif // GAUDIUTILS_QUASIRANDOM_H
Gaudi::Utils::QuasiRandom::mix64
uint32_t mix64(uint32_t state, uint64_t extra)
mix some 'extra' entropy into 'state' and return result
Definition: QuasiRandom.cpp:35
std::string
STL class.
Gaudi::Utils::QuasiRandom::mixString
uint32_t mixString(uint32_t state, const std::string &extra)
mix some 'extra' entropy into 'state' and return result
Definition: QuasiRandom.cpp:41
Gaudi::Utils::QuasiRandom::mix32
uint32_t mix32(uint32_t state, uint32_t extra)
mix some 'extra' entropy into 'state' and return result
Definition: QuasiRandom.cpp:33
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Gaudi::Utils::QuasiRandom
Definition: QuasiRandom.h:38
Gaudi::Utils::QuasiRandom::mix
uint32_t mix(uint32_t state)
Create a hash with a large avalanche effect from a 32 bit integer.
Definition: QuasiRandom.cpp:21
compareRootHistos.state
state
Definition: compareRootHistos.py:496