From f6d6b926b15d70b1ff7477f4bc8d7ea46504ff05 Mon Sep 17 00:00:00 2001 From: Sterling Harper Date: Wed, 13 Dec 2017 18:49:12 -0500 Subject: [PATCH] Address #939 comments --- CMakeLists.txt | 2 +- src/{random_lcg.C => random_lcg.cpp} | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) rename src/{random_lcg.C => random_lcg.cpp} (95%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41ca8d8ee..4edc89ebc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -417,7 +417,7 @@ set(LIBOPENMC_FORTRAN_SRC ) set(LIBOPENMC_CXX_SRC src/random_lcg.h - src/random_lcg.C) + src/random_lcg.cpp) add_library(libopenmc SHARED ${LIBOPENMC_FORTRAN_SRC} ${LIBOPENMC_CXX_SRC}) set_target_properties(libopenmc PROPERTIES OUTPUT_NAME openmc) add_executable(${program} src/main.F90) diff --git a/src/random_lcg.C b/src/random_lcg.cpp similarity index 95% rename from src/random_lcg.C rename to src/random_lcg.cpp index ea79be67f..047bda8e5 100644 --- a/src/random_lcg.C +++ b/src/random_lcg.cpp @@ -21,7 +21,7 @@ constexpr uint64_t prn_mod {0x8000000000000000}; // 2^63 constexpr uint64_t prn_mask {0x7fffffffffffffff}; // 2^63 - 1 constexpr uint64_t prn_stride {152917LL}; // stride between // particles -constexpr double prn_norm {pow(2, -63)}; // 2^-63 +constexpr double prn_norm {1.0 / prn_mod}; // 2^-63 // Current PRNG state uint64_t prn_seed[N_STREAMS]; // current seed @@ -135,10 +135,11 @@ openmc_set_seed(int64_t new_seed) { seed = new_seed; #pragma omp parallel - for (int i = 0; i < N_STREAMS; i++) { - prn_seed[i] = seed + i; + { + for (int i = 0; i < N_STREAMS; i++) { + prn_seed[i] = seed + i; + } + prn_set_stream(STREAM_TRACKING); } - prn_set_stream(STREAM_TRACKING); -#pragma end omp parallel return 0; }