summaryrefslogtreecommitdiff
path: root/ricky/param/constrainednumber.py
diff options
context:
space:
mode:
Diffstat (limited to 'ricky/param/constrainednumber.py')
-rw-r--r--ricky/param/constrainednumber.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ricky/param/constrainednumber.py b/ricky/param/constrainednumber.py
index 30c7a45..3cf009e 100644
--- a/ricky/param/constrainednumber.py
+++ b/ricky/param/constrainednumber.py
@@ -1,4 +1,5 @@
import random
+import decimal
from ricky.param import Param
DEFAULT_RAND_MAX = 1000
DEFAULT_RAND_MIN = -1000
@@ -89,3 +90,14 @@ class ConstrainedNumber(Param):
raise ValueError(
"Unable to set random value on %s in %s tries"
) % (self.name, self.tries_max)
+
+ def from_normalized(self, value):
+ total_range = self.range_max - self.range_min
+ val_in_range = hex(int(round(total_range * value, 0)))
+ self.value = val_in_range + self.range_min
+
+ def as_normalized(self):
+ total_range = self.range_max - self.range_min
+ return decimal.Decimal(
+ self.value + self.range_min
+ )/decimal.Decimal(total_range)