summaryrefslogtreecommitdiff
path: root/src/gen_lib/state_bitlists.lem
diff options
context:
space:
mode:
authorThomas Bauereiss2018-01-31 14:04:55 +0000
committerThomas Bauereiss2018-01-31 14:04:55 +0000
commit15c9ff0ae2fd00e716d41d5f874679465e918a14 (patch)
tree6640875b8c3c2162c001024799e1362645b6a880 /src/gen_lib/state_bitlists.lem
parente87c76b560921620a0e0f0b472c243e3c0a3bcb2 (diff)
Add Lem operator wrappers for bitlists
(accidentally committed the wrong file)
Diffstat (limited to 'src/gen_lib/state_bitlists.lem')
-rw-r--r--src/gen_lib/state_bitlists.lem29
1 files changed, 0 insertions, 29 deletions
diff --git a/src/gen_lib/state_bitlists.lem b/src/gen_lib/state_bitlists.lem
deleted file mode 100644
index f1aaa7dc..00000000
--- a/src/gen_lib/state_bitlists.lem
+++ /dev/null
@@ -1,29 +0,0 @@
-open import Pervasives_extra
-open import Sail_impl_base
-open import Sail_values
-open import Sail_operators
-open import State
-
-val write_reg : forall 'regs 'a. register_ref 'regs 'a -> 'a -> M 'regs unit
-let write_reg reg v state =
- [(Left (), <| state with regstate = reg.write_to state.regstate v |>)]
-val update_reg : forall 'regs 'a 'b. register_ref 'regs 'a -> ('a -> 'b -> 'a) -> 'b -> M 'regs unit
-let update_reg reg f v state =
- let current_value = get_reg state reg in
- let new_value = f current_value v in
- [(Left (), set_reg state reg new_value)]
-let write_reg_range reg i j = update_reg reg (update_reg_range i j)
-let write_reg_pos reg i = update_reg reg (update_reg_pos i)
-let write_reg_field reg regfield = update_reg reg regfield.set_field
-let write_reg_field_range reg regfield i j =
- let upd regval v =
- let current_field_value = regfield.get_field regval in
- let new_field_value = update current_field_value i j v in
- regfield.set_field regval new_field_value in
- update_reg reg upd
-let write_reg_field_pos reg regfield i =
- let upd regval v =
- let current_field_value = regfield.get_field regval in
- let new_field_value = update_pos current_field_value i v in
- regfield.set_field regval new_field_value in
- update_reg reg upd