kernels/linux-2.4.0/arch/arm/nwfpe/softfloat.c
/*
-------------------------------------------------------------------------------
Returns the result of converting the double-precision floating-point value
`a' to the 32-bit two's complement unsigned integer format.  The conversion
is performed according to the IEC/IEEE Standard for Binary Floating-point
Arithmetic---which means in particular that the conversion is rounded
according to the current rounding mode.  If `a' is a NaN, the largest
positive integer is returned.  Otherwise, if the conversion overflows, the
largest positive integer is returned.
-------------------------------------------------------------------------------
*/
Returns the result of converting the double-precision floating-point value
`a' to the 32-bit two's complement unsigned integer format.  The conversion
is performed according to the IEC/IEEE Standard for Binary Floating-point
Arithmetic---which means in particular that the conversion is rounded
according to the current rounding mode.  If `a' is a NaN, the largest
positive integer is returned.  Otherwise, if the conversion overflows, the
largest positive integer is returned.
Returns the result of converting the double - precision floating - point value ` a ' to the 32 - bit two ' s complement unsigned integer format . The conversion is performed according to the IEC / IEEE Standard for Binary Floating - point Arithmetic --- which means in particular that the conversion is rounded according to the current rounding mode . If ` a ' is a NaN the largest positive integer is returned . Otherwise if the conversion overflows the largest positive integer is returned .
int32 float64_to_uint32( float64 a )
{
    flag aSign;
    int16 aExp, shiftCount;
    bits64 aSig;
    aSig = extractFloat64Frac( a );
    aExp = extractFloat64Exp( a );
    aSign = 0; 
    if ( aExp ) aSig |= LIT64( 0x0010000000000000 );
    shiftCount = 0x42C - aExp;
    if ( 0 < shiftCount ) shift64RightJamming( aSig, shiftCount, &aSig );
    return roundAndPackInt32( aSign, aSig );
}
int32 float64_to_uint32 ( float64 a ) { flag aSign ; int16 aExp , shiftCount ; bits64 aSig ; aSig = extractFloat64Frac ( a ) ; aExp = extractFloat64Exp ( a ) ; aSign = 0 ; if ( aExp ) aSig |= LIT64 ( 0x0010000000000000 ) ; shiftCount = 0x42C - aExp ; if ( 0 < shiftCount ) shift64RightJamming ( aSig , shiftCount , & aSig ) ; return roundAndPackInt32 ( aSign , aSig ) ; }
Returns the result of converting the double-precision floating-point value
`a' to the 32-bit two's complement unsigned integer format.
Returns the result of converting the double - precision floating - point value ` a ' to the 32 - bit two ' s complement unsigned integer format .
//extractFloat64Sign( a ); //if ( ( aExp == 0x7FF ) && aSig ) aSign = 0;