Require
Import
Bool.
Require
Import
ZArith.
Require
Import
Zdiv.
Open Scope Z_scope.
Definition
c_minbyte := -128.
Definition
c_maxbyte := 127.
Definition
c_minshort := -32768.
Definition
c_maxshort := 32767.
Definition
c_minint := -2147483648.
Definition
c_maxint := 2147483647.
Definition
c_minchar := 0.
Definition
c_maxchar := 65535.
Definition
c_minlong := -9223372036854775808.
Definition
c_maxlong := 9223372036854775807.
Definition
t_byteDom (n:Z): Prop := c_minbyte <= n /\ n <= c_maxbyte.
Definition
t_shortDom (n:Z): Prop := c_minshort <= n /\ n <= c_maxshort.
Definition
t_intDom (n:Z): Prop := c_minint <= n /\ n <= c_maxint.
Definition
t_charDom (n:Z): Prop := c_minchar <= n /\ n <= c_maxchar.
Definition
t_longDom (n:Z): Prop := c_minlong <= n /\ n <= c_maxlong.
Variable
t_float : Set.
Variable
F0 : t_float.
Variable
Fle : t_float -> t_float -> Prop.
Definition
t_byte := Z.
Definition
t_short := Z.
Definition
t_int := Z.
Definition
t_char := Z.
Definition
t_long := Z.
Definition
j_add: t_int -> t_int -> t_int := Zplus.
Infix
"+" := j_add: J_Scope.
Definition
j_sub: t_int -> t_int -> t_int := Zminus.
Infix
"-" := j_sub: J_Scope.
Definition
j_mul: t_int -> t_int -> t_int := Zmult.
Infix
"*" := j_mul: J_Scope.
Definition
j_div: t_int -> t_int -> t_int := Zdiv.
Infix
"/" := j_div: J_Scope.
Definition
j_rem: t_int -> t_int -> t_int := Zmod.
Definition
j_le: t_int -> t_int -> Prop := Zle.
Infix
"<=" := j_le: J_Scope.
Definition
j_gt: t_int -> t_int -> Prop := Zgt.
Infix
">" := j_gt: J_Scope.
Definition
j_lt: t_int -> t_int -> Prop := Zlt.
Infix
"<" := j_lt: J_Scope.
Definition
j_ge: t_int -> t_int -> Prop := Zge.
Infix
">=" := j_ge: J_Scope.
Variable
j_neg : t_int -> t_int.
Variable
j_shl : t_int -> t_int -> t_int.
Variable
j_shr : t_int -> t_int -> t_int.
Variable
j_ushr : t_int -> t_int -> t_int.
Variable
j_and : t_int -> t_int -> t_int.
Variable
j_or : t_int -> t_int -> t_int.
Variable
j_xor : t_int -> t_int -> t_int.
Definition
j_convert := fun (min max:Z) =>
let range := ((- min) + max ) in
fun (a:Z) =>
let n := (if (Zle_bool 0 a) then a
else (a + ((((- a) / range) + 1) * range))) in
if (Zle_bool (n mod range) max) then
(n mod range)
else ((n mod range) - range).
Definition
j_int2char : t_int -> t_char := j_convert c_minchar c_maxchar.
Definition
j_int2byte : t_int -> t_byte := j_convert c_minbyte c_maxbyte.
Definition
j_int2short : t_int -> t_short := j_convert c_minshort c_maxshort.
Index
This page has been generated by coqdoc