added support for fast approximate rsqrt(double). Provide 16 digit accurancy but is over 3x faster than 1/sqrt(double)
This commit is contained in:
@@ -3,11 +3,11 @@ export uniform int width() { return programCount; }
|
||||
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
double x = aFOO[programIndex];
|
||||
double x = aFOO[programIndex]*1d100;
|
||||
double d, invsqrt = rsqrt(x);
|
||||
d = (x * (invsqrt * invsqrt)) - 1.0d0;
|
||||
if (d < 0.0d0) d = -d;
|
||||
RET[programIndex] = d > 1d-5;
|
||||
RET[programIndex] = d > 1d-15;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user