Skip to content

Commit aaeb17a

Browse files
Update src/stdlib_stats_distribution_uniform.fypp
Co-authored-by: Jeremie Vandenplas <jeremie.vandenplas@gmail.com>
1 parent d21a17c commit aaeb17a

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/stdlib_stats_distribution_uniform.fypp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,20 +237,19 @@ module stdlib_stats_distribution_uniform
237237
integer, intent(in) :: array_size
238238
${t1}$, intent(in) :: loc, scale
239239
${t1}$ :: res(array_size)
240-
${t1}$ :: u, mask, n, nn
240+
${t1}$ :: u, mask, nn
241241
integer :: i, zeros, bits_left, bits
242242

243-
n = scale
244-
if(n == 0_${k1}$) call error_stop("Error(unif_dist_rvs_array): Uniform" &
243+
if(scale == 0_${k1}$) call error_stop("Error(unif_dist_rvs_array): Uniform" &
245244
//" distribution scale parameter must be non-zero")
246-
zeros = leadz(n)
247-
bits = bit_size(n) - zeros
245+
zeros = leadz(scale)
246+
bits = bit_size(scale) - zeros
248247
mask = shiftr(not(0_${k1}$), zeros)
249248
do i = 1, array_size
250249
L1 : do
251-
u = dist_rand(n)
250+
u = dist_rand(scale)
252251
nn = iand(u, mask)
253-
if(nn <= n) exit L1
252+
if(nn <= scale) exit L1
254253
bits_left = zeros
255254
L2 : do
256255
if(bits_left < bits) exit L2

0 commit comments

Comments
 (0)