Sculpt: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24152...
[blender.git] / source / blender / blenlib / intern / arithb.c
index 8747561..4b54de2 100644 (file)
@@ -114,16 +114,17 @@ float sasqrtf(float fac)
 
 float Normalize(float *n)
 {
-       float d;
+       float d, invd;
        
        d= n[0]*n[0]+n[1]*n[1]+n[2]*n[2];
        /* A larger value causes normalize errors in a scaled down models with camera xtreme close */
        if(d>1.0e-35f) {
                d= (float)sqrt(d);
+               invd= 1.0f/d;
 
-               n[0]/=d; 
-               n[1]/=d; 
-               n[2]/=d;
+               n[0]*=invd; 
+               n[1]*=invd; 
+               n[2]*=invd;
        } else {
                n[0]=n[1]=n[2]= 0.0f;
                d= 0.0f;
@@ -4504,7 +4505,7 @@ int RayIntersectsTriangle(float p1[3], float d[3], float v0[3], float v1[3], flo
        
        Crossf(p, d, e2);
        a = Inpf(e1, p);
-       if ((a > -0.000001) && (a < 0.000001)) return 0;
+       if ((a > -FLT_EPSILON) && (a < FLT_EPSILON)) return 0;
        f = 1.0f/a;
        
        VecSubf(s, p1, v0);