该赋值
cdf[i] = s执行对的隐式转换
uint64_t。没有您省略的计算,很难说出是否打算这样做。
在实践中,
long double一种类型在整个体系结构中都有相当大的差异。Go’s
float64是否适合替代取决于您要移植的体系结构。例如,在x86上,
longdouble是80字节的扩展精度类型,但是Windows系统通常配置为仅使用53位尾数来计算结果,这
float64对于您的目的仍然可以等同。
编辑 在这种特殊情况下,由源计算的值似乎是静态的,并且与输入无关。我只想
float64在Go端使用,看看在实际GNU /
Linux下的x86机器上运行时,计算值是否与C版本的计算值相同(虚拟化应该可以),以解决Windows
FPU问题。选择x86只是一个猜测,因为它很可能是原始作者所使用的。我不了解底层的加密技术,因此无法说出计算值的差异是否会影响安全性。(还要注意,C代码似乎无法正确植入其PRNG。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)