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:

  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