From e85b0885ac45e5773a2e9dfb2b91bc8a57de98e2 Mon Sep 17 00:00:00 2001 From: pepperpepperpepper Date: Sat, 5 Dec 2015 16:57:53 -0800 Subject: added normalization to params --- ricky/param/constrainednumber.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ricky/param/constrainednumber.py') 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) -- cgit v1.2.3-70-g09d2