问题描述
|
我需要一个可重复的伪随机函数,从[0,1]中的浮点数到[0,1]中的浮点数。即给定一个32位的IEEE浮点数,则返回一个“不同”的值(给定24个尾数,则尽可能地随机)。它必须是可重复的,因此要保留大量内部状态。不幸的是,它只能与32位int和单浮点运算一起使用(没有双精度,甚至没有32x32 = 64位乘法,尽管我可以模拟,如果需要的话-基本上它需要在较旧的CUDA硬件上运行)。当然,在这些比较严格的限制内,随机性越好。有人有想法么?
(我曾经经历过需要64位整数运算的Park-Miller,以及需要双打的CUDA版本的Park-Miller,具有很多内部状态的Mersenne Twisters,以及其他一些没有工作。)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)