mesa: replace ONE_DIV_LN2 constant with M_LOG2E
authorMatt Turner <mattst88@gmail.com>
Fri, 6 May 2011 17:01:12 +0000 (13:01 -0400)
committerBrian Paul <brianp@vmware.com>
Fri, 6 May 2011 16:33:15 +0000 (10:33 -0600)
1/ln(2) is equivalent to log2(e), so define it as such.

log2(e) = ln(e)/ln(2) = 1/ln(2)

Worst of all, the definitions for M_LOG2E and ONE_DIV_LN2
(right beside each other!) weren't the same.

Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
src/mesa/main/compiler.h
src/mesa/program/prog_statevars.c

index e17fd0ff6fd32b6ea856d8e98c8d8dd8bd998d5e..81e08a006f8a7d795b90d8e2605bd97ce301cc3f 100644 (file)
@@ -366,10 +366,6 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
 #define M_LOG2E     (1.4426950408889634074)
 #endif
 
-#ifndef ONE_DIV_LN2
-#define ONE_DIV_LN2 (1.442695040888963456)
-#endif
-
 #ifndef ONE_DIV_SQRT_LN2
 #define ONE_DIV_SQRT_LN2 (1.201122408786449815)
 #endif
index d94d7fe5dfbe7c0c63424070c373b64df5760a28..16f9690e8659746d6428b6f7ec528481ae9754a4 100644 (file)
@@ -459,7 +459,7 @@ _mesa_fetch_state(struct gl_context *ctx, const gl_state_index state[],
          value[0] = (ctx->Fog.End == ctx->Fog.Start)
             ? 1.0f : (GLfloat)(-1.0F / (ctx->Fog.End - ctx->Fog.Start));
          value[1] = ctx->Fog.End * -value[0];
-         value[2] = (GLfloat)(ctx->Fog.Density * ONE_DIV_LN2);
+         value[2] = (GLfloat)(ctx->Fog.Density * M_LOG2E); /* M_LOG2E == 1/ln(2) */
          value[3] = (GLfloat)(ctx->Fog.Density * ONE_DIV_SQRT_LN2);
          return;