diff options
| author | pepperpepperpepper <pepper@scannerjammer.com> | 2015-12-05 16:57:53 -0800 |
|---|---|---|
| committer | pepperpepperpepper <pepper@scannerjammer.com> | 2015-12-05 16:57:53 -0800 |
| commit | e85b0885ac45e5773a2e9dfb2b91bc8a57de98e2 (patch) | |
| tree | d4100b771fa1fd14dd09d62770ae5165bd5fdf4d /ricky/param/constrainednumber.py | |
| parent | 0b0ac03c2f74996b178282bbaa0684229fd18393 (diff) | |
added normalization to params
Diffstat (limited to 'ricky/param/constrainednumber.py')
| -rw-r--r-- | ricky/param/constrainednumber.py | 12 |
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) |
