From 5f195afd10aad81348c120d4ab051068965ea922 Mon Sep 17 00:00:00 2001 From: dwrenshaw Date: Sun, 19 Jun 2011 17:19:04 +0000 Subject: [PATCH] better handling of numbers git-svn-id: svn://R_E_D_A_C_T_E_D/icfp/hw12@370 b3d0796d-73f4-44f3-a614-c7306c265f62 --- abstracteval.sml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/abstracteval.sml b/abstracteval.sml index 9a29f64..52584a7 100644 --- a/abstracteval.sml +++ b/abstracteval.sml @@ -172,10 +172,14 @@ open LTG; | AVSucc => (case v2 of AVInt n => AVInt (clamp (n + 1)) + | AVUnknown (UnknownInt n) => AVUnknown (UnknownInt(clamp (n + 1))) + | AVUnknown u => AVUnknown (UnknownInt 1) | _ => raise AbsEvalError "argument to succ not int") | AVDbl => (case v2 of (AVInt n) => (AVInt (clamp (n * 2))) + | AVUnknown (UnknownInt n) => AVUnknown (UnknownInt(clamp (n * 2))) + | AVUnknown u => AVUnknown (UnknownInt 0) | _ => raise AbsEvalError "argument to dbl not int") | AVGet => ( case v2