diff options
Diffstat (limited to 'src/lem_interp/interp_lib.lem')
| -rw-r--r-- | src/lem_interp/interp_lib.lem | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lem_interp/interp_lib.lem b/src/lem_interp/interp_lib.lem index 8400cf36..9f807ee4 100644 --- a/src/lem_interp/interp_lib.lem +++ b/src/lem_interp/interp_lib.lem @@ -265,8 +265,14 @@ let rec vec_concat (V_tuple args) = match args with | [x; V_lit l] -> vec_concat (V_tuple [x; litV_to_vec l true]) (*TODO, get the correct order*) end ;; +let v_length v = match v with + | V_vector n d l -> V_lit (L_aux (L_num (integerFromNat (List.length l))) Unknown) + | V_unknown -> V_unknown +end ;; + let function_map = [ ("ignore", ignore_sail); + ("length", v_length); ("add", arith_op (+)); ("add_vec", arith_op_vec (+) 1); ("add_vec_range", arith_op_vec_range (+) 1); |
