diff options
| author | Kathy Gray | 2015-05-18 12:47:01 +0100 |
|---|---|---|
| committer | Kathy Gray | 2015-05-18 12:47:01 +0100 |
| commit | 5fef35e24e69a4cce5e113a90c9ea2fb02b318bc (patch) | |
| tree | 3ed5fb450d15487c720b4d771aa34f8d7eacb7bd /src | |
| parent | edaee3304bfff4e51b36e952b4250a8479c58da4 (diff) | |
Add comparison for address
Diffstat (limited to 'src')
| -rw-r--r-- | src/lem_interp/interp_interface.lem | 17 |
1 files changed, 16 insertions, 1 deletions
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 |
