2010-04-02 39 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

如果您在不同的情况下划分不同的数字,您将以非均匀分布结束。