man-pages/man3/__setfpucw.3

61 lines
1.5 KiB
Groff

.\" Written Sat Mar 8 10:35:08 MEZ 1997 by
.\" J. "MUFTI" Scheurich (mufti@csv.ica.uni-stuttgart.de)
.\" This page is licensed under the GNU General Public License
.\"
.TH __SETFPUCW 3 1997-03-08 "Linux" "Linux Programmer's Manual"
.SH NAME
__setfpucw \- set FPU control word on i386 architecture (obsolete)
.SH SYNOPSIS
.B #include <i386/fpu_control.h>
.sp
.BI "void __setfpucw(unsigned short " control_word );
.SH DESCRIPTION
.BR __setfpucw ()
transfers
.I control_word
to the registers of the FPU (floating-point unit) on the i386 architecture.
This was used to control floating-point precision,
rounding and floating-point exceptions.
.SH CONFORMING TO
This function was a nonstandard GNU extension.
.SH NOTES
As of glibc 2.1 this function does not exist anymore.
There are new functions from C99, with prototypes in
.IR <fenv.h> ,
to control FPU rounding modes, like
.IR fegetround ,
.IR fesetround ,
and the floating-point environment, like
.IR fegetenv ,
.IR feholdexcept ,
.IR fesetenv ,
.I feupdateenv
and FPU exception handling, like
.IR feclearexcept ,
.IR fegetexceptflag ,
.IR feraiseexcept ,
.IR fesetexceptflag ,
.IR fetestexcept .
.PP
If direct access to the FPU control word is still needed, the
.B _FPU_GETCW
and
.B _FPU_SETCW
macros from
.I <fpu_control.h>
can be used.
.SH EXAMPLE
.B __setfpucw(0x1372)
Set FPU control word on the i386 architecture to
.br
\- extended precision
.br
\- rounding to nearest
.br
\- exceptions on overflow, zero divide and NaN
.SH "SEE ALSO"
.BR feclearexcept (3)
.br
.I <fpu_control.h>