Date: Wed, 27 Feb 2019 01:56:55 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 235413] [LIBM] optizimation for cexp and cexpf Message-ID: <bug-235413-227-sVnu1e1JjM@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-235413-227@https.bugs.freebsd.org/bugzilla/> References: <bug-235413-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235413 Steve Kargl <kargl@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201620|0 |1 is obsolete| | --- Comment #1 from Steve Kargl <kargl@FreeBSD.org> --- Created attachment 202398 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D202398&action= =3Dedit New patch with cexpl implementation included The new patch cexpl.diff supercedes the old path. It includes the changes = in the old patch as well as implementations for long double complex cexpl(). = This patch depends on https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D236063 A suitable commit messages is=20 * lib/msun/src/math_private.h: . Add an EXTRACT_LDBL80_WORDS2() macro to get access to the high and low word of a 64-bit significand as well as the expsign. . Add prototype for __ldexp_expl(). . Add prototype for __ldexp_cexpl(). * lib/msun/src/s_cexp.c: . A float.h to get LDBL_MANT_DIG. . Add c and s to declaration, and sort. . Move x =3D 0 case to be the first case tested. This is in preparation for fixing constanting folding in GCC. . Use sincos() instead of a call to sin() and to cos(). . A week_refrence for LDBL_MANT_DIG =3D=3D 53. * lib/msun/src/s_cexpf.c: . Add c and s to declaration, and sort. . Move x =3D 0 case to be the first case tested. This is in preparation for fixing constanting folding in GCC. . Use sincosf() instead of a call to sinf() and to cosf(). * lib/msun/src/k_exp.c: . Add c and s to declaration, and sort. . Use sincos() instead of a call to sin() and to cos(). * lib/msun/src/k_expf.c . Add c and s to declaration, and sort. . Use sincosf() instead of a call to sinf() and to cosf(). * lib/msun/ld128/k_cexpl.c: . Copy src/k_exp.c to here. #if 0 ... #endif all code and have functions return NaN. These functions are currently unused, and await someone who cares. . Issue a compile-time warning about the sloppiness. * lib/msun/ld128/s_cexpl.c: . Copy src/s_cexp.c to here. . Convert "double complex" to "long double complex" without use of bit-twiddling. . Add compile-time warning about the sloppiness. . Add run-time warning about the sloppiness. * lib/msun/ld80/k_cexpl.c: . Copy src/k_exp.c to here. . Convert "double complex" to "long double complex". Use bit-twiddling. * lib/msun/ld80/s_cexpl.c: . Copy src/s_cexp.c to here. . Convert "double complex" to "long double complex". Use bit-twiddling where bits are grabbed with new EXTRACT_LDBL80_WORDS2() macro. * lib/msun/man/cexp.3: . Document the addtion of cexpl. * include/complex.h: . Add prototype for cexpl(). --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235413-227-sVnu1e1JjM>