diff options
author | Son Ho | 2022-03-04 12:26:22 +0100 |
---|---|---|
committer | Son Ho | 2022-03-04 12:26:22 +0100 |
commit | 69042fd599c2a965b9bc9d3eadc0acff314367a6 (patch) | |
tree | 908678c2439dfb5aaef6fc201eb8065f1ce63f68 /tests/misc/External.Funs.fst | |
parent | 6395dbcc29480a37cd73b51deac5f1b289131e4f (diff) |
Commit the translation of external.rs
Diffstat (limited to 'tests/misc/External.Funs.fst')
-rw-r--r-- | tests/misc/External.Funs.fst | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/misc/External.Funs.fst b/tests/misc/External.Funs.fst new file mode 100644 index 00000000..8030b838 --- /dev/null +++ b/tests/misc/External.Funs.fst @@ -0,0 +1,50 @@ +(** THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS *) +(** [external]: function definitions *) +module External.Funs +open Primitives +include External.Types +include External.Opaque + +#set-options "--z3rlimit 50 --fuel 0 --ifuel 1" + +(** [external::swap] *) +let swap_fwd (t : Type0) (x : t) (y : t) (st : state) : result (state & unit) = + begin match core_mem_swap_fwd t x y st with + | Fail -> Fail + | Return (st0, _) -> Return (st0, ()) + end + +(** [external::swap] *) +let swap_back + (t : Type0) (x : t) (y : t) (st : state) : result (state & (t & t)) = + begin match core_mem_swap_back0 t x y st with + | Fail -> Fail + | Return (st0, x0) -> + begin match core_mem_swap_back1 t x y st0 with + | Fail -> Fail + | Return (st1, x1) -> Return (st1, (x0, x1)) + end + end + +(** [external::test_new_non_zero_u32] *) +let test_new_non_zero_u32_fwd + (x : u32) (st : state) : result (state & core_num_nonzero_non_zero_u32_t) = + begin match core_num_nonzero_non_zero_u32_14_new_fwd x st with + | Fail -> Fail + | Return (st0, opt) -> + begin match + core_option_option_unwrap_fwd core_num_nonzero_non_zero_u32_t opt st0 + with + | Fail -> Fail + | Return (st1, cnnnzu) -> Return (st1, cnnnzu) + end + end + +(** [external::test_vec] *) +let test_vec_fwd (st : state) : result (state & unit) = + let v = vec_new u32 in + begin match vec_push_back u32 v 0 with + | Fail -> Fail + | Return _ -> Return (st, ()) + end + |