2010-04-02 106 views
1

我在CUDA中使用自定義的隨機數函數rand48。該函數不允許設置上限,但我要求輸出在0和1之間。自定義rand48的上界

我想我錯過了一些東西,但是如何將輸出轉換爲介於0和1之間的長度的數字可以改變,例如697135872將需要除以億和29186668將需要由100000000

謝謝大家

+0

您的PRNG會在某個範圍內返回一個不變的分佈嗎?你想返回一個'浮動'嗎? – Potatoswatter 2010-04-02 22:20:52

+0

它與標準的rand()相同,並且是一個浮動將是偉大的。 – 2010-04-02 22:26:44

回答

0

分如果你的PRNG行爲就像rand然後它會產生0和RAND_MAX之間的數字均勻概率。你只需要乘以1.f/RAND_MAX

如果您在不同的情況下劃分不同的數字,您將以非均勻分佈結束。