Frama_c_kernel.Floating_pointval set_rounding_mode : rounding -> unitSet the current rounding mode.
val get_rounding_mode : unit -> roundingGet the current rounding mode.
val round_if_single_precision : Cil_types.fkind -> float -> floatRounds the given float to a single precision float if fkind = FFloat.
type truncated_to_integer = | Integer of Integer.tThe given float has been succesfully truncated.
*)| UnderflowThe given float would underflow if truncated.
*)| OverflowThe given float would overflow if truncated.
*)val truncate_to_integer : float -> truncated_to_integerTruncates a given floating point number, i.e returns the closest integer rounded toward zero, regardless of the current rounding mode. The truncate_to_integer function converts the given number into an 64 bits integer it it fits or a token specifying if the conversion is impossible due to an underflow or an overflow.
The function pretty_normal implements a custom printer. The function pretty relies on kernel's options to decide between using the OCaml printer or the pretty_normal one.
val pretty_normal : use_hex:bool -> Format.formatter -> float -> unitval pretty : Format.formatter -> float -> unitval has_suffix : Cil_types.fkind -> string -> boolTrue if the given string's last character corresponds to the given format, i.e 'F' for single precision, 'D' for double precision and 'L' for extended precision.
The significant size of a given format is denoted m. The exponent size of a given format is denoted e.
val largest_finite_float_of : format -> floatReturns the largest positive finite floating point number of a given format. It is computed as :
\left({2 - 2 ^ {1 - m}}\right) ^ {2 ^ {e - 1} - 1}val finite_range_of : format -> float * floatReturns the bounds of the finite range of a given format, i.e the largest negative finite floating point number and the largest positive finite floating point number of a given format.
val smallest_normal_float_of : format -> floatReturns the smallest positive normalized floating point number of a given format. It is computed as :
{2} ^ {2 - {2} ^ {e - 1}} val smallest_denormal_float_of : format -> floatReturns the smallest positive denormalized floating point number of a given format. It is simply computed by setting the least significant bit to one, as this bit corresponds to the last bit of the significant.
val unit_in_the_last_place_of : format -> floatReturns the unit in the last place of a given format, i.e the value of the least significant bit of a floating point number with an exponent set at zero. It is primally used to overapproximate rounding errors. It is computed as 2 ^ {-m}.
val minimal_exponent_of : format -> intval maximal_exponent_of : format -> int