1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

Regularize the interface for conversion functions to/from float/double.

llvm-svn: 34881
This commit is contained in:
Reid Spencer 2007-03-03 08:34:02 +00:00
parent 6037b564a0
commit e2bf55dfe8

View File

@ -865,14 +865,20 @@ inline float RoundAPIntToFloat(const APInt& APIVal) {
return float(RoundAPIntToDouble(APIVal));
}
/// Treast the APInt as a signed value for conversion purposes.
/// @brief Converts the given APInt to a float value.
inline float RoundSignedAPIntToFloat(const APInt& APIVal) {
return float(APIVal.signedRoundToDouble());
}
/// RoundDoubleToAPInt - This function convert a double value to an APInt value.
/// @brief Converts the given double value into a APInt.
APInt RoundDoubleToAPInt(double Double, uint32_t width = 64);
APInt RoundDoubleToAPInt(double Double, uint32_t width);
/// RoundFloatToAPInt - Converts a float value into an APInt value.
/// @brief Converts a float value into a APInt.
inline APInt RoundFloatToAPInt(float Float) {
return RoundDoubleToAPInt(double(Float));
inline APInt RoundFloatToAPInt(float Float, uint32_t width) {
return RoundDoubleToAPInt(double(Float), width);
}
/// Arithmetic right-shift the APInt by shiftAmt.