floatToIntBits.3Cg

Langue: en

Version: 351148 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

floatToIntBits - returns the 32-bit integer representation of an IEEE 754 floating-point scalar or vector

SYNOPSIS

   int  floatToIntBits(float  x);
   int1 floatToIntBits(float1 x);
   int2 floatToIntBits(float2 x);
   int3 floatToIntBits(float3 x);
   int4 floatToIntBits(float4 x);
 
 
 

PARAMETERS


x
Floating-point vector or scalar to cast to a scalar int or vector of ints.

DESCRIPTION

Returns a representation of the specified floating-point scalar value or vector values according to the IEEE 754 floating-point ``single format'' bit layout.

Not-A-Number (NaN) floating-point values are cannonicalized to the integer value 0x7fc00000 regardless of the specific NaN encoding. The sign bit of the NaN is discarded.

This function is based on Java's jave.lang.Float method of the same name. See:

   http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Float.html
 
 
 
floatToIntBits requires instructions to be generated to cannonicalize NaN values so floatToIntBits is typically more expensive than floatToRawIntBits.

REFERENCE IMPLEMENTATION

floatToIntBits operates consistent with the following ANSI C code:
   int floatToIntBits(float  x)
   {
     union {
       float f;  // assuming 32-bit IEEE 754 single-precision
       int i;    // assuming 32-bit 2's complement int
     } u;
 
 
 
     if (isnan(x)) {
       return 0x7fc00000;
     } else {
       u.f = x;
       return u.i;
     }
   }
 
 
 

PROFILE SUPPORT

floatToIntBits is supported by the gp4vp, gp4gp, and gp4vp profiles.

floatToIntBits is not supported by pre-G80 profiles.

SEE ALSO

ceil, floatToRawIntBits, floor, intBitsToFloat, round, trunc