整数の一様乱数
いちばん簡単な手法
厳密な精度を気にしなければ、 float(random() * n) % n が一番手っ取り早い
floor(random() * n)
floor(random() * 256.0) は 256 が混ざるよという話
Python
Pythonの場合、必要なビットをシフトで取り出しつつデカすぎる値のRejectionを行う _randbelow_with_getrandbits: 🔗 numpy
numpyの場合、必要なビットをマスクで取り出しつつデカすぎる値のRejectionを行う 下位ビットを取り出しているため、下位ビットの精度を気にしつつ使ったほうが良さそう
buffered_bounded_masked_uint32 🔗 random_buffered_bounded_uint32 🔗 buffered_bounded_lemire_uint32 🔗 randint 内、Implementation Detail 🔗