In current beignet (commit 4caba11ce88b3c1ec80ee119ceaf4bf778b96471): -pow/pown ignore the sign of their first argument (e.g. pow(-2,3) gives 8 instead of -8) -erf/erfc diverge (instead of converging to 1 or 0) for arguments above about 2 -tgamma is actually lgamma, a related but very different function
The test suite doesn't detect these problems because the erf/erfc and pow tests are disabled by default (in the case of pow, due to an unrelated bug in the test), and the tgamma test checks it against libc's gammaf, which is also lgamma, instead of tgammaf.
My patch against 0.9.3, fixing all the above and re-enabling the tests, is at https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=Fix-pow-erf-tgamma.patch;att=3;bug=768090 but will need some adjustment for HEAD (the relevant parts of backend/src/ocl_stdlib.tmpl.h are now in backend/src/libocl/tmpl/ocl_math.tmpl.cl).
This patch contains LGPL2.1+ code from glibc ( http://sources.debian.net/src/glibc/2.19-12/sysdeps/ieee754/flt-32/s_erff.c/ ); is that permitted here? (Beignet's COPYING file is LGPL2.1 , the project website says LGPL2+, and the file headers say "Lesser GPL v2+" (2.1 was the first version to be called Lesser, rather than Library, GPL).)
_______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/beignet