summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sail_lib.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sail_lib.ml b/src/sail_lib.ml
index b4c5a8aa..415fc9fd 100644
--- a/src/sail_lib.ml
+++ b/src/sail_lib.ml
@@ -644,3 +644,13 @@ let spaces_matches_prefix s =
| 0 -> ZNone ()
| n -> ZSome ((), Big_int.of_int n)
+
+let hex_bits_12_matches_prefix s =
+ match maybe_int_of_prefix s with
+ | ZNone () -> ZNone ()
+ | ZSome (n, len) ->
+ let n = Big_int.to_int n in
+ if 0 <= n && n < 4096 then
+ ZSome ((bits_of_int 2048 n, len))
+ else
+ ZNone ()