From 5fef35e24e69a4cce5e113a90c9ea2fb02b318bc Mon Sep 17 00:00:00 2001 From: Kathy Gray Date: Mon, 18 May 2015 12:47:01 +0100 Subject: Add comparison for address --- src/lem_interp/interp_interface.lem | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lem_interp/interp_interface.lem b/src/lem_interp/interp_interface.lem index 1700d542..baa20ada 100644 --- a/src/lem_interp/interp_interface.lem +++ b/src/lem_interp/interp_interface.lem @@ -118,7 +118,22 @@ instance (Ord byte_lifted) let (>=) = defaultGreaterEq end -let addressCompare = defaultCompare +instance (Ord byte) + let compare = defaultCompare + let (<) = defaultLess + let (>) = defaultGreater + let (<=) = defaultLessEq + let (>=) = defaultGreaterEq +end + +let addressCompare (Address b1 i1) (Address b2 i2) = pairCompare compare compare (b1,i1) (b2,i2) +instance (Ord address) + let compare = addressCompare + let (<) a1 a2 = (addressCompare a1 a2) = LT + let (<=) a1 a2 = (addressCompare a1 a2) <> GT + let (>) a1 a2 = (addressCompare a1 a2) = GT + let (>=) a1 a2 = (addressCompare a1 a2) <> LT +end instance (Ord register_value) let compare = defaultCompare -- cgit v1.2.3