man-pages/man3/__setfpucw.3

55 lines
1.5 KiB
Groff
Raw Normal View History

2004-11-03 13:51:07 +00:00
.\" 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
.\"
2007-05-18 09:55:10 +00:00
.TH __SETFPUCW 3 1997-03-08 "Linux" "Linux Programmer's Manual"
2004-11-03 13:51:07 +00:00
.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 ()
2004-11-03 13:51:07 +00:00
transfers
.I control_word
to the registers of the fpu (floating point unit) on i386 architecture.
This was used to control floating point precision,
rounding and floating point exceptions.
2004-11-03 13:51:07 +00:00
.SH EXAMPLE
.BR __setfpucw(0x1372)
Set fpu control word on i386 architecture to
.br
2005-07-06 08:00:30 +00:00
\- extended precision
.br
2005-07-06 08:00:30 +00:00
\- rounding to nearest
.br
2005-07-06 08:00:30 +00:00
\- exceptions on overflow, zero divide and NaN
2004-11-03 13:51:07 +00:00
.SH AVAILABILITY
As of glibc 2.1 this function does not exist anymore.
2006-08-03 13:57:30 +00:00
There are new functions from C99, with prototypes in
2004-11-03 13:51:07 +00:00
.IR /usr/include/fenv.h ,
to control fpu rounding modes, like
.IR fegetround ,
.IR fesetround ,
and the floating point environment, like
.IR fegetenv ,
.IR feholdexcept ,
.IR fesetenv ,
.IR feupdateenv
2004-11-03 13:51:07 +00:00
and fpu exception handling, like
.IR feclearexcept ,
.IR fegetexceptflag ,
.IR feraiseexcept ,
.IR fesetexceptflag ,
.IR fetestexcept .
.PP
2004-12-17 13:52:17 +00:00
If direct access to the FPU control word is still needed, the _FPU_GETCW
2004-11-03 13:51:07 +00:00
and _FPU_SETCW macros from
.I /usr/include/fpu_control.h
can be used.
.SH "SEE ALSO"
.BR feclearexcept (3)
.br
.IR /usr/include/i386/fpu_control.h