This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Poor man's exp2l


Hi!

I know it would be far better to have a real precise implementation of
exp2l, but IMNSHO this is better than returning 0.0/ENOSYS.  And
math/e_exp10l.c does exactly the same.

Volunteers to write precise IEEE quad e_exp2l and e_exp10l are of course
welcome (and, while at it, precise fma{,f,l} would be great too).

2006-01-16  Jakub Jelinek  <jakub@redhat.com>

	* math/e_exp2l.c: Don't include stdio.h, errno.h, stub-tag.h, include
	math_private.h.
	(__ieee754_exp2l): Compute for now as expl (M_LN2l * x)
	instead of failing.
	(exp2l): Remove stub_warning.

--- libc/math/e_exp2l.c.jj	2005-12-14 09:40:23.000000000 +0100
+++ libc/math/e_exp2l.c	2006-01-16 11:11:33.000000000 +0100
@@ -1,14 +1,10 @@
 #include <math.h>
-#include <stdio.h>
-#include <errno.h>
+#include "math_private.h"
 
 long double
 __ieee754_exp2l (long double x)
 {
-  fputs ("__ieee754_exp2l not implemented\n", stderr);
-  __set_errno (ENOSYS);
-  return 0.0;
+  /* This is a very stupid and inprecise implementation.  It'll get
+     replaced sometime (soon?).  */
+  return __ieee754_expl (M_LN2l * x);
 }
-
-stub_warning (exp2l)
-#include <stub-tag.h>

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]