summaryrefslogtreecommitdiff
path: root/python/types.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/types.py')
-rw-r--r--python/types.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/python/types.py b/python/types.py
index fd2ee27e..bf4a7b74 100644
--- a/python/types.py
+++ b/python/types.py
@@ -650,6 +650,43 @@ class BoolWithConfidence(object):
return self.value
+class SizeWithConfidence(object):
+ def __init__(self, value, confidence = max_confidence):
+ self.value = value
+ self.confidence = confidence
+
+ def __str__(self):
+ return str(self.value)
+
+ def __repr__(self):
+ return repr(self.value)
+
+ def __int__(self):
+ return self.value
+
+
+class RegisterSet(object):
+ def __init__(self, reg_list, confidence = max_confidence):
+ self.regs = reg_list
+ self.confidence = confidence
+
+ def __repr__(self):
+ return repr(self.regs)
+
+ def __iter__(self):
+ for reg in self.regs:
+ yield reg
+
+ def __getitem__(self, idx):
+ return self.regs[idx]
+
+ def __len__(self):
+ return len(self.regs)
+
+ def with_confidence(self, confidence):
+ return RegisterSet(list(self.regs), confidence = confidence)
+
+
class ReferenceTypeWithConfidence(object):
def __init__(self, value, confidence = max_confidence):
self.value = value