diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/vector_dec.sail | 4 | ||||
| -rw-r--r-- | lib/vector_inc.sail | 4 |
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) |
