RAD Studio
ContentsIndex
PreviousUpNext
_control87, _controlfp

Header File 

float.h  

Category 

Math Routines 

Prototype 

unsigned int _control87(unsigned int newcw, unsigned int mask); 

unsigned int _controlfp(unsigned int newcw, unsigned int mask); 

Description 

Manipulates the floating-point control word. 

_control87 retrieves or changes the floating-point control word. 

The floating-point control word is an unsigned int that, bit by bit, specifies certain modes in the floating-point package; namely, the precision, infinity, and rounding modes. Changing these modes lets you mask or unmask floating-point exceptions. 

_control87 matches the bits in mask to the bits in newcw. If a mask bit equals 1, the corresponding bit in newcw contains the new value for the same bit in the floating-point control word, and _control87 sets that bit in the control word to the new value. 

Here is a simple illustration:

Original control word: 
0100 
0011 
0110 
0011 
 
mask: 
 
1000 
0001 
0100 
1111 
newcw: 
 
1110 
1001 
0000 
0101 
Changing bits: 
 
1xxx 
xxx1 
x0xx 
0101 

If mask equals 0, _control87 returns the floating-point control word without altering it. 

_controlfp is for Microsoft compatibility. _controlfp is identical to _control87 except that it always removes (turns off) the EM_DEMORMAL bit from the mask parameter. 

Return Value 

The bits in the value returned reflect the new floating-point control word. For a complete definition of the bits returned by _control87, see the header file float.h. 

Portability  

 
POSIX 
Win32 
ANSI C 
ANSI C++ 
_control87 
 
 
 
_controlfp 
 
 
 
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!