summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/vector_dec.sail4
-rw-r--r--lib/vector_inc.sail4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/vector_dec.sail b/lib/vector_dec.sail
index 17603e03..b18d8fb0 100644
--- a/lib/vector_dec.sail
+++ b/lib/vector_dec.sail
@@ -38,9 +38,9 @@ val truncate = {
lem: "vector_truncate",
coq: "vector_truncate",
c: "truncate"
-} : forall 'm 'n, 'm <= 'n. (vector('n, dec, bit), atom('m)) -> vector('m, dec, bit)
+} : forall 'm 'n, 'm >= 0 & 'm <= 'n. (vector('n, dec, bit), atom('m)) -> vector('m, dec, bit)
-val mask : forall 'len 'v, 'v >= 0. (atom('len), vector('v, dec, bit)) -> vector('len, dec, bit)
+val mask : forall 'len 'v, 'len >= 0 & 'v >= 0. (atom('len), vector('v, dec, bit)) -> vector('len, dec, bit)
function mask(len, v) = if len <= length(v) then truncate(v, len) else zero_extend(v, len)
diff --git a/lib/vector_inc.sail b/lib/vector_inc.sail
index 04c95996..d053f0b3 100644
--- a/lib/vector_inc.sail
+++ b/lib/vector_inc.sail
@@ -37,9 +37,9 @@ val truncate = {
ocaml: "vector_truncate",
lem: "vector_truncate",
c: "truncate"
-} : forall 'm 'n, 'm <= 'n. (vector('n, inc, bit), atom('m)) -> vector('m, inc, bit)
+} : forall 'm 'n, 'm >= 0 & 'm <= 'n. (vector('n, inc, bit), atom('m)) -> vector('m, inc, bit)
-val mask : forall 'len 'v, 'v >= 0. (atom('len), vector('v, inc, bit)) -> vector('len, inc, bit)
+val mask : forall 'len 'v, 'len >= 0 & 'v >= 0. (atom('len), vector('v, inc, bit)) -> vector('len, inc, bit)
function mask(len, v) = if len <= length(v) then truncate(v, len) else zero_extend(v, len)