Name

intBitsToFloat - returns the float value corresponding to a given bit represention.of a scalar int value or vector of int values

Synopsis

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

Parameters

x
Integer vector or scalar to raw cast to a scalar float or vector of floats

Description

Returns the IEEE 754 float scalar value or vector values corresponding to a given 32-bit integer bit represention for a scalar int value or vector of int values.

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

The Cg compiler can typically optimize intBitsToFloat so it has no instruction cost.

Reference Implementation

intBitsToFloat operates consistent with the following ANSI C code:

float floatToRawIntBits(int x)
{
  union {
    float f;  // assuming 32-bit IEEE 754 single-precision
    int i;    // assuming 32-bit 2's complement int
  } u;

  u.i = x;
  return u.f;
}

Profile Support

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

intBitsToFloat is not supported by pre-G80 profiles.

See Also

ceil, floatToIntBits, floatToRawIntBits, floor, round, trunc