summaryrefslogtreecommitdiff
path: root/ricky/param/constrainednumber.py
diff options
context:
space:
mode:
authorpepperpepperpepper <pepper@scannerjammer.com>2015-12-05 16:57:53 -0800
committerpepperpepperpepper <pepper@scannerjammer.com>2015-12-05 16:57:53 -0800
commite85b0885ac45e5773a2e9dfb2b91bc8a57de98e2 (patch)
treed4100b771fa1fd14dd09d62770ae5165bd5fdf4d /ricky/param/constrainednumber.py
parent0b0ac03c2f74996b178282bbaa0684229fd18393 (diff)
added normalization to params
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)