Lines Matching refs:value

52 # value (if any).  The convert() method on these objects is used to
53 # force whatever value is assigned to the parameter to the appropriate
145 # Produce a human readable version of the stored value
146 def pretty_print(self, value):
147 return str(value)
206 def convert(self, value):
207 if isinstance(value, proxy.BaseProxy):
208 value.set_param_desc(self)
209 return value
210 if 'ptype' not in self.__dict__ and isNullPointer(value):
213 return value
214 if isinstance(value, self.ptype):
215 return value
216 if isNullPointer(value) and isSimObjectClass(self.ptype):
217 return value
218 return self.ptype(value)
220 def pretty_print(self, value):
221 if isinstance(value, proxy.BaseProxy):
222 return str(value)
223 if isNullPointer(value):
225 return self.ptype(value).pretty_print(value)
238 # that the value is a vector (list) of the specified type instead of a
239 # single value.
243 def __setattr__(self, attr, value):
258 # The value is a proxy (e.g. Parent.any, Parent.all or
308 def __setitem__(self, key, value):
310 if value.has_parent():
311 warn("SimObject %s already has a parent" % value.get_name() +\
313 value.set_parent(val.get_parent(), val._name)
314 super(SimObjectVector, self).__setitem__(key, value)
337 # Convert assigned value to appropriate type. If the RHS is not a
339 def convert(self, value):
340 if isinstance(value, (list, tuple)):
342 tmp_list = [ ParamDesc.convert(self, v) for v in value ]
343 elif isinstance(value, str):
346 for v in value.strip('[').strip(']').split(',') ]
349 tmp_list = [ ParamDesc.convert(self, value) ]
358 # value.
364 # Produce a human readable representation of the value of this vector param.
365 def pretty_print(self, value):
366 if isinstance(value, (list, tuple)):
367 tmp_list = [ ParamDesc.pretty_print(self, v) for v in value ]
368 elif isinstance(value, str):
369 tmp_list = [ ParamDesc.pretty_print(self, v) for v in value.split(',') ]
371 tmp_list = [ ParamDesc.pretty_print(self, value) ]
376 def __call__(self, value):
377 if isinstance(value, (list, tuple)):
379 tmp_list = [ ParamDesc.convert(self, v) for v in value ]
380 elif isinstance(value, str):
383 for v in value.strip('[').strip(']').split(',') ]
386 tmp_list = [ ParamDesc.convert(self, value) ]
448 def __call__(self, value):
449 self = value
450 return value
466 return v.value if isinstance(v, NumericParamValue) else v
469 return str(self.value)
472 return float(self.value)
475 return long(self.value)
478 return int(self.value)
486 newobj.value *= NumericParamValue.unwrap(other)
494 newobj.value /= NumericParamValue.unwrap(other)
500 newobj.value //= NumericParamValue.unwrap(other)
507 newobj.value += NumericParamValue.unwrap(other)
513 newobj.value -= NumericParamValue.unwrap(other)
518 self.value += NumericParamValue.unwrap(other)
523 self.value -= NumericParamValue.unwrap(other)
528 self.value *= NumericParamValue.unwrap(other)
533 self.value /= NumericParamValue.unwrap(other)
538 self.value //= NumericParamValue.unwrap(other)
543 return self.value < NumericParamValue.unwrap(other)
551 return self.value
598 if not self.min <= self.value <= self.max:
600 (self.min, self.value, self.max))
602 def __init__(self, value):
603 if isinstance(value, str):
604 self.value = convert.toInteger(value)
605 elif isinstance(value, (int, long, float, NumericParamValue)):
606 self.value = long(value)
609 % type(value).__name__)
612 def __call__(self, value):
613 self.__init__(value)
614 return value
617 return int(self.value)
625 return long(self.value)
653 return Cycles(self.value)
673 def __init__(self, value):
674 if isinstance(value, (int, long, float, NumericParamValue, Float, str)):
675 self.value = float(value)
678 % type(value).__name__)
680 def __call__(self, value):
681 self.__init__(value)
682 return value
685 return float(self.value)
703 def __init__(self, value):
704 if isinstance(value, MemorySize):
705 self.value = value.value
707 self.value = convert.toMemorySize(value)
715 def __init__(self, value):
716 if isinstance(value, MemorySize):
717 self.value = value.value
719 self.value = convert.toMemorySize(value)
726 def __init__(self, value):
727 if isinstance(value, Addr):
728 self.value = value.value
736 self.value = convert.toMemorySize(value)
740 self.value = long(str(value), base=0)
745 return self.value + other.value
747 return self.value + other
748 def pretty_print(self, value):
750 val = convert.toMemorySize(value)
752 val = long(value)
893 def __init__(self, value):
895 self.value = convert.toBool(value)
897 self.value = bool(value)
899 def __call__(self, value):
900 self.__init__(value)
901 return value
904 return bool(self.value)
907 return str(self.value)
909 # implement truth value testing for Bool parameters so that these params
912 return bool(self.value)
918 if self.value:
923 return self.value
951 value = _NextEthernetAddr
953 return value
964 def __init__(self, value):
965 if value == NextEthernetAddr:
966 self.value = value
969 if not isinstance(value, str):
972 bytes = value.split(':')
974 raise TypeError('invalid ethernet address %s' % value)
978 raise TypeError('invalid ethernet address %s' % value)
980 self.value = value
982 def __call__(self, value):
983 self.__init__(value)
984 return value
987 if self.value == NextEthernetAddr:
988 return EthernetAddr(self.value())
993 return EthAddr(self.value)
996 return self.value
999 return self.value
1017 def __init__(self, value):
1018 if isinstance(value, IpAddress):
1019 self.ip = value.ip
1022 self.ip = convert.toIpAddress(value)
1024 self.ip = long(value)
1027 def __call__(self, value):
1028 self.__init__(value)
1029 return value
1076 raise TypeError("No value set for %s" % key)
1105 def __call__(self, value):
1106 self.__init__(value)
1107 return value
1150 raise TypeError("No value set for %s" % key)
1179 def __call__(self, value):
1180 self.__init__(value)
1181 return value
1219 def parse_time(value):
1223 if isinstance(value, struct_time):
1224 return value
1226 if isinstance(value, (int, long)):
1227 return gmtime(value)
1229 if isinstance(value, (datetime, date)):
1230 return value.timetuple()
1232 if isinstance(value, str):
1233 if value in ('Now', 'Today'):
1238 return strptime(value, format)
1242 raise ValueError("Could not parse '%s' as a time" % value)
1251 def __init__(self, value):
1252 self.value = parse_time(value)
1254 def __call__(self, value):
1255 self.__init__(value)
1256 return value
1262 return tm.gmtime(calendar.timegm(self.value))
1265 return time.asctime(self.value)
1287 # long run, the integer value of the parameter will be the list index
1288 # or the corresponding dictionary value. For now, since we only check
1313 # build list of value strings from map
1320 # build string->value map from vals sequence
1439 code('.value("${val}", ${wrapper_name}::${val})')
1440 code('.value("Num_${name}", ${wrapper_name}::Num_${enum_name})')
1468 def __init__(self, value):
1469 if value not in self.map:
1470 raise TypeError("Enum param got bad value '%s' (not in %s)" \
1471 % (value, self.vals))
1472 self.value = value
1474 def __call__(self, value):
1475 self.__init__(value)
1476 return value
1500 return e(self.map[self.value])
1503 return self.value
1535 def __call__(self, value):
1536 self.__init__(value)
1537 return value
1540 return long(self.value)
1555 def __init__(self, value):
1556 if isinstance(value, (Latency, Clock)):
1557 self.ticks = value.ticks
1558 self.value = value.value
1559 elif isinstance(value, Frequency):
1560 self.ticks = value.ticks
1561 self.value = 1.0 / value.value
1562 elif value.endswith('t'):
1564 self.value = int(value[:-1])
1567 self.value = convert.toLatency(value)
1569 def __call__(self, value):
1570 self.__init__(value)
1571 return value
1581 if self.ticks or self.value == 0:
1582 value = self.value
1584 value = ticks.fromSeconds(self.value)
1585 return long(value)
1597 def __init__(self, value):
1598 if isinstance(value, (Latency, Clock)):
1599 if value.value == 0:
1600 self.value = 0
1602 self.value = 1.0 / value.value
1603 self.ticks = value.ticks
1604 elif isinstance(value, Frequency):
1605 self.value = value.value
1606 self.ticks = value.ticks
1609 self.value = convert.toFrequency(value)
1611 def __call__(self, value):
1612 self.__init__(value)
1613 return value
1624 if self.ticks or self.value == 0:
1625 value = self.value
1627 value = ticks.fromSeconds(1.0 / self.value)
1628 return long(value)
1636 # A generic Frequency and/or Latency value. Value is stored as a
1639 def __init__(self, value):
1640 if isinstance(value, (Latency, Clock)):
1641 self.ticks = value.ticks
1642 self.value = value.value
1643 elif isinstance(value, Frequency):
1644 self.ticks = value.ticks
1645 self.value = 1.0 / value.value
1646 elif value.endswith('t'):
1648 self.value = int(value[:-1])
1651 self.value = convert.anyToLatency(value)
1653 def __call__(self, value):
1654 self.__init__(value)
1655 return value
1679 def __new__(cls, value):
1680 value = convert.toVoltage(value)
1681 return super(cls, Voltage).__new__(cls, value)
1683 def __init__(self, value):
1684 value = convert.toVoltage(value)
1685 super(Voltage, self).__init__(value)
1690 def __new__(cls, value):
1691 value = convert.toCurrent(value)
1692 return super(cls, Current).__new__(cls, value)
1694 def __init__(self, value):
1695 value = convert.toCurrent(value)
1696 super(Current, self).__init__(value)
1701 def __new__(cls, value):
1702 value = convert.toEnergy(value)
1703 return super(cls, Energy).__new__(cls, value)
1705 def __init__(self, value):
1706 value = convert.toEnergy(value)
1707 super(Energy, self).__init__(value)
1714 def __new__(cls, value):
1716 val = convert.toNetworkBandwidth(value)
1722 def __call__(self, value):
1723 val = convert.toNetworkBandwidth(value)
1725 return value
1729 value = 8.0 / float(self)
1731 value = ticks.fromSeconds(value)
1732 return float(value)
1753 def __new__(cls, value):
1755 val = convert.toMemoryBandwidth(value)
1758 def __call__(self, value):
1759 val = convert.toMemoryBandwidth(value)
1761 return value
1765 value = float(self)
1766 if value:
1767 value = 1.0 / float(self)
1769 value = ticks.fromSeconds(value)
1770 return float(value)
1838 def isNullPointer(value):
1839 return isinstance(value, NullSimObject)
2042 def __setitem__(self, key, value):
2045 self[key].connect(value)