<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">This might not be critical any more since seed is deprecated but I encountered a problem with random today when passing in hand crafted seeds.<div class=""><br class=""></div><div class="">The definition of a seed is: <span style="font-family: Courier, monospace; font-size: 13px; font-weight: bold; background-color: rgb(255, 255, 255);" class="">{integer(), integer(), integer()}</span></div><div class=""><br class=""></div><div class="">The seed was generated by the method suggested in random:seed:</div><div class=""><pre style="font-family: Courier, monospace; font-size: 13px; background-color: rgb(238, 238, 255);" class="">{erlang:phash2([node()]),
 erlang:monotonic_time(),
 erlang:unique_integer()}</pre><div class="">This resulted in the seed:</div></div><div class=""><br class=""></div><div class="">{128631525,-576302453291645741,-576460752303421854}</div><div class=""><br class=""></div><div class="">That seed is valid based on the type specification of seed.</div><div class=""><br class=""></div><div class="">Now entered random:uniform_s/2, by specification it returns a value 1 <= N <= (passed argument) BUT it doesn’t with this seed:</div><div class=""><br class=""></div><div class=""><div class="">random:uniform_s(10, {128631525,-576302453291645741,-576460752303421854}).</div><div class="">{-1,{23048,-115,-29427}}</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Yes I know that  constructing and passing a seed like this is evil,  please don’t get hung on that, it is not my code it’s code I am debugging - I fully agree that it probably should be changed to rand and be done with it, still it looks is a bug.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Heinz</div><div class=""><br class=""></div></body></html>