亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? config.py

?? linux下基于c++的處理器仿真平臺。具有處理器流水線
?? PY
?? 第 1 頁 / 共 5 頁
字號:
class Int(CheckedInt):      size = 32; unsigned = Falseclass Unsigned(CheckedInt): size = 32; unsigned = Trueclass Int8(CheckedInt):     size =  8; unsigned = Falseclass UInt8(CheckedInt):    size =  8; unsigned = Trueclass Int16(CheckedInt):    size = 16; unsigned = Falseclass UInt16(CheckedInt):   size = 16; unsigned = Trueclass Int32(CheckedInt):    size = 32; unsigned = Falseclass UInt32(CheckedInt):   size = 32; unsigned = Trueclass Int64(CheckedInt):    size = 64; unsigned = Falseclass UInt64(CheckedInt):   size = 64; unsigned = Trueclass Counter(CheckedInt):  size = 64; unsigned = Trueclass Tick(CheckedInt):     size = 64; unsigned = Trueclass TcpPort(CheckedInt):  size = 16; unsigned = Trueclass UdpPort(CheckedInt):  size = 16; unsigned = Trueclass Percent(CheckedInt):  min = 0; max = 100class Float(ParamValue, float):    passclass MemorySize(CheckedInt):    size = 64    unsigned = True    def __new__(cls, value):        return super(MemorySize, cls).__new__(cls, toMemorySize(value))class Addr(CheckedInt):    size = 64    unsigned = True    def __new__(cls, value):        try:            value = long(toMemorySize(value))        except TypeError:            value = long(value)        return super(Addr, cls).__new__(cls, value)class AddrRange(Range):    type = Addr# String-valued parameter.  Just mixin the ParamValue class# with the built-in str class.class String(ParamValue,str):    pass# Boolean parameter type.  Python doesn't let you subclass bool, since# it doesn't want to let you create multiple instances of True and# False.  Thus this is a little more complicated than String.class Bool(ParamValue):    def __init__(self, value):        try:            self.value = toBool(value)        except TypeError:            self.value = bool(value)    def __str__(self):        return str(self.value)    def ini_str(self):        if self.value:            return 'true'        return 'false'def IncEthernetAddr(addr, val = 1):    bytes = map(lambda x: int(x, 16), addr.split(':'))    bytes[5] += val    for i in (5, 4, 3, 2, 1):        val,rem = divmod(bytes[i], 256)        bytes[i] = rem        if val == 0:            break        bytes[i - 1] += val    assert(bytes[0] <= 255)    return ':'.join(map(lambda x: '%02x' % x, bytes))class NextEthernetAddr(object):    addr = "00:90:00:00:00:01"    def __init__(self, inc = 1):        self.value = NextEthernetAddr.addr        NextEthernetAddr.addr = IncEthernetAddr(NextEthernetAddr.addr, inc)class EthernetAddr(ParamValue):    def __init__(self, value):        if value == NextEthernetAddr:            self.value = value            return        if not isinstance(value, str):            raise TypeError, "expected an ethernet address and didn't get one"        bytes = value.split(':')        if len(bytes) != 6:            raise TypeError, 'invalid ethernet address %s' % value        for byte in bytes:            if not 0 <= int(byte) <= 256:                raise TypeError, 'invalid ethernet address %s' % value        self.value = value    def unproxy(self, base):        if self.value == NextEthernetAddr:            self.addr = self.value().value        return self    def __str__(self):        if self.value == NextEthernetAddr:            return self.addr        else:            return self.value# Special class for NULL pointers.  Note the special check in# make_param_value() above that lets these be assigned where a# SimObject is required.# only one copy of a particular nodeclass NullSimObject(object):    __metaclass__ = Singleton    def __call__(cls):        return cls    def _instantiate(self, parent = None, path = ''):        pass        def ini_str(self):        return 'Null'    def unproxy(self, base):        return self        def set_path(self, parent, name):        pass     def __str__(self):        return 'Null'# The only instance you'll ever need...Null = NULL = NullSimObject()# Enumerated types are a little more complex.  The user specifies the# type as Enum(foo) where foo is either a list or dictionary of# alternatives (typically strings, but not necessarily so).  (In the# long run, the integer value of the parameter will be the list index# or the corresponding dictionary value.  For now, since we only check# that the alternative is valid and then spit it into a .ini file,# there's not much point in using the dictionary.)# What Enum() must do is generate a new type encapsulating the# provided list/dictionary so that specific values of the parameter# can be instances of that type.  We define two hidden internal# classes (_ListEnum and _DictEnum) to serve as base classes, then# derive the new type from the appropriate base class on the fly.# Metaclass for Enum typesclass MetaEnum(type):    def __init__(cls, name, bases, init_dict):        if init_dict.has_key('map'):            if not isinstance(cls.map, dict):                raise TypeError, "Enum-derived class attribute 'map' " \\                      "must be of type dict"            # build list of value strings from map            cls.vals = cls.map.keys()            cls.vals.sort()        elif init_dict.has_key('vals'):            if not isinstance(cls.vals, list):                raise TypeError, "Enum-derived class attribute 'vals' " \\                      "must be of type list"            # build string->value map from vals sequence            cls.map = {}            for idx,val in enumerate(cls.vals):                cls.map[val] = idx        else:            raise TypeError, "Enum-derived class must define "\\                  "attribute 'map' or 'vals'"        super(MetaEnum, cls).__init__(name, bases, init_dict)    def cpp_declare(cls):        s = 'enum %s {\\n    ' % cls.__name__        s += ',\\n    '.join(['%s = %d' % (v,cls.map[v]) for v in cls.vals])        s += '\\n};\\n'        return s# Base class for enum types.class Enum(ParamValue):    __metaclass__ = MetaEnum    vals = []    def __init__(self, value):        if value not in self.map:            raise TypeError, "Enum param got bad value '%s' (not in %s)" \\                  % (value, self.vals)        self.value = value    def __str__(self):        return self.valueticks_per_sec = None# how big does a rounding error need to be before we warn about it?frequency_tolerance = 0.001  # 0.1%# convert a floting-point # of ticks to integer, and warn if rounding# discards too much precisiondef tick_check(float_ticks):    if float_ticks == 0:        return 0    int_ticks = int(round(float_ticks))    err = (float_ticks - int_ticks) / float_ticks    if err > frequency_tolerance:        print >> sys.stderr, "Warning: rounding error > tolerance"        print >> sys.stderr, "    %f rounded to %d" % (float_ticks, int_ticks)        #raise ValueError    return int_ticks# superclass for "numeric" parameter values, to emulate math# operations in a type-safe way.  e.g., a Latency times an int returns# a new Latency object.class NumericParamValue(ParamValue):    def __str__(self):        return str(self.value)    def __float__(self):        return float(self.value)    def __mul__(self, other):        newobj = self.__class__(self)        newobj.value *= other        return newobj    __rmul__ = __mul__    def __div__(self, other):        newobj = self.__class__(self)        newobj.value /= other        return newobjdef getLatency(value):    if isinstance(value, Latency) or isinstance(value, Clock):        return value.value    elif isinstance(value, Frequency) or isinstance(value, RootClock):        return 1 / value.value    elif isinstance(value, str):        try:            return toLatency(value)        except ValueError:            try:                return 1 / toFrequency(value)            except ValueError:                pass # fall through    raise ValueError, "Invalid Frequency/Latency value '%s'" % valueclass Latency(NumericParamValue):    def __init__(self, value):        self.value = getLatency(value)    def __getattr__(self, attr):        if attr in ('latency', 'period'):            return self        if attr == 'frequency':            return Frequency(self)        raise AttributeError, "Latency object has no attribute '%s'" % attr    # convert latency to ticks    def ini_str(self):        return str(tick_check(self.value * ticks_per_sec))class Frequency(NumericParamValue):    def __init__(self, value):        self.value = 1 / getLatency(value)    def __getattr__(self, attr):        if attr == 'frequency':            return self        if attr in ('latency', 'period'):            return Latency(self)        raise AttributeError, "Frequency object has no attribute '%s'" % attr    # convert frequency to ticks per period    def ini_str(self):        return self.period.ini_str()# Just like Frequency, except ini_str() is absolute # of ticks per sec (Hz).# We can't inherit from Frequency because we don't want it to be directly# assignable to a regular Frequency parameter.class RootClock(ParamValue):    def __init__(self, value):        self.value = 1 / getLatency(value)    def __getattr__(self, attr):        if attr == 'frequency':            return Frequency(self)        if attr in ('latency', 'period'):            return Latency(self)        raise AttributeError, "Frequency object has no attribute '%s'" % attr    def ini_str(self):        return str(tick_check(self.value))# A generic frequency and/or Latency value.  Value is stored as a latency,# but to avoid ambiguity this object does not support numeric ops (* or /).# An explicit conversion to a Latency or Frequency must be made first.class Clock(ParamValue):    def __init__(self, value):        self.value = getLatency(value)    def __getattr__(self, attr):        if attr == 'frequency':            return Frequency(self)        if attr in ('latency', 'period'):            return Latency(self)        raise AttributeError, "Frequency object has no attribute '%s'" % attr    def ini_str(self):        return self.period.ini_str()class NetworkBandwidth(float,ParamValue):    def __new__(cls, value):        val = toNetworkBandwidth(value) / 8.0        return super(cls, NetworkBandwidth).__new__(cls, val)    def __str__(self):        return str(self.val)    def ini_str(self):        return '%f' % (ticks_per_sec / float(self))class MemoryBandwidth(float,ParamValue):    def __new__(self, value):        val = toMemoryBandwidth(value)        return super(cls, MemoryBandwidth).__new__(cls, val)    def __str__(self):        return str(self.val)    def ini_str(self):        return '%f' % (ticks_per_sec / float(self))## "Constants"... handy aliases for various values.## Some memory range specifications use this as a default upper bound.MaxAddr = Addr.maxMaxTick = Tick.maxAllMemory = AddrRange(0, MaxAddr)###################################################################### The final hook to generate .ini files.  Called from configuration# script once config is built.def instantiate(root):    global ticks_per_sec    ticks_per_sec = float(root.clock.frequency)    root.print_ini()    noDot = True # temporary until we fix dot    if not noDot:       dot = pydot.Dot()       instance.outputDot(dot)       dot.orientation = "portrait"       dot.size = "8.5,11"       dot.ranksep="equally"       dot.rank="samerank"       dot.write("config.dot")       dot.write_ps("config.ps")# __all__ defines the list of symbols that get exported when# 'from config import *' is invoked.  Try to keep this reasonably# short to avoid polluting other namespaces.__all__ = ['SimObject', 'ParamContext', 'Param', 'VectorParam',           'Parent', 'Self',           'Enum', 'Bool', 'String', 'Float',           'Int', 'Unsigned', 'Int8', 'UInt8', 'Int16', 'UInt16',           'Int32', 'UInt32', 'Int64', 'UInt64',           'Counter', 'Addr', 'Tick', 'Percent',           'TcpPort', 'UdpPort', 'EthernetAddr',           'MemorySize', 'Latency', 'Frequency', 'RootClock', 'Clock',           'Ne

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情深爱一区二区| 国产日韩v精品一区二区| 日韩欧美一区二区久久婷婷| 国产欧美一区二区精品秋霞影院| 亚洲va国产天堂va久久en| 国产99久久久精品| 日韩美女在线视频| 亚洲aⅴ怡春院| 在线免费观看成人短视频| 中文字幕免费一区| 国产成人综合亚洲91猫咪| 欧美一区二区大片| 亚洲高清免费观看高清完整版在线观看| 国产黄色精品视频| 久久久久久99精品| 精品一区免费av| 91精品国产手机| 香蕉av福利精品导航| 欧美在线观看一区| 亚洲男人都懂的| 91在线免费播放| 亚洲视频一区在线| 99热精品国产| 亚洲免费伊人电影| 91蝌蚪porny成人天涯| 国产精品视频一区二区三区不卡| 国产精品一区二区在线观看网站| 欧美成人a在线| 韩国精品主播一区二区在线观看 | 久久国产精品第一页| 91搞黄在线观看| 伊人婷婷欧美激情| 色综合中文综合网| 日韩电影在线看| 欧美一级专区免费大片| 久久狠狠亚洲综合| 精品福利一区二区三区| 国产在线视视频有精品| 国产亚洲一区字幕| 99久久久国产精品免费蜜臀| 最新久久zyz资源站| 色系网站成人免费| 午夜精品福利一区二区三区av | 欧美国产一区在线| 99精品一区二区三区| 亚洲一级二级在线| 555夜色666亚洲国产免| 精品一区二区三区欧美| 亚洲国产精品精华液ab| 一本色道久久加勒比精品| 亚洲成人激情综合网| 日韩免费观看高清完整版| 国产精品99久久久| 亚洲美女偷拍久久| 日韩欧美中文一区二区| 国产美女娇喘av呻吟久久| 亚洲欧美一区二区不卡| 777色狠狠一区二区三区| 国产经典欧美精品| 一区二区三区欧美日韩| 精品伦理精品一区| 一本到不卡精品视频在线观看| 亚洲成人免费在线观看| 久久久久成人黄色影片| 欧美色手机在线观看| 91久久国产最好的精华液| 三级欧美韩日大片在线看| 久久人人爽爽爽人久久久| 在线观看不卡视频| 国产综合色精品一区二区三区| 国产精品美女久久久久高潮| 欧美精品第1页| 国产精品1024久久| 日韩国产一二三区| 一色屋精品亚洲香蕉网站| 日韩一区二区电影网| 99re在线精品| 国产在线播放一区三区四| 亚洲韩国精品一区| 国产精品成人在线观看| 日韩精品一区二区三区中文精品| 99re视频精品| 国产一区二区在线看| 日韩精品色哟哟| 国产精品久久久久久久久晋中| 日韩精品一区在线观看| 欧美亚洲日本一区| 99riav久久精品riav| 国产毛片精品国产一区二区三区| 亚洲成av人影院| 成人免费在线播放视频| 久久天天做天天爱综合色| 91精品国产欧美日韩| 欧美色网一区二区| 日本高清不卡在线观看| av不卡一区二区三区| 韩国三级在线一区| 精品一区二区三区香蕉蜜桃 | 亚洲精选免费视频| 欧美激情中文字幕| 精品久久久久久久人人人人传媒| 在线日韩一区二区| 欧美在线你懂得| 日本高清成人免费播放| 色综合天天综合网国产成人综合天| 国产麻豆精品在线| 国产精品一区2区| 国产精品白丝av| 国产乱子伦视频一区二区三区| 紧缚捆绑精品一区二区| 久久99这里只有精品| 精品亚洲成a人在线观看| 美女视频黄频大全不卡视频在线播放| 首页综合国产亚洲丝袜| 天天色天天操综合| 久久精品99国产精品| 韩国女主播一区二区三区| 国产一区二区在线观看免费| 国产在线视频精品一区| 岛国精品在线观看| 成人av网站大全| 色欧美乱欧美15图片| 欧洲一区二区三区免费视频| 欧美在线视频你懂得| 欧美日韩在线精品一区二区三区激情| 欧美视频在线一区二区三区| 欧美日本不卡视频| 欧美变态tickling挠脚心| 国产亚洲成年网址在线观看| 国产精品色一区二区三区| 亚洲女人****多毛耸耸8| 午夜欧美2019年伦理| 激情综合网最新| kk眼镜猥琐国模调教系列一区二区| 99久久免费精品高清特色大片| 欧美亚洲另类激情小说| 日韩欧美中文字幕精品| 国产精品九色蝌蚪自拍| 亚洲午夜视频在线观看| 久久成人免费日本黄色| 国产·精品毛片| 欧美性videosxxxxx| 欧美va亚洲va在线观看蝴蝶网| 国产精品美女久久久久久| 亚洲伊人伊色伊影伊综合网| 蜜臀a∨国产成人精品| 国产91丝袜在线观看| 欧美日韩国产首页| 国产午夜亚洲精品不卡 | 中文av一区特黄| 亚洲一区二区三区在线播放| 精品在线一区二区| 91黄色激情网站| 精品国产99国产精品| 亚洲自拍偷拍av| 国产精品123| 欧美一级夜夜爽| 亚洲欧美韩国综合色| 国产在线精品免费| 欧美日韩一卡二卡| 中文字幕免费不卡在线| 日韩高清在线电影| 色婷婷久久综合| 国产欧美中文在线| 裸体一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 精品国产免费视频| 午夜欧美大尺度福利影院在线看| 国产成人免费视频网站| 制服丝袜亚洲网站| 亚洲精品国产一区二区三区四区在线| 久久爱www久久做| 欧美日韩一区二区不卡| 亚洲三级电影网站| 成人国产一区二区三区精品| 精品欧美黑人一区二区三区| 亚洲成年人网站在线观看| 91丨九色丨蝌蚪丨老版| 国产欧美日本一区二区三区| 久久丁香综合五月国产三级网站| 91久久精品国产91性色tv| 国产精品久久久99| 丁香婷婷综合色啪| 久久久久99精品国产片| 久久av老司机精品网站导航| 91精品国产91久久久久久最新毛片 | 自拍偷拍亚洲综合| 国产.欧美.日韩| 久久精品视频网| 精品一区二区三区欧美| 欧美成人精品二区三区99精品| 亚洲1区2区3区4区| 欧美日韩视频在线第一区| 亚洲国产日韩av| 欧美三级一区二区| 天堂午夜影视日韩欧美一区二区| 欧美三级中文字幕在线观看| 一区二区在线电影| 欧美色区777第一页| 亚洲成av人**亚洲成av**|