From: Nathan Binkert Date: Sun, 15 Jun 2008 03:39:31 +0000 (-0700) Subject: params: Fix floating point parameters X-Git-Tag: m5_2.0_beta6~116 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d2e7797ccb554092a4140fc8e11407edd7eedc4;p=gem5.git params: Fix floating point parameters --- diff --git a/src/python/m5/params.py b/src/python/m5/params.py index a895549ca..c8d0d8f46 100644 --- a/src/python/m5/params.py +++ b/src/python/m5/params.py @@ -379,6 +379,13 @@ class Percent(CheckedInt): cxx_type = 'int'; min = 0; max = 100 class Float(ParamValue, float): cxx_type = 'double' + def __init__(self, value): + if isinstance(value, (int, long, float, NumericParamValue, Float)): + self.value = float(value) + else: + raise TypeError, "Can't convert object of type %s to Float" \ + % type(value).__name__ + def getValue(self): return float(self.value) @@ -895,7 +902,9 @@ class MemoryBandwidth(float,ParamValue): def getValue(self): # convert to seconds per byte - value = 1.0 / float(self) + value = float(self) + if value: + value = 1.0 / float(self) # convert to ticks per byte value = ticks.fromSeconds(value) return float(value)