00001 // -*- C++ -*- 00002 /*************************************************************************** 00003 * 00004 * The IPPL Framework 00005 * 00006 * This program was prepared by PSI. 00007 * All rights in the program are reserved by PSI. 00008 * Neither PSI nor the author(s) 00009 * makes any warranty, express or implied, or assumes any liability or 00010 * responsibility for the use of this software 00011 * 00012 * Visit http://www.acl.lanl.gov/POOMS for more details 00013 * 00014 ***************************************************************************/ 00015 00016 // -*- C++ -*- 00017 /*************************************************************************** 00018 * 00019 * The IPPL Framework 00020 * 00021 * 00022 * Visit http://people.web.psi.ch/adelmann/ for more details 00023 * 00024 ***************************************************************************/ 00025 00026 // include files 00027 #include "Utility/RNGXDiv.h" 00028 00029 // initialize static variables for RNGXDiv 00030 const double RNGXDiv::SQR_RANMAX = 16777216.0; // 2^24 00031 const double RNGXDiv::RANDOM_MAX = 16777216.0*16777216.0; // 2^48 00032 const double RNGXDiv::INV_SQR_RANMAX = 1.0/RNGXDiv::SQR_RANMAX; 00033 const double RNGXDiv::INV_RANMAX = 1.0/RNGXDiv::RANDOM_MAX; 00034 const double RNGXDiv::SeedMultUpper = 13008944.0; 00035 const double RNGXDiv::SeedMultLower = 170125.0; 00036 const double RNGXDiv::RandMultUpper = 1136868.0; 00037 const double RNGXDiv::RandMultLower = 6328637.0; 00038 const double RNGXDiv::FirstSeed = 1953125.0*9765625.0; // 5^19 00039 00040 00041 /*************************************************************************** 00042 * $RCSfile: RNGXDiv.cpp,v $ $Author: adelmann $ 00043 * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:33 $ 00044 * IPPL_VERSION_ID: $Id: RNGXDiv.cpp,v 1.1.1.1 2003/01/23 07:40:33 adelmann Exp $ 00045 ***************************************************************************/