Files
geant4/source/externals/clhep/include/CLHEP/Random/RandomEngine.icc
2018-12-07 15:15:39 +01:00

70 lines
2.1 KiB
C++

// -*- C++ -*-
//
// -----------------------------------------------------------------------
// HEP Random
// --- HepRandomEngine ---
// inlined functions implementation file
// -----------------------------------------------------------------------
// This file is part of Geant4 (simulation toolkit for HEP).
// =======================================================================
// Gabriele Cosmo - Created: 5th September 1995
// - Added == and != operators: 19th November 1996
// - Moved seeds table to HepRandom: 19th March 1998
// =======================================================================
#include <cmath>
namespace CLHEP {
inline bool HepRandomEngine::operator==(const HepRandomEngine& engine) {
return (this==&engine);
}
inline bool HepRandomEngine::operator!=(const HepRandomEngine& engine) {
return (this!=&engine);
}
inline double HepRandomEngine::exponent_bit_32() {
static const double exponent_bit_32 = std::pow(2.0, 32.0);
return exponent_bit_32;
}
inline double HepRandomEngine::mantissa_bit_12() {
static const double mantissa_bit_12 = std::pow(0.5, 12.0);
return mantissa_bit_12;
}
inline double HepRandomEngine::mantissa_bit_24() {
static const double mantissa_bit_24 = std::pow(0.5, 24.0);
return mantissa_bit_24;
}
inline double HepRandomEngine::twoToMinus_32() {
static const double twoToMinus_32 = std::ldexp(1.0, -32);
return twoToMinus_32;
}
inline double HepRandomEngine::twoToMinus_48() {
static const double twoToMinus_48 = std::ldexp(1.0, -48);
return twoToMinus_48;
}
inline double HepRandomEngine::twoToMinus_49() {
static const double twoToMinus_49 = std::ldexp(1.0, -49);
return twoToMinus_49;
}
inline double HepRandomEngine::twoToMinus_53() {
static const double twoToMinus_53 = std::ldexp(1.0, -53);
return twoToMinus_53;
}
inline double HepRandomEngine::nearlyTwoToMinus_54() {
static const double nearlyTwoToMinus_54 = std::ldexp(1.0, -54)
- std::ldexp(1.0, -100);
return nearlyTwoToMinus_54;
}
} // namespace CLHEP