This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: Fwd: __setfpucw
- To: zack@rabi.columbia.edu
- Subject: Re: Fwd: __setfpucw
- From: Geoff Keating <geoffk@ozemail.com.au>
- Date: Sat, 22 May 1999 17:23:34 +1000
- CC: drepper@cygnus.com, jk@espy.org, libc-alpha@sourceware.cygnus.com
- References: <199905211641.MAA24663@blastula.phys.columbia.edu>
> Mailing-List: contact libc-alpha-help@sourceware.cygnus.com; run by ezmlm
> cc: Joel Klecker <jk@espy.org>, libc-alpha@sourceware.cygnus.com
> Date: Fri, 21 May 1999 12:41:30 -0400
> From: Zack Weinberg <zack@rabi.columbia.edu>
>
> On 20 May 1999 22:10:07 -0700, Ulrich Drepper wrote:
> >Joel Klecker <jk@espy.org> writes:
> >
> >> Can I get some comments on this?
> >
> >__setfpucw is internal and always should have treated like this.
> >Glibc 2.1 provides the functionality in a standard interface (see
> >fenv.h).
>
> The C9x <fenv.h> interface isn't nearly as flexible as some programs would
> like. You can't request signals for a specific subset of the IEEE
> exceptions, for instance. I'd like to see the SVID <ieeefp.h> interface in
> 2.2.
I'd much rather just extra calls, `feenableexcept',
`fedisableexcept' which do this:
int feenableexcept(int excepts);
Returns a bitmap containing those exceptions in 'excepts' which were
enabled. Will not enable _more_ exceptions that 'excepts' specifies;
returns 0 if 'excepts' is not FE_ALL_EXCEPT and cannot enable or
disable exceptions individually.
Note that on PPC, at least, you can test whether exceptions have
occurred at a finer level than you can enable or disable them. So if
you ask to have just FE_INVALID_SQRT enabled, it'll fail because you can
only enable all the FE_INVALID exceptions at once.
--
Geoffrey Keating <geoffk@ozemail.com.au>