diff --git a/pykat/SIfloat.py b/pykat/SIfloat.py index e18a1750f6083d32529774b2bdd74149d0c9438b..e93166719a30d21bfb80ba68c8776cd670d79cc3 100644 --- a/pykat/SIfloat.py +++ b/pykat/SIfloat.py @@ -1,16 +1,14 @@ import os import re -""" -class SIfloat(value): - def __init__(self, value): - self.__value = value -""" - #staticmethod def SIfloat(value): - value=str(value) - + if type(value)==list: + return [convertToFloat(s) for s in value] + else: + return convertToFloat(value) + +def convertToFloat(value): __prefix = {'y': 1e-24, # yocto 'z': 1e-21, # zepto 'a': 1e-18, # atto @@ -30,7 +28,7 @@ def SIfloat(value): 'Z': 1e21, # zetta 'Y': 1e24, # yotta } + value = str(value) for i, j in __prefix.iteritems(): value=value.replace(i, str(j)) return float(value) - diff --git a/pykat/commands.py b/pykat/commands.py index a86647bcbc79c18b3bcc7d5787cfc020097381c3..7caa7eb29cf2e875efee2a1ad276d47cde001375 100644 --- a/pykat/commands.py +++ b/pykat/commands.py @@ -83,7 +83,7 @@ class xaxis(Command): if numpy.size(limits) != 2 : raise exceptions.ValueError("limits input should be a 2x1 vector of limits for the xaxis") - self.limits = numpy.array(limits).astype(float) + self.limits = numpy.array(SIfloat(limits)).astype(float) if steps <= 0 : raise exceptions.ValueError("steps value should be > 0") @@ -128,4 +128,4 @@ class xaxis(Command): comp_name, param_name, self.scale, min(self.limits), max(self.limits), self.steps); - \ No newline at end of file + diff --git a/pykat/components.py b/pykat/components.py index 96c5c68767e37d32d4ed2156583c19427db146b7..968a5e85b600dc7973e13d80353fc72ce9732fc0 100644 --- a/pykat/components.py +++ b/pykat/components.py @@ -71,7 +71,7 @@ class Component(object) : class Param(float): def __new__(self,name,value): - return float.__new__(self,value) + return float.__new__(self,SIfloat(value)) def __init__(self,name,value): self.__name = name diff --git a/pykat/finesse.py b/pykat/finesse.py index 158a8b80886f1598357591884b8ce4cd0dafe868..05f75303cdbb9ba0759c651709cbc85167aaa353 100644 --- a/pykat/finesse.py +++ b/pykat/finesse.py @@ -122,7 +122,7 @@ class kat(object): def parseKatCode(self, code): #commands = code.split("\n") - self.parseCommands(commands) + self.parseCommands(code) def parseCommands(self, commands): blockComment = False