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/RNGXCI.h" 00028 00029 // initialize static variables for RNGXCI 00030 00031 #if defined(IPPL_LONGLONG) 00032 const RNlong RNGXCI::RN_MULT = 19073486328125LL; // 5^19 00033 const RNlong RNGXCI::RN_MOD = 281474976710656LL; // 2^48 00034 #else 00035 const RNlong RNGXCI::RN_MULT = 19073486328125L; // 5^19 00036 const RNlong RNGXCI::RN_MOD = 281474976710656L; // 2^48 00037 #endif 00038 const RNlong RNGXCI::RN_PERIOD = RNGXCI::RN_MOD/4; // period 00039 // normalize to (0,1) 00040 const double RNGXCI::RN_NORM = 1./281474976710656.; 00041 // 48-bit mask 00042 const RNlong RNGXCI::RN_MASK = RNGXCI::RN_MOD - 1L; 00043 00044 00045 /*************************************************************************** 00046 * $RCSfile: RNGXCI.cpp,v $ $Author: adelmann $ 00047 * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:33 $ 00048 * IPPL_VERSION_ID: $Id: RNGXCI.cpp,v 1.1.1.1 2003/01/23 07:40:33 adelmann Exp $ 00049 ***************************************************************************/