Skip to content

Commit c0cfefe

Browse files
Hyeoksu LeeHyeoksu Lee
authored andcommitted
enhance consistency of prng
1 parent 12829bd commit c0cfefe

File tree

4 files changed

+65
-106
lines changed

4 files changed

+65
-106
lines changed

src/common/m_constants.fpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ module m_constants
6666

6767
! Pseudo-random number generator
6868
integer, parameter :: modulus = 2**30 - 1
69-
integer, parameter :: multiplier = 1103515245
70-
integer, parameter :: increment = 12345
69+
integer, parameter :: multiplier = 1664525
70+
integer, parameter :: increment = 1013904223
7171
integer, parameter :: amplifier = 3**13
72+
real(wp), parameter :: decimal_trim = 1.e5_wp
7273

7374
! System constants
7475
integer, parameter :: CASE_FILE_ERROR_CODE = 22

src/pre_process/m_perturbation.fpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,12 @@ contains
286286

287287
function modmul(a) result(val)
288288
integer, intent(in) :: a
289-
integer :: xint, val
290-
real(wp) :: x
289+
integer :: val
290+
real(wp) :: x, y
291291

292292
x = (multiplier/real(modulus, wp))*a + (increment/real(modulus, wp))
293-
xint = floor(x)
294-
val = nint((x - xint)*modulus)
293+
y = nint((x - floor(x))*decimal_trim)/decimal_trim
294+
val = nint(y*modulus)
295295

296296
end function modmul
297297

tests/D13FDB23/golden-metadata.txt

Lines changed: 49 additions & 91 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/D13FDB23/golden.txt

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)