已知 0<=x<=1 的 square_root(x) 的快速逼近

Fast approximation of square_root(x) with known 0<=x<=1

如果我知道 x<=1,如何近似 sqrt(float32bit x)

必须有一些技巧来利用范围 x<=1

return结果不一定要精确,最大误差可能是<0.001.
0.001 只是一个神奇的数字,您可以更改它。)

我不介意语言,但我更喜欢 C++,在 CPU(不是 GPU)中。
我认为显式公式比 table 查找更好。

在我的3D游戏(VS 2015 + Ogre3D + Bullet)中对粒子很有用,但我找不到任何线索。
我怀疑 downvote 风暴的原因是它看起来像作业/面试?
...或者解决方案已经广为人知?

平方根通常通过 FSQRT which getting increasingly faster 计算。这是您几乎无法击败的单一指令。例如,除非您可以直接使用其结果,否则快速平方根反比将无济于事。如果您必须再次反转它,仅 FDIV 将花费与 FSQRT 一样多的时间。