Files
UnrealEngine/Engine/Source/ThirdParty/Intel/ISPC/ispc-1.21.0/tests/varying-float-rsqrt_fast.ispc
2025-05-18 13:04:45 +08:00

16 lines
424 B
Plaintext

#include "../test_static.isph"
task void f_f(uniform float RET[], uniform float aFOO[]) {
float x = aFOO[programIndex];
float d, invsqrt = rsqrt_fast(x);
d = (x * (invsqrt * invsqrt)) - 1.;
if (d < 0.) d = -d;
// The worst precision is demonstrated by ARM, it requires 1e-2 to pass.
RET[programIndex] = (d > 1e-2) ? 1 : 0;
}
task void result(uniform float RET[]) {
RET[programIndex] = 0;
}