http://www.perlmonks.org?node_id=11126209


in reply to Re: is rand random enough to simulate dice rolls?
in thread is rand random enough to simulate dice rolls?

Yup. You'll get an average of 3.5 after a large number of rolls (for some definition of 'large') .. but it's possible that you won't meet the (3.4,3.6) range based on a string of high or low runs in the random number generator, and your test will fail. At that point the user will go .. "Huh?" I'm not sure what their next step might be -- if they're familiar with module installation, they might try a make test, and see that it passes the next time, and continue on to do the install. And some people might ditch the installation completely.

I'd recommend you change that to a non-critical test.

Alex / talexb / Toronto

Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.

Replies are listed 'Best First'.
Re^3: is rand random enough to simulate dice rolls?
by LanX (Sage) on Jan 03, 2021 at 16:24 UTC
    > but it's possible that you won't meet the (3.4,3.6) range based on a string of high or low runs in the random number generator, and your test will fail.

    But that's exactly what the definition of a PRNG guarantees.

    There *exists* a large number, such that the range is met in the run.

    Problematic is only the suggested number 10000, but my gut feeling says it's already big enough.

    I'd say if the OP wants to be sure of that, then he should include it in his test-suite.

    And if it's not critical enough to make the installation fail, he can still use it to emit a warning to the user.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery