This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: RFC: removing slow paths in various dbl-64 libm functions
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Siddhesh Poyarekar <sid at reserved-bit dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Fri, 27 Nov 2015 17:42:57 +0000
- Subject: Re: RFC: removing slow paths in various dbl-64 libm functions
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 10 dot 1511261736421 dot 10502 at digraph dot polyomino dot org dot uk> <20151127051330 dot GB5012 at devel dot intra dot reserved-bit dot com>
On Fri, 27 Nov 2015, Siddhesh Poyarekar wrote:
> We could even go the whole way and define crsin, crcos, etc. symbols
> with the current implementation and drop the mp path completely for
Well, the current implementation is only correctly rounding for
round-to-nearest, and may not get "inexact" exceptions right, whereas cr*
need to handle all rounding modes (getting "inexact" right is a "should"
in IEEE 754-2008 for clause 9 where the operations to which cr* are bound
come from). And we'd also need to establish consensus on having such
functions in glibc API (and whether adding a limited subset of functions
for double only like that is appropriate).
> the sin, cos, etc. functions regardless of how inaccurate the fast
> phase computation results are.
sin, cos etc. still need to meet the usual glibc accuracy goals (which
shouldn't require a multiple-precision slow path - you still need a
multiple-precision value of 2/pi for range reduction, but any particular
call needs only a limited number of bits of that value).
--
Joseph S. Myers
joseph@codesourcery.com