diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/arith.sail | 4 | ||||
| -rw-r--r-- | lib/vector_dec.sail | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/arith.sail b/lib/arith.sail index d1132d5b..fa091772 100644 --- a/lib/arith.sail +++ b/lib/arith.sail @@ -55,6 +55,8 @@ val div_int = { c: "div_int" } : (int, int) -> int +overload operator / = {div_int} + val mod_int = { smt: "mod", ocaml: "modulus", @@ -62,6 +64,8 @@ val mod_int = { c: "mod_int" } : (int, int) -> int +overload operator % = {mod_int} + val abs_int = { smt : "abs", ocaml: "abs_int", diff --git a/lib/vector_dec.sail b/lib/vector_dec.sail index f0551f28..eb2c9b7e 100644 --- a/lib/vector_dec.sail +++ b/lib/vector_dec.sail @@ -99,6 +99,9 @@ val set_slice_int = "set_slice_int" : forall 'w. (atom('w), int, int, bits('w)) val set_slice_bits = "set_slice" : forall 'n 'm. (atom('n), atom('m), bits('n), int, bits('m)) -> bits('n) +val slice = "slice" : forall 'n 'm 'o, 0 <= 'o < 'm & 'o + 'n <= 'm & 0 <= 'n. + (bits('m), atom('o), atom('n)) -> bits('n) + val replicate_bits = "replicate_bits" : forall 'n 'm. (bits('n), atom('m)) -> bits('n * 'm) val unsigned = { |
