fixed some divide by zero problems found w/ conform
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 10 May 2001 17:41:41 +0000 (17:41 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 10 May 2001 17:41:41 +0000 (17:41 +0000)
src/mesa/swrast/s_aaline.c
src/mesa/swrast/s_aalinetemp.h
src/mesa/swrast/s_aatriangle.c

index f60233c3acaa821a403a19016fcadfce153c0494..7ce0d6b70804a2d1e9d87da689d2d511d2b951a6 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: s_aaline.c,v 1.8 2001/04/10 15:46:51 brianp Exp $ */
+/* $Id: s_aaline.c,v 1.9 2001/05/10 17:41:41 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -201,7 +201,10 @@ compute_lambda(const GLfloat sPlane[4], const GLfloat tPlane[4],
    GLfloat r2 = dvdx * dvdx + dvdy * dvdy;
    GLfloat rho2 = r1 + r2;
    /* return log base 2 of rho */
-   return log(rho2) * 1.442695 * 0.5;       /* 1.442695 = 1/log(2) */
+   if (rho2 == 0.0F)
+      return 0.0;
+   else
+      return log(rho2) * 1.442695 * 0.5;       /* 1.442695 = 1/log(2) */
 }
 
 
index 53a2b55ddf5225f3f4553a206be6874c68a44846..262af3ee3b3c38d18573af925ab93f55a13dde61 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: s_aalinetemp.h,v 1.8 2001/05/03 22:13:32 brianp Exp $ */
+/* $Id: s_aalinetemp.h,v 1.9 2001/05/10 17:41:41 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -166,14 +166,12 @@ NAME(line)(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1)
    line.dy = line.y1 - line.y0;
    line.len = sqrt(line.dx * line.dx + line.dy * line.dy);
    line.halfWidth = 0.5F * ctx->Line.Width;
-   if (line.len == 0.0) {
-      line.xAdj = 0.0;
-      line.yAdj = 0.0;
-   }
-   else {
-      line.xAdj = line.dx / line.len * line.halfWidth;
-      line.yAdj = line.dy / line.len * line.halfWidth;
-   }
+
+   if (line.len == 0.0)
+      return;
+
+   line.xAdj = line.dx / line.len * line.halfWidth;
+   line.yAdj = line.dy / line.len * line.halfWidth;
 
 #ifdef DO_Z
    compute_plane(line.x0, line.y0, line.x1, line.y1,
index 8235e957e331a600bb99753085870d934a9feffa..9a9eb877f108c9d8c0af4199e03c208e57872dad 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: s_aatriangle.c,v 1.13 2001/04/10 15:46:51 brianp Exp $ */
+/* $Id: s_aatriangle.c,v 1.14 2001/05/10 17:41:41 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -341,7 +341,10 @@ compute_lambda(const GLfloat sPlane[4], const GLfloat tPlane[4],
    GLfloat r2 = dvdx * dvdx + dvdy * dvdy;
    GLfloat rho2 = r1 + r2;
    /* return log base 2 of rho */
-   return log(rho2) * 1.442695 * 0.5;       /* 1.442695 = 1/log(2) */
+   if (rho2 == 0.0F)
+      return 0.0;
+   else
+      return log(rho2) * 1.442695 * 0.5;       /* 1.442695 = 1/log(2) */
 }