summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/hashmap_on_disk/HashmapMain.Funs.fst421
1 files changed, 241 insertions, 180 deletions
diff --git a/tests/hashmap_on_disk/HashmapMain.Funs.fst b/tests/hashmap_on_disk/HashmapMain.Funs.fst
index a4167186..1b281acb 100644
--- a/tests/hashmap_on_disk/HashmapMain.Funs.fst
+++ b/tests/hashmap_on_disk/HashmapMain.Funs.fst
@@ -92,7 +92,7 @@ let rec hashmap_hash_map_clear_slots_fwd
(** [hashmap_main::hashmap::HashMap::{0}::clear_slots] *)
let rec hashmap_hash_map_clear_slots_back
(t : Type0) (slots : vec (hashmap_list_t t)) (i : usize) (st : state) :
- Tot (result (state & (vec (hashmap_list_t t))))
+ Tot (result (vec (hashmap_list_t t)))
(decreases (hashmap_hash_map_clear_slots_decreases t slots i st))
=
let i0 = vec_len (hashmap_list_t t) slots in
@@ -107,11 +107,11 @@ let rec hashmap_hash_map_clear_slots_back
| Return i1 ->
begin match hashmap_hash_map_clear_slots_back t slots0 i1 st with
| Fail -> Fail
- | Return (st0, slots1) -> Return (st0, slots1)
+ | Return slots1 -> Return slots1
end
end
end
- else Return (st, slots)
+ else Return slots
(** [hashmap_main::hashmap::HashMap::{0}::clear] *)
let hashmap_hash_map_clear_fwd
@@ -127,13 +127,13 @@ let hashmap_hash_map_clear_fwd
(** [hashmap_main::hashmap::HashMap::{0}::clear] *)
let hashmap_hash_map_clear_back
(t : Type0) (self : hashmap_hash_map_t t) (st : state) :
- result (state & (hashmap_hash_map_t t))
+ result (hashmap_hash_map_t t)
=
begin match
hashmap_hash_map_clear_slots_back t self.hashmap_hash_map_slots 0 st with
| Fail -> Fail
- | Return (st0, v) ->
- Return (st0, Mkhashmap_hash_map_t 0 self.hashmap_hash_map_max_load_factor
+ | Return v ->
+ Return (Mkhashmap_hash_map_t 0 self.hashmap_hash_map_max_load_factor
self.hashmap_hash_map_max_load v)
end
@@ -165,20 +165,20 @@ let rec hashmap_hash_map_insert_in_list_fwd
(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list] *)
let rec hashmap_hash_map_insert_in_list_back
(t : Type0) (key : usize) (value : t) (ls : hashmap_list_t t) (st : state) :
- Tot (result (state & (hashmap_list_t t)))
+ Tot (result (hashmap_list_t t))
(decreases (hashmap_hash_map_insert_in_list_decreases t key value ls st))
=
begin match ls with
| HashmapListCons ckey cvalue ls0 ->
if ckey = key
- then Return (st, HashmapListCons ckey value ls0)
+ then Return (HashmapListCons ckey value ls0)
else
begin match hashmap_hash_map_insert_in_list_back t key value ls0 st with
| Fail -> Fail
- | Return (st0, ls1) -> Return (st0, HashmapListCons ckey cvalue ls1)
+ | Return ls1 -> Return (HashmapListCons ckey cvalue ls1)
end
| HashmapListNil ->
- let l = HashmapListNil in Return (st, HashmapListCons key value l)
+ let l = HashmapListNil in Return (HashmapListCons key value l)
end
(** [hashmap_main::hashmap::HashMap::{0}::insert_no_resize] *)
@@ -218,7 +218,7 @@ let hashmap_hash_map_insert_no_resize_fwd
let hashmap_hash_map_insert_no_resize_back
(t : Type0) (self : hashmap_hash_map_t t) (key : usize) (value : t)
(st : state) :
- result (state & (hashmap_hash_map_t t))
+ result (hashmap_hash_map_t t)
=
begin match hashmap_hash_key_fwd key st with
| Fail -> Fail
@@ -234,39 +234,38 @@ let hashmap_hash_map_insert_no_resize_back
| Return l ->
begin match hashmap_hash_map_insert_in_list_fwd t key value l st0 with
| Fail -> Fail
- | Return (st1, inserted) ->
+ | Return (_, inserted) ->
if inserted
then
begin match usize_add self.hashmap_hash_map_num_entries 1 with
| Fail -> Fail
| Return i0 ->
begin match
- hashmap_hash_map_insert_in_list_back t key value l st1 with
+ hashmap_hash_map_insert_in_list_back t key value l st0 with
| Fail -> Fail
- | Return (st2, l0) ->
+ | Return l0 ->
begin match
vec_index_mut_back (hashmap_list_t t)
self.hashmap_hash_map_slots hash_mod l0 with
| Fail -> Fail
| Return v ->
- Return (st2, Mkhashmap_hash_map_t i0
+ Return (Mkhashmap_hash_map_t i0
self.hashmap_hash_map_max_load_factor
self.hashmap_hash_map_max_load v)
end
end
end
else
- begin match hashmap_hash_map_insert_in_list_back t key value l st1
+ begin match hashmap_hash_map_insert_in_list_back t key value l st0
with
| Fail -> Fail
- | Return (st2, l0) ->
+ | Return l0 ->
begin match
vec_index_mut_back (hashmap_list_t t)
self.hashmap_hash_map_slots hash_mod l0 with
| Fail -> Fail
| Return v ->
- Return (st2, Mkhashmap_hash_map_t
- self.hashmap_hash_map_num_entries
+ Return (Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries
self.hashmap_hash_map_max_load_factor
self.hashmap_hash_map_max_load v)
end
@@ -286,13 +285,17 @@ let rec hashmap_hash_map_move_elements_from_list_fwd
=
begin match ls with
| HashmapListCons k v tl ->
- begin match hashmap_hash_map_insert_no_resize_back t ntable k v st with
+ begin match hashmap_hash_map_insert_no_resize_fwd t ntable k v st with
| Fail -> Fail
- | Return (st0, ntable0) ->
- begin match hashmap_hash_map_move_elements_from_list_fwd t ntable0 tl st0
- with
+ | Return (st0, _) ->
+ begin match hashmap_hash_map_insert_no_resize_back t ntable k v st with
| Fail -> Fail
- | Return (st1, _) -> Return (st1, ())
+ | Return ntable0 ->
+ begin match
+ hashmap_hash_map_move_elements_from_list_fwd t ntable0 tl st0 with
+ | Fail -> Fail
+ | Return (st1, _) -> Return (st1, ())
+ end
end
end
| HashmapListNil -> Return (st, ())
@@ -302,22 +305,26 @@ let rec hashmap_hash_map_move_elements_from_list_fwd
let rec hashmap_hash_map_move_elements_from_list_back
(t : Type0) (ntable : hashmap_hash_map_t t) (ls : hashmap_list_t t)
(st : state) :
- Tot (result (state & (hashmap_hash_map_t t)))
+ Tot (result (hashmap_hash_map_t t))
(decreases (hashmap_hash_map_move_elements_from_list_decreases t ntable ls
st))
=
begin match ls with
| HashmapListCons k v tl ->
- begin match hashmap_hash_map_insert_no_resize_back t ntable k v st with
+ begin match hashmap_hash_map_insert_no_resize_fwd t ntable k v st with
| Fail -> Fail
- | Return (st0, ntable0) ->
- begin match
- hashmap_hash_map_move_elements_from_list_back t ntable0 tl st0 with
+ | Return (st0, _) ->
+ begin match hashmap_hash_map_insert_no_resize_back t ntable k v st with
| Fail -> Fail
- | Return (st1, ntable1) -> Return (st1, ntable1)
+ | Return ntable0 ->
+ begin match
+ hashmap_hash_map_move_elements_from_list_back t ntable0 tl st0 with
+ | Fail -> Fail
+ | Return ntable1 -> Return ntable1
+ end
end
end
- | HashmapListNil -> Return (st, ntable)
+ | HashmapListNil -> Return ntable
end
(** [hashmap_main::hashmap::HashMap::{0}::move_elements] *)
@@ -334,21 +341,26 @@ let rec hashmap_hash_map_move_elements_fwd
| Fail -> Fail
| Return l ->
let ls = mem_replace_fwd (hashmap_list_t t) l HashmapListNil in
- begin match hashmap_hash_map_move_elements_from_list_back t ntable ls st
+ begin match hashmap_hash_map_move_elements_from_list_fwd t ntable ls st
with
| Fail -> Fail
- | Return (st0, ntable0) ->
- let l0 = mem_replace_back (hashmap_list_t t) l HashmapListNil in
- begin match vec_index_mut_back (hashmap_list_t t) slots i l0 with
+ | Return (st0, _) ->
+ begin match
+ hashmap_hash_map_move_elements_from_list_back t ntable ls st with
| Fail -> Fail
- | Return slots0 ->
- begin match usize_add i 1 with
+ | Return ntable0 ->
+ let l0 = mem_replace_back (hashmap_list_t t) l HashmapListNil in
+ begin match vec_index_mut_back (hashmap_list_t t) slots i l0 with
| Fail -> Fail
- | Return i1 ->
- begin match
- hashmap_hash_map_move_elements_fwd t ntable0 slots0 i1 st0 with
+ | Return slots0 ->
+ begin match usize_add i 1 with
| Fail -> Fail
- | Return (st1, _) -> Return (st1, ())
+ | Return i1 ->
+ begin match
+ hashmap_hash_map_move_elements_fwd t ntable0 slots0 i1 st0 with
+ | Fail -> Fail
+ | Return (st1, _) -> Return (st1, ())
+ end
end
end
end
@@ -360,7 +372,7 @@ let rec hashmap_hash_map_move_elements_fwd
let rec hashmap_hash_map_move_elements_back
(t : Type0) (ntable : hashmap_hash_map_t t) (slots : vec (hashmap_list_t t))
(i : usize) (st : state) :
- Tot (result (state & ((hashmap_hash_map_t t) & (vec (hashmap_list_t t)))))
+ Tot (result ((hashmap_hash_map_t t) & (vec (hashmap_list_t t))))
(decreases (hashmap_hash_map_move_elements_decreases t ntable slots i st))
=
let i0 = vec_len (hashmap_list_t t) slots in
@@ -370,28 +382,33 @@ let rec hashmap_hash_map_move_elements_back
| Fail -> Fail
| Return l ->
let ls = mem_replace_fwd (hashmap_list_t t) l HashmapListNil in
- begin match hashmap_hash_map_move_elements_from_list_back t ntable ls st
+ begin match hashmap_hash_map_move_elements_from_list_fwd t ntable ls st
with
| Fail -> Fail
- | Return (st0, ntable0) ->
- let l0 = mem_replace_back (hashmap_list_t t) l HashmapListNil in
- begin match vec_index_mut_back (hashmap_list_t t) slots i l0 with
+ | Return (st0, _) ->
+ begin match
+ hashmap_hash_map_move_elements_from_list_back t ntable ls st with
| Fail -> Fail
- | Return slots0 ->
- begin match usize_add i 1 with
+ | Return ntable0 ->
+ let l0 = mem_replace_back (hashmap_list_t t) l HashmapListNil in
+ begin match vec_index_mut_back (hashmap_list_t t) slots i l0 with
| Fail -> Fail
- | Return i1 ->
- begin match
- hashmap_hash_map_move_elements_back t ntable0 slots0 i1 st0 with
+ | Return slots0 ->
+ begin match usize_add i 1 with
| Fail -> Fail
- | Return (st1, (ntable1, slots1)) ->
- Return (st1, (ntable1, slots1))
+ | Return i1 ->
+ begin match
+ hashmap_hash_map_move_elements_back t ntable0 slots0 i1 st0
+ with
+ | Fail -> Fail
+ | Return (ntable1, slots1) -> Return (ntable1, slots1)
+ end
end
end
end
end
end
- else Return (st, (ntable, slots))
+ else Return (ntable, slots)
(** [hashmap_main::hashmap::HashMap::{0}::try_resize] *)
let hashmap_hash_map_try_resize_fwd
@@ -415,10 +432,16 @@ let hashmap_hash_map_try_resize_fwd
| Fail -> Fail
| Return (st0, ntable) ->
begin match
- hashmap_hash_map_move_elements_back t ntable
+ hashmap_hash_map_move_elements_fwd t ntable
self.hashmap_hash_map_slots 0 st0 with
| Fail -> Fail
- | Return (st1, (_, _)) -> Return (st1, ())
+ | Return (st1, _) ->
+ begin match
+ hashmap_hash_map_move_elements_back t ntable
+ self.hashmap_hash_map_slots 0 st0 with
+ | Fail -> Fail
+ | Return (_, _) -> Return (st1, ())
+ end
end
end
end
@@ -429,7 +452,7 @@ let hashmap_hash_map_try_resize_fwd
(** [hashmap_main::hashmap::HashMap::{0}::try_resize] *)
let hashmap_hash_map_try_resize_back
(t : Type0) (self : hashmap_hash_map_t t) (st : state) :
- result (state & (hashmap_hash_map_t t))
+ result (hashmap_hash_map_t t)
=
let capacity = vec_len (hashmap_list_t t) self.hashmap_hash_map_slots in
begin match usize_div 4294967295 2 with
@@ -451,17 +474,16 @@ let hashmap_hash_map_try_resize_back
hashmap_hash_map_move_elements_back t ntable
self.hashmap_hash_map_slots 0 st0 with
| Fail -> Fail
- | Return (st1, (ntable0, _)) ->
- Return (st1, Mkhashmap_hash_map_t
- self.hashmap_hash_map_num_entries (i, i0)
- ntable0.hashmap_hash_map_max_load
+ | Return (ntable0, _) ->
+ Return (Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries
+ (i, i0) ntable0.hashmap_hash_map_max_load
ntable0.hashmap_hash_map_slots)
end
end
end
else
- Return (st, Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries (
- i, i0) self.hashmap_hash_map_max_load self.hashmap_hash_map_slots)
+ Return (Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries (i, i0)
+ self.hashmap_hash_map_max_load self.hashmap_hash_map_slots)
end
end
@@ -471,24 +493,28 @@ let hashmap_hash_map_insert_fwd
(st : state) :
result (state & unit)
=
- begin match hashmap_hash_map_insert_no_resize_back t self key value st with
+ begin match hashmap_hash_map_insert_no_resize_fwd t self key value st with
| Fail -> Fail
- | Return (st0, self0) ->
- begin match hashmap_hash_map_len_fwd t self0 st0 with
+ | Return (st0, _) ->
+ begin match hashmap_hash_map_insert_no_resize_back t self key value st with
| Fail -> Fail
- | Return (st1, i) ->
- if i > self0.hashmap_hash_map_max_load
- then
- begin match
- hashmap_hash_map_try_resize_fwd t (Mkhashmap_hash_map_t
- self0.hashmap_hash_map_num_entries
- self0.hashmap_hash_map_max_load_factor
- self0.hashmap_hash_map_max_load self0.hashmap_hash_map_slots)
- st1 with
- | Fail -> Fail
- | Return (st2, _) -> Return (st2, ())
- end
- else Return (st1, ())
+ | Return self0 ->
+ begin match hashmap_hash_map_len_fwd t self0 st0 with
+ | Fail -> Fail
+ | Return (st1, i) ->
+ if i > self0.hashmap_hash_map_max_load
+ then
+ begin match
+ hashmap_hash_map_try_resize_fwd t (Mkhashmap_hash_map_t
+ self0.hashmap_hash_map_num_entries
+ self0.hashmap_hash_map_max_load_factor
+ self0.hashmap_hash_map_max_load self0.hashmap_hash_map_slots) st1
+ with
+ | Fail -> Fail
+ | Return (st2, _) -> Return (st2, ())
+ end
+ else Return (st1, ())
+ end
end
end
@@ -496,29 +522,33 @@ let hashmap_hash_map_insert_fwd
let hashmap_hash_map_insert_back
(t : Type0) (self : hashmap_hash_map_t t) (key : usize) (value : t)
(st : state) :
- result (state & (hashmap_hash_map_t t))
+ result (hashmap_hash_map_t t)
=
- begin match hashmap_hash_map_insert_no_resize_back t self key value st with
+ begin match hashmap_hash_map_insert_no_resize_fwd t self key value st with
| Fail -> Fail
- | Return (st0, self0) ->
- begin match hashmap_hash_map_len_fwd t self0 st0 with
+ | Return (st0, _) ->
+ begin match hashmap_hash_map_insert_no_resize_back t self key value st with
| Fail -> Fail
- | Return (st1, i) ->
- if i > self0.hashmap_hash_map_max_load
- then
- begin match
- hashmap_hash_map_try_resize_back t (Mkhashmap_hash_map_t
- self0.hashmap_hash_map_num_entries
+ | Return self0 ->
+ begin match hashmap_hash_map_len_fwd t self0 st0 with
+ | Fail -> Fail
+ | Return (st1, i) ->
+ if i > self0.hashmap_hash_map_max_load
+ then
+ begin match
+ hashmap_hash_map_try_resize_back t (Mkhashmap_hash_map_t
+ self0.hashmap_hash_map_num_entries
+ self0.hashmap_hash_map_max_load_factor
+ self0.hashmap_hash_map_max_load self0.hashmap_hash_map_slots) st1
+ with
+ | Fail -> Fail
+ | Return self1 -> Return self1
+ end
+ else
+ Return (Mkhashmap_hash_map_t self0.hashmap_hash_map_num_entries
self0.hashmap_hash_map_max_load_factor
- self0.hashmap_hash_map_max_load self0.hashmap_hash_map_slots)
- st1 with
- | Fail -> Fail
- | Return (st2, self1) -> Return (st2, self1)
- end
- else
- Return (st1, Mkhashmap_hash_map_t self0.hashmap_hash_map_num_entries
- self0.hashmap_hash_map_max_load_factor
- self0.hashmap_hash_map_max_load self0.hashmap_hash_map_slots)
+ self0.hashmap_hash_map_max_load self0.hashmap_hash_map_slots)
+ end
end
end
@@ -628,18 +658,18 @@ let rec hashmap_hash_map_get_mut_in_list_fwd
(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list] *)
let rec hashmap_hash_map_get_mut_in_list_back
- (t : Type0) (key : usize) (ls : hashmap_list_t t) (ret : t) (st : state) :
- Tot (result (state & (hashmap_list_t t)))
+ (t : Type0) (key : usize) (ls : hashmap_list_t t) (st : state) (ret : t) :
+ Tot (result (hashmap_list_t t))
(decreases (hashmap_hash_map_get_mut_in_list_decreases t key ls st))
=
begin match ls with
| HashmapListCons ckey cvalue ls0 ->
if ckey = key
- then Return (st, HashmapListCons ckey ret ls0)
+ then Return (HashmapListCons ckey ret ls0)
else
- begin match hashmap_hash_map_get_mut_in_list_back t key ls0 ret st with
+ begin match hashmap_hash_map_get_mut_in_list_back t key ls0 st ret with
| Fail -> Fail
- | Return (st0, ls1) -> Return (st0, HashmapListCons ckey cvalue ls1)
+ | Return ls1 -> Return (HashmapListCons ckey cvalue ls1)
end
| HashmapListNil -> Fail
end
@@ -671,9 +701,9 @@ let hashmap_hash_map_get_mut_fwd
(** [hashmap_main::hashmap::HashMap::{0}::get_mut] *)
let hashmap_hash_map_get_mut_back
- (t : Type0) (self : hashmap_hash_map_t t) (key : usize) (ret : t)
- (st : state) :
- result (state & (hashmap_hash_map_t t))
+ (t : Type0) (self : hashmap_hash_map_t t) (key : usize) (st : state)
+ (ret : t) :
+ result (hashmap_hash_map_t t)
=
begin match hashmap_hash_key_fwd key st with
| Fail -> Fail
@@ -687,15 +717,15 @@ let hashmap_hash_map_get_mut_back
hash_mod with
| Fail -> Fail
| Return l ->
- begin match hashmap_hash_map_get_mut_in_list_back t key l ret st0 with
+ begin match hashmap_hash_map_get_mut_in_list_back t key l st0 ret with
| Fail -> Fail
- | Return (st1, l0) ->
+ | Return l0 ->
begin match
vec_index_mut_back (hashmap_list_t t) self.hashmap_hash_map_slots
hash_mod l0 with
| Fail -> Fail
| Return v ->
- Return (st1, Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries
+ Return (Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries
self.hashmap_hash_map_max_load_factor
self.hashmap_hash_map_max_load v)
end
@@ -732,7 +762,7 @@ let rec hashmap_hash_map_remove_from_list_fwd
(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list] *)
let rec hashmap_hash_map_remove_from_list_back
(t : Type0) (key : usize) (ls : hashmap_list_t t) (st : state) :
- Tot (result (state & (hashmap_list_t t)))
+ Tot (result (hashmap_list_t t))
(decreases (hashmap_hash_map_remove_from_list_decreases t key ls st))
=
begin match ls with
@@ -743,15 +773,15 @@ let rec hashmap_hash_map_remove_from_list_back
mem_replace_fwd (hashmap_list_t t) (HashmapListCons ckey x tl)
HashmapListNil in
begin match mv_ls with
- | HashmapListCons i cvalue tl0 -> Return (st, tl0)
+ | HashmapListCons i cvalue tl0 -> Return tl0
| HashmapListNil -> Fail
end
else
begin match hashmap_hash_map_remove_from_list_back t key tl st with
| Fail -> Fail
- | Return (st0, tl0) -> Return (st0, HashmapListCons ckey x tl0)
+ | Return tl0 -> Return (HashmapListCons ckey x tl0)
end
- | HashmapListNil -> Return (st, HashmapListNil)
+ | HashmapListNil -> Return HashmapListNil
end
(** [hashmap_main::hashmap::HashMap::{0}::remove] *)
@@ -790,7 +820,7 @@ let hashmap_hash_map_remove_fwd
(** [hashmap_main::hashmap::HashMap::{0}::remove] *)
let hashmap_hash_map_remove_back
(t : Type0) (self : hashmap_hash_map_t t) (key : usize) (st : state) :
- result (state & (hashmap_hash_map_t t))
+ result (hashmap_hash_map_t t)
=
begin match hashmap_hash_key_fwd key st with
| Fail -> Fail
@@ -806,19 +836,18 @@ let hashmap_hash_map_remove_back
| Return l ->
begin match hashmap_hash_map_remove_from_list_fwd t key l st0 with
| Fail -> Fail
- | Return (st1, x) ->
+ | Return (_, x) ->
begin match x with
| None ->
- begin match hashmap_hash_map_remove_from_list_back t key l st1 with
+ begin match hashmap_hash_map_remove_from_list_back t key l st0 with
| Fail -> Fail
- | Return (st2, l0) ->
+ | Return l0 ->
begin match
vec_index_mut_back (hashmap_list_t t)
self.hashmap_hash_map_slots hash_mod l0 with
| Fail -> Fail
| Return v ->
- Return (st2, Mkhashmap_hash_map_t
- self.hashmap_hash_map_num_entries
+ Return (Mkhashmap_hash_map_t self.hashmap_hash_map_num_entries
self.hashmap_hash_map_max_load_factor
self.hashmap_hash_map_max_load v)
end
@@ -827,16 +856,16 @@ let hashmap_hash_map_remove_back
begin match usize_sub self.hashmap_hash_map_num_entries 1 with
| Fail -> Fail
| Return i0 ->
- begin match hashmap_hash_map_remove_from_list_back t key l st1
+ begin match hashmap_hash_map_remove_from_list_back t key l st0
with
| Fail -> Fail
- | Return (st2, l0) ->
+ | Return l0 ->
begin match
vec_index_mut_back (hashmap_list_t t)
self.hashmap_hash_map_slots hash_mod l0 with
| Fail -> Fail
| Return v ->
- Return (st2, Mkhashmap_hash_map_t i0
+ Return (Mkhashmap_hash_map_t i0
self.hashmap_hash_map_max_load_factor
self.hashmap_hash_map_max_load v)
end
@@ -853,80 +882,108 @@ let hashmap_test1_fwd (st : state) : result (state & unit) =
begin match hashmap_hash_map_new_fwd u64 st with
| Fail -> Fail
| Return (st0, hm) ->
- begin match hashmap_hash_map_insert_back u64 hm 0 42 st0 with
+ begin match hashmap_hash_map_insert_fwd u64 hm 0 42 st0 with
| Fail -> Fail
- | Return (st1, hm0) ->
- begin match hashmap_hash_map_insert_back u64 hm0 128 18 st1 with
+ | Return (st1, _) ->
+ begin match hashmap_hash_map_insert_back u64 hm 0 42 st0 with
| Fail -> Fail
- | Return (st2, hm1) ->
- begin match hashmap_hash_map_insert_back u64 hm1 1024 138 st2 with
+ | Return hm0 ->
+ begin match hashmap_hash_map_insert_fwd u64 hm0 128 18 st1 with
| Fail -> Fail
- | Return (st3, hm2) ->
- begin match hashmap_hash_map_insert_back u64 hm2 1056 256 st3 with
+ | Return (st2, _) ->
+ begin match hashmap_hash_map_insert_back u64 hm0 128 18 st1 with
| Fail -> Fail
- | Return (st4, hm3) ->
- begin match hashmap_hash_map_get_fwd u64 hm3 128 st4 with
+ | Return hm1 ->
+ begin match hashmap_hash_map_insert_fwd u64 hm1 1024 138 st2 with
| Fail -> Fail
- | Return (st5, i) ->
- if not (i = 18)
- then Fail
- else
- begin match hashmap_hash_map_get_mut_back u64 hm3 1024 56 st5
+ | Return (st3, _) ->
+ begin match hashmap_hash_map_insert_back u64 hm1 1024 138 st2
+ with
+ | Fail -> Fail
+ | Return hm2 ->
+ begin match hashmap_hash_map_insert_fwd u64 hm2 1056 256 st3
with
| Fail -> Fail
- | Return (st6, hm4) ->
- begin match hashmap_hash_map_get_fwd u64 hm4 1024 st6 with
+ | Return (st4, _) ->
+ begin match hashmap_hash_map_insert_back u64 hm2 1056 256 st3
+ with
| Fail -> Fail
- | Return (st7, i0) ->
- if not (i0 = 56)
- then Fail
- else
- begin match hashmap_hash_map_remove_fwd u64 hm4 1024 st7
- with
- | Fail -> Fail
- | Return (st8, x) ->
- begin match x with
- | None -> Fail
- | Some x0 ->
- if not (x0 = 56)
- then Fail
- else
+ | Return hm3 ->
+ begin match hashmap_hash_map_get_fwd u64 hm3 128 st4 with
+ | Fail -> Fail
+ | Return (st5, i) ->
+ if not (i = 18)
+ then Fail
+ else
+ begin match
+ hashmap_hash_map_get_mut_fwd u64 hm3 1024 st5 with
+ | Fail -> Fail
+ | Return (st6, _) ->
+ begin match
+ hashmap_hash_map_get_mut_back u64 hm3 1024 st5 56
+ with
+ | Fail -> Fail
+ | Return hm4 ->
begin match
- hashmap_hash_map_remove_back u64 hm4 1024 st8
- with
+ hashmap_hash_map_get_fwd u64 hm4 1024 st6 with
| Fail -> Fail
- | Return (st9, hm5) ->
- begin match
- hashmap_hash_map_get_fwd u64 hm5 0 st9 with
- | Fail -> Fail
- | Return (st10, i1) ->
- if not (i1 = 42)
- then Fail
- else
- begin match
- hashmap_hash_map_get_fwd u64 hm5 128 st10
- with
- | Fail -> Fail
- | Return (st11, i2) ->
- if not (i2 = 18)
+ | Return (st7, i0) ->
+ if not (i0 = 56)
+ then Fail
+ else
+ begin match
+ hashmap_hash_map_remove_fwd u64 hm4 1024 st7
+ with
+ | Fail -> Fail
+ | Return (st8, x) ->
+ begin match x with
+ | None -> Fail
+ | Some x0 ->
+ if not (x0 = 56)
then Fail
else
begin match
- hashmap_hash_map_get_fwd u64
- hm5 1056 st11 with
+ hashmap_hash_map_remove_back u64 hm4
+ 1024 st7 with
| Fail -> Fail
- | Return (st12, i3) ->
- if not (i3 = 256)
- then Fail
- else Return (st12, ())
+ | Return hm5 ->
+ begin match
+ hashmap_hash_map_get_fwd u64 hm5 0
+ st8 with
+ | Fail -> Fail
+ | Return (st9, i1) ->
+ if not (i1 = 42)
+ then Fail
+ else
+ begin match
+ hashmap_hash_map_get_fwd u64 hm5
+ 128 st9 with
+ | Fail -> Fail
+ | Return (st10, i2) ->
+ if not (i2 = 18)
+ then Fail
+ else
+ begin match
+ hashmap_hash_map_get_fwd u64
+ hm5 1056 st10 with
+ | Fail -> Fail
+ | Return (st11, i3) ->
+ if not (i3 = 256)
+ then Fail
+ else Return (st11, ())
+ end
+ end
+ end
end
end
- end
+ end
end
+ end
end
- end
+ end
end
end
+ end
end
end
end
@@ -940,12 +997,16 @@ let insert_on_disk_fwd
begin match hashmap_utils_deserialize_fwd st with
| Fail -> Fail
| Return (st0, hm) ->
- begin match hashmap_hash_map_insert_back u64 hm key value st0 with
+ begin match hashmap_hash_map_insert_fwd u64 hm key value st0 with
| Fail -> Fail
- | Return (st1, hm0) ->
- begin match hashmap_utils_serialize_fwd hm0 st1 with
+ | Return (st1, _) ->
+ begin match hashmap_hash_map_insert_back u64 hm key value st0 with
| Fail -> Fail
- | Return (st2, _) -> Return (st2, ())
+ | Return hm0 ->
+ begin match hashmap_utils_serialize_fwd hm0 st1 with
+ | Fail -> Fail
+ | Return (st2, _) -> Return (st2, ())
+ end
end
end
end