IntDomain_intf.ArithIkind
type t
Arithmetic operators
val neg : GoblintCil.Cil.ikind -> t -> t
Negating an integer value: -x
-x
val add : GoblintCil.Cil.ikind -> t -> t -> t
Addition: x + y
x + y
val sub : GoblintCil.Cil.ikind -> t -> t -> t
Subtraction: x - y
x - y
val mul : GoblintCil.Cil.ikind -> t -> t -> t
Multiplication: x * y
x * y
val div : GoblintCil.Cil.ikind -> t -> t -> t
Division: x / y
x / y
val rem : GoblintCil.Cil.ikind -> t -> t -> t
Integer remainder: x % y
x % y
Comparison operators
val lt : GoblintCil.Cil.ikind -> t -> t -> bool option
Less than: x < y
x < y
val gt : GoblintCil.Cil.ikind -> t -> t -> bool option
Greater than: x > y
x > y
val le : GoblintCil.Cil.ikind -> t -> t -> bool option
Less than or equal: x <= y
x <= y
val ge : GoblintCil.Cil.ikind -> t -> t -> bool option
Greater than or equal: x >= y
x >= y
val eq : GoblintCil.Cil.ikind -> t -> t -> bool option
Equal to: x == y
x == y
val ne : GoblintCil.Cil.ikind -> t -> t -> bool option
Not equal to: x != y
x != y
Bit operators
val lognot : GoblintCil.Cil.ikind -> t -> t
Bitwise not (one's complement): ~x
~x
val logand : GoblintCil.Cil.ikind -> t -> t -> t
Bitwise and: x & y
x & y
val logor : GoblintCil.Cil.ikind -> t -> t -> t
Bitwise or: x | y
x | y
val logxor : GoblintCil.Cil.ikind -> t -> t -> t
Bitwise exclusive or: x ^ y
x ^ y
val shift_left : GoblintCil.Cil.ikind -> t -> t -> t
Shifting bits left: x << y
x << y
val shift_right : GoblintCil.Cil.ikind -> t -> t -> t
Shifting bits right: x >> y
x >> y