summaryrefslogtreecommitdiff
path: root/src/lem_interp
diff options
context:
space:
mode:
authorKathy Gray2016-07-01 14:23:52 +0100
committerKathy Gray2016-07-01 14:24:53 +0100
commit25dca699ebdb42e986d98f3a5ae5ff72bc6b6d8d (patch)
tree5bfed456bef119478dec0fcabbfd9ad4780e1da8 /src/lem_interp
parent28874bde2f7ad58e76ebe8d779d3920d74ca1db6 (diff)
Add missing case to arith_op_no0
Add type refinement to arm spec
Diffstat (limited to 'src/lem_interp')
-rw-r--r--src/lem_interp/interp_lib.lem4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lem_interp/interp_lib.lem b/src/lem_interp/interp_lib.lem
index 2922db67..5783a095 100644
--- a/src/lem_interp/interp_lib.lem
+++ b/src/lem_interp/interp_lib.lem
@@ -573,7 +573,9 @@ let arith_op_no0 op v =
| (V_lit(L_aux (L_num x) lx), V_lit(L_aux (L_num y) ly)) ->
if y = 0
then V_lit (L_aux L_undef ly)
- else V_lit(L_aux (L_num (op x y)) lx)
+ else V_lit(L_aux (L_num (op x y)) lx)
+ | (V_lit (L_aux L_undef lx),_) -> vl
+ | (_, (V_lit (L_aux L_undef ly))) -> vr
| (V_unknown,_) -> V_unknown
| (_,V_unknown) -> V_unknown
| _ -> fail ()