Skip to content

Possible bug in randomness on first call #3

@williamgrimes

Description

@williamgrimes

Can you explain this behaviour?

user> (set-random-seed! 2)
nil
user> (rand-nth (take 10 (range)))
7
user> (set-random-seed! 42) 
nil
user> (rand-nth (take 10 (range)))
7
user> (set-random-seed! 82) 
nil
user> (rand-nth (take 10 (range)))
7
user> (set-random-seed! 182)
nil
user> (rand-nth (take 10 (range)))
7
user> (set-random-seed! 1082)
nil
user> (rand-nth (take 10 (range)))
6
user> (set-random-seed! 3)
nil
user> (rand-nth (take 10 (range)))
7
user> 

Changing the seed value from 2, 3, 42, 82, 182 the first call of (rand-nth (take 10 (range))) always returns a 7? Only when I (set-random-seed! 1082) I get a different value back. Here is a further experiment, see I always get a 7 for the first element in the vector, until I set the seed to 1082

user> (set-random-seed! 1)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 1 4 4 2)
user> (set-random-seed! 2)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 2 9 0 4)
user> (set-random-seed! 3)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 5 0 8 0)
user> (set-random-seed! 4)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 9 9 8 9)
user> (set-random-seed! 5)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 1 0 6 4)
user> (set-random-seed! 6)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 3 5 2 7)
user> (set-random-seed! 7)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(7 6 7 0 3)
user> (set-random-seed! 1082)
nil
user> (repeatedly 5 #(rand-nth (take 10 (range))))
(6 2 5 5 1)
user> 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions