Frama-C API - Scalar
include Frama_c_kernel.Datatype.S_with_collections
include Frama_c_kernel.Datatype.S
include Frama_c_kernel.Datatype.S_no_copy
val descr : t Frama_c_kernel.Descr.t
Datatype descriptor.
val packed_descr : Frama_c_kernel.Structural_descr.pack
Packed version of the descriptor.
val reprs : t list
List of representants of the descriptor.
val hash : t -> int
Hash function: same spec than Hashtbl.hash
.
val pretty : Stdlib.Format.formatter -> t -> unit
Pretty print each value in an user-friendly way.
val mem_project : (Frama_c_kernel.Project_skeleton.t -> bool) -> t -> bool
mem_project f x
must return true
iff there is a value p
of type Project.t
in x
such that f p
returns true
.
module Set : Frama_c_kernel.Datatype.Set with type elt = t
module Map : Frama_c_kernel.Datatype.Map with type key = t
module Hashtbl : Frama_c_kernel.Datatype.Hashtbl with type key = t
type scalar = t
Useful constants in the field.
Two is provided for users that model floating point computations using abstractions over the field.
val zero : scalar
val one : scalar
val two : scalar
val pos_inf : scalar
val neg_inf : scalar
Scalar validity.
If the using type may produce invalid scalars, like NaNs for instance, it might be required to check scalar's validity.
val is_valid : scalar -> bool
Constructors interacting with standard OCaml types.
val of_int : int -> scalar
val of_float : float -> scalar
val to_float : scalar -> float
val of_string : string -> scalar
Round to a valid number in a given floating point format.
val represents : scalar:scalar -> in_format:'f Frama_c_kernel.Typed_float.format -> scalar
Standard arithmetic unary operations.
Standard arithmetic binary operations.
Standard arithmetic relational operations.
Other arithmetic operations.
val pow2 : int -> scalar
pow2 e
computes the scalar 2 ^ e
.
val log2 : scalar -> int Frama_c_kernel.Field.bounds
log2 f
computes the integer l
and u
such as l = floor(log₂ f)
and u = ceiling(log₂ f)
.
val sqrt : scalar -> scalar Frama_c_kernel.Field.bounds
sqrt f
computes bounds of the square root of f
.