summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sail_lib.ml12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sail_lib.ml b/src/sail_lib.ml
index 026172ec..c0bf80fa 100644
--- a/src/sail_lib.ml
+++ b/src/sail_lib.ml
@@ -160,6 +160,8 @@ let update_subrange (xs, n, m, ys) =
let vector_truncate (xs, n) = List.rev (take (Big_int.to_int n) (List.rev xs))
+let vector_truncateLSB (xs, n) = take (Big_int.to_int n) xs
+
let length xs = Big_int.of_int (List.length xs)
let big_int_of_bit = function
@@ -359,6 +361,14 @@ let int_of_bit = function
| B0 -> 0
| B1 -> 1
+let bool_of_bit = function
+ | B0 -> false
+ | B1 -> true
+
+let bit_of_bool = function
+ | false -> B0
+ | true -> B1
+
let bigint_of_bit b = Big_int.of_int (int_of_bit b)
let string_of_hex = function
@@ -1138,7 +1148,7 @@ let rand_zvector (g : 'generators) (size : int) (order : bool) (elem_gen : 'gene
Util.list_init size (fun _ -> elem_gen g)
let rand_zbit (g : 'generators) : bit =
- if Random.bool() then B0 else B1
+ bit_of_bool (Random.bool())
let rand_zbool (g : 'generators) : bool =
Random.bool()