summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorThomas Bauereiss2017-12-12 18:27:04 +0000
committerThomas Bauereiss2017-12-12 19:20:04 +0000
commit4597e503131395df087b1aa9a600a96be5a960ed (patch)
tree32c91e1de62e92bc51b86d233f3f4037259c1448 /lib
parent154e4871694a57faaf5e27b4f8a8957e40bf4182 (diff)
Add a few helper functions for bit lists
Diffstat (limited to 'lib')
-rw-r--r--lib/prelude.sail4
-rw-r--r--lib/prelude_wrappers.sail8
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/prelude.sail b/lib/prelude.sail
index a7f6fb2f..1f8f3e75 100644
--- a/lib/prelude.sail
+++ b/lib/prelude.sail
@@ -90,13 +90,13 @@ overload (deinfix ^^) [duplicate; duplicate_bits; duplicate_to_list; duplicate_b
val extern forall Num 'n, Num 'm, Num 'o, Num 'p, Order 'ord.
vector<'o, 'n, 'ord, bit> -> vector<'p, 'm, 'ord, bit> effect pure extz
-val extern forall Num 'm, Num 'p, Order 'ord.
+val forall Num 'm, Num 'p, Order 'ord.
list<bit> -> vector<'p, 'm, 'ord, bit> effect pure extz_bl
val extern forall Num 'n, Num 'm, Num 'o, Num 'p, Order 'ord.
vector<'o, 'n, 'ord, bit> -> vector<'p, 'm, 'ord, bit> effect pure exts
-val extern forall Num 'm, Num 'p, Order 'ord.
+val forall Num 'm, Num 'p, Order 'ord.
list<bit> -> vector<'p, 'm, 'ord, bit> effect pure exts_bl
(* If we want an automatic bitvector extension, then this is the function to
diff --git a/lib/prelude_wrappers.sail b/lib/prelude_wrappers.sail
index 37b20f43..4dc15077 100644
--- a/lib/prelude_wrappers.sail
+++ b/lib/prelude_wrappers.sail
@@ -60,9 +60,9 @@ function forall Num 'n, Num 'm, Num 'o, Num 'p, Order 'ord.
(vector<'p, 'm, 'ord, bit>) extz (v) = extz' (sizeof 'p, sizeof 'm, v)
val extern forall Num 'm, Num 'p, Order 'ord.
- ([:'p:], [:'m:], list<bit>) -> vector<'p, 'm, 'ord, bit> effect pure extz_bl' = "extz_bl"
+ ([:'p:], [:'m:], list<bit>) -> vector<'p, 'm, 'ord, bit> effect pure cast_bl_vec = "cast_bl_vec"
function forall Num 'm, Num 'p, Order 'ord.
- (vector<'p, 'm, 'ord, bit>) extz_bl (v) = extz_bl' (sizeof 'p, sizeof 'm, v)
+ (vector<'p, 'm, 'ord, bit>) extz_bl (v) = cast_bl_vec (sizeof 'p, sizeof 'm, v)
val extern forall Num 'n, Num 'm, Num 'o, Num 'p, Order 'ord.
([:'p:], [:'m:], vector<'o, 'n, 'ord, bit>) -> vector<'p, 'm, 'ord, bit> effect pure exts' = "exts"
@@ -70,9 +70,9 @@ function forall Num 'n, Num 'm, Num 'o, Num 'p, Order 'ord.
(vector<'p, 'm, 'ord, bit>) exts (v) = exts' (sizeof 'p, sizeof 'm, v)
val extern forall Num 'm, Num 'p, Order 'ord.
- ([:'p:], [:'m:], list<bit>) -> vector<'p, 'm, 'ord, bit> effect pure exts_bl' = "exts_bl"
+ ([:'p:], [:'m:], list<bit>) -> vector<'p, 'm, 'ord, bit> effect pure cast_bl_svec = "cast_bl_svec"
function forall Num 'm, Num 'p, Order 'ord.
- vector<'p, 'm, 'ord, bit> exts_bl (v) = exts_bl' (sizeof 'p, sizeof 'm, v)
+ vector<'p, 'm, 'ord, bit> exts_bl (v) = cast_bl_svec (sizeof 'p, sizeof 'm, v)
val extern forall Type 'a, Num 'n, Num 'm, Num 'o, Num 'p, Order 'ord, 'm >= 'o.
([:'p:], [:'o:], vector<'n, 'm, 'ord, 'a>) -> vector<'p, 'o, 'ord, 'a> effect pure mask' = "extz"