mesa: replace FREXPF, LDEXPF with frexpf, ldexpf
authorBrian Paul <brianp@vmware.com>
Tue, 24 Feb 2015 15:57:17 +0000 (08:57 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 24 Feb 2015 21:44:19 +0000 (14:44 -0700)
Start getting rid of some imports.h macros.  Use the c99 functions instead.

Reviewed-by: Matt Turner <mattst88@gmail.com>
include/c99_math.h
src/mesa/main/imports.h
src/mesa/math/m_debug_util.h
src/mesa/program/prog_execute.c

index 6680f540db3b0be821e6e3a33ad079840216ec8a..bb4bbd1a07ff8e71aa57fabb78b2a4596ff58ba1 100644 (file)
@@ -82,6 +82,17 @@ static inline float logf( float f )
    return (float) log( (double) f );
 }
 
+static inline float frexpf(float x, int *exp)
+{
+   return (float) frexp(x, exp);
+}
+
+static inline float ldexpf(float x, int exp)
+{
+   return (float) ldexp(x, exp);
+}
+
+
 #else
 /* Work-around an extra semi-colon in VS 2005 logf definition */
 #ifdef logf
index 0fcba4fb986ba21222e1bd4d22c00782c393b87e..cb871481c1fbac45ec837a37000d18208e5b8e5e 100644 (file)
@@ -209,8 +209,6 @@ static inline GLfloat LOG2(GLfloat x)
  *** FABSF: absolute value of float
  *** LOGF: the natural logarithm (base e) of the value
  *** EXPF: raise e to the value
- *** LDEXPF: multiply value by an integral power of two
- *** FREXPF: extract mantissa and exponent from value
  ***/
 #if defined(__gnu_linux__)
 /* C99 functions */
@@ -219,16 +217,12 @@ static inline GLfloat LOG2(GLfloat x)
 #define FABSF(x)   fabsf(x)
 #define LOGF(x)    logf(x)
 #define EXPF(x)    expf(x)
-#define LDEXPF(x,y)  ldexpf(x,y)
-#define FREXPF(x,y)  frexpf(x,y)
 #else
 #define CEILF(x)   ((GLfloat) ceil(x))
 #define FLOORF(x)  ((GLfloat) floor(x))
 #define FABSF(x)   ((GLfloat) fabs(x))
 #define LOGF(x)    ((GLfloat) log(x))
 #define EXPF(x)    ((GLfloat) exp(x))
-#define LDEXPF(x,y)  ((GLfloat) ldexp(x,y))
-#define FREXPF(x,y)  ((GLfloat) frexp(x,y))
 #endif
 
 
index d05da89949c621f2f1cf9513ed9bcb144bc43873..25ee029cebc1192ec6aa28ac7cdb4fcfc2b33ce2 100644 (file)
@@ -32,6 +32,9 @@
 #ifdef DEBUG_MATH  /* This code only used for debugging */
 
 
+#include "c99_math.h"
+
+
 /* Comment this out to deactivate the cycle counter.
  * NOTE: it works only on CPUs which know the 'rdtsc' command (586 or higher)
  * (hope, you don't try to debug Mesa on a 386 ;)
@@ -286,9 +289,9 @@ static int significand_match( GLfloat a, GLfloat b )
       return 0;
    }
 
-   FREXPF( a, &a_ex );
-   FREXPF( b, &b_ex );
-   FREXPF( d, &d_ex );
+   frexpf( a, &a_ex );
+   frexpf( b, &b_ex );
+   frexpf( d, &d_ex );
 
    if ( a_ex < b_ex ) {
       return a_ex - d_ex;
index 8f83c311ece816c8afecfa6bc20a3a3da3cb1b8e..05c5f29c3e0eeb0fe92b0a8474f99c941190523e 100644 (file)
@@ -35,6 +35,7 @@
  */
 
 
+#include "c99_math.h"
 #include "main/glheader.h"
 #include "main/colormac.h"
 #include "main/macros.h"
@@ -718,7 +719,7 @@ _mesa_execute_program(struct gl_context * ctx,
                q[2] = 0.0F;
             }
             else {
-               q[0] = LDEXPF(1.0, (int) floor_t0);
+               q[0] = ldexpf(1.0, (int) floor_t0);
                /* Note: GL_NV_vertex_program expects 
                 * result.z = result.x * APPX(result.y)
                 * We do what the ARB extension says.
@@ -884,7 +885,7 @@ _mesa_execute_program(struct gl_context * ctx,
                }
                else {
                   int exponent;
-                  GLfloat mantissa = FREXPF(t[0], &exponent);
+                  GLfloat mantissa = frexpf(t[0], &exponent);
                   q[0] = (GLfloat) (exponent - 1);
                   q[1] = (GLfloat) (2.0 * mantissa); /* map [.5, 1) -> [1, 2) */