Browse Source

libm: enable log2f and exp2f

Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Aurelien Jacobs 14 years ago
parent
commit
306a7db826
3 changed files with 7 additions and 5 deletions
  1. 3 1
      libm/Makefile.in
  2. 2 2
      libm/float_wrappers.c
  3. 2 2
      test/math/compile_test.c

+ 3 - 1
libm/Makefile.in

@@ -75,7 +75,7 @@ libm_CSRC := \
 	s_remquo.c w_exp2.c
 
 # Not implemented [yet?], see comment in float_wrappers.c:
-# exp2f.o fdimf.o fmaf.o fmaxf.o fminf.o log2f.o
+# fdimf.o fmaf.o fmaxf.o fminf.o
 # nearbyintf.o remquof.o scalblnf.o tgammaf.o
 FL_MOBJ := \
 	acosf.o \
@@ -93,6 +93,7 @@ FL_MOBJ := \
 	coshf.o \
 	erfcf.o \
 	erff.o \
+	exp2f.o \
 	expf.o \
 	expm1f.o \
 	fabsf.o \
@@ -108,6 +109,7 @@ FL_MOBJ := \
 	llroundf.o \
 	log10f.o \
 	log1pf.o \
+	log2f.o \
 	logbf.o \
 	logf.o \
 	lrintf.o \

+ 2 - 2
libm/float_wrappers.c

@@ -41,12 +41,10 @@ long long func##f (float x) \
 
 /* For the time being, do _NOT_ implement these functions
  * that are defined by SuSv3 [why?] */
-#undef L_exp2f         /*float       exp2f(float);*/
 #undef L_fdimf         /*float       fdimf(float, float);*/
 #undef L_fmaf          /*float       fmaf(float, float, float);*/
 #undef L_fmaxf         /*float       fmaxf(float, float);*/
 #undef L_fminf         /*float       fminf(float, float);*/
-#undef L_log2f         /*float       log2f(float);*/
 #undef L_nearbyintf    /*float       nearbyintf(float);*/
 #undef L_nexttowardf   /*float       nexttowardf(float, long double);*/
 #undef L_remquof       /*float       remquof(float, float, int *);*/
@@ -70,6 +68,7 @@ float       cosf(float);
 float       coshf(float);
 float       erfcf(float);
 float       erff(float);
+float       exp2f(float);
 float       expf(float);
 float       expm1f(float);
 float       fabsf(float);
@@ -83,6 +82,7 @@ float       lgammaf(float);
 long long   llroundf(float);
 float       log10f(float);
 float       log1pf(float);
+float       log2f(float);
 float       logbf(float);
 float       logf(float);
 long        lroundf(float);

+ 2 - 2
test/math/compile_test.c

@@ -18,7 +18,7 @@ r += cosf(float_x);
 r += coshf(float_x);
 r += erfcf(float_x);
 r += erff(float_x);
-/*r += exp2f(float_x); - uclibc does not have it (yet?) */
+r += exp2f(float_x);
 r += expf(float_x);
 r += expm1f(float_x);
 r += fabsf(float_x);
@@ -38,7 +38,7 @@ r += llrintf(float_x);
 r += llroundf(float_x);
 r += log10f(float_x);
 r += log1pf(float_x);
-/*r += log2f(float_x); - uclibc does not have it (yet?) */
+r += log2f(float_x);
 r += logbf(float_x);
 r += logf(float_x);
 r += lrintf(float_x);