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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? topo-gen.tcl

?? 跑leach需要的
?? TCL
?? 第 1 頁 / 共 2 頁
字號:
# Created May 98 by Ahmed Helmy; updated June 98
# topology generator class
Class TGproc usage { } {	puts stderr {usage: topology [options]where options are given as: -key valueexample options:-outfile mytopo -type random -nodes 50 -method pure-random"topology -h" help}	return#	exit 1}proc detailed-usage { } {puts {usage: topology [-<key 1> <value 1> -<key 2> <value 2> -<key n> <value n>]example options: -generator itm -outfile myfile -type random -nodes 20 -connection_prob 0.6 keys and corresponding values:-generator  possible value: itm (default) [the georgia tech topology generator]  [note: you need to invoke itm and sgb2ns, e.g. by setting your path]-outfile [the output file that will contain the ns script describing the	  generated topology. This must be given.]-type  possible values: random (default), transit_stub-seed  possible values: integer (default = random [uses ns-random])
-nodes [the number of nodes in the topology; used with `-type random']  possible values: integer (default = 50 with random, 100 with   transit-stub)-scale [used by itm to place nodes in topologies] (default = nodes)-method [the node connection/linking method; used with `-type random']  possible values: waxman1, waxman2, pure-random, doar-leslie, exponential,                    and  locality (default = pure-random)-connection_prob [the connection probability between nodes; used in        all methods] [this sometimes is called `alpha']  possible values: 0.0 <= connection_prob <= 1.0 (default = 0.5)-beta [used only with waxman1, waxman2, doar-leslie and locality]  possible values: 0.0 <= beta (default = 0.5)-gamma [used only with doar-leslie and locality]  possible values: 0.0 <= gamma (default = 0.5)  }}proc itm-random-help { } {	puts {Comment from ITM, on edge connection methods:   1. Edge is placed between two nodes by a probabilistic method, which      is determined by the "method" parameter.  Edge is placed with      probability p, where p is calculated by one of the methods below,      using:        alpha, beta, gamma: input parameters,        L is scale * sqrt(2.0): the max distance between two points,        d: the Euclidean distance between two nodes.        e: a random number uniformly distributed in [0,L]       Method 1: (Waxman's RG2, with alpha,beta)           p = alpha * exp(-e/L*beta)      Method 2: (Waxmans's RG1, with alpha,beta)           p = alpha * exp(-d/L*beta)      Method 3: (Pure random graph)           p = alpha      Method 4: ("EXP" - another distance varying function)           p = alpha * exp(-d/(L-d))      Method 5: (Doar-Leslie, with alpha,beta, gamma)           p = (gamma/n) * alpha * exp(-d/(L*beta))      Method 6: (Locality with two regions)           p = alpha     if d <= L*gamma,           p = beta      if d > L*gamma    2. Constraints        0.0 <=  alpha  <= 1.0  [alpha is a probability]        0.0 <= beta            [beta is nonnegative]        0.0 <= gamma           [gamma is nonnegative]        n <  scale*scale       [enough room for nodes]  }}proc itm-transit-stub-help { } {	puts {Parameters for transit_stub topology by itm:-stubs_per_transit [number of stubs per transit node] (default = 3)-ts_extra_edges [number of extra transit-stub edges] (default = 0)-ss_extra_edges [number of extra stub-stub edges] (default = 0) -transit_domains [number of transit domains] (default = 1)-domains_scale [top level scale used by ITM] (default = 20)* Connectivity of domains [similar to the random topology parameters]-domains_method (default = pure-random)-domains_connection_prob (default = 1.0) [fully connected]-domains_beta (default = 0.5)-domains_gamma (default = 0.5)
* Connectivity of transit nodes:
-transit_nodes (default = 4)
-transit_scale (default = 20)
-transit_method (default = pure-random)
-transit_connection_prob (default = 0.6)
-transit_beta (default = 0.5)
-transit_gamma (default = 0.5)

* Connectivity of stub nodes:
-stub_nodes (default = 8)
-stub_method (default = pure-random)
-stub_connection_prob (default = 0.4)
-stub_beta (default = 0.5)
-stub_gamma (default = 0.5)

* Total number of nodes is computed as follows:      
 nodes=transit_domains * transit_nodes * (1 + stubs_per_transit * stub_nodes)

 for example, for the above default settings we get:
        1 * 4 ( 1 + 3 * 8 ) = 100 nodes
  }

}

proc help-on-help { } {
	puts {Help available for random, transit stub, and edge connection method.

Help usage "topology -h <i>" 
where: 
<i> = 1 for random, 2 for transit stub, and 3 for edge connection method.
  }
}

proc help { x } {
	switch $x {
		1 { detailed-usage }
		2 { itm-transit-stub-help }
		3 { itm-random-help }
		default { puts "invalid help option"; help-on-help } 
	}
}

proc topology { args } {
	set len [llength $args]

	if $len {
	    set key [lindex $args 0]
            if {$key == "-?" || $key == "--help" || $key == "-help" \
			|| $key == "-h" } {
				if { [set arg2 [lindex $args 1]] == "" } {
					usage
					help-on-help
				} else {
                        	help $arg2
				}
			return
                }
	}

        if [expr $len % 2] {
                # if number is odd => error !
                puts "fewer number of arguments than needed in \"$args\""
                usage
		return
        }

        # default topology generator
        set generator itm

        if { $args != "" && [lindex $args 0] == "-generator" } {
		set generator [lindex $args 1]
		set args [lreplace $args 0 1]
	}

	# check if the generator type exists
	if [catch {set tg [TG/$generator info instances]}] {
		puts "unknown generator type $generator"
		usage
		return
	}
	if { $tg == "" } {
		set tg [new TG/$generator]
	}
	if ![llength $args] {
		$tg create
	} else {
		$tg create $args
	}
	ScenGen setTG $tg
}

Class TG/itm -superclass TG

TG/itm instproc init { } {
	$self next
}

TG/itm instproc default_options { } {
	# default set may not be complete for now.. !XXX
	$self instvar opt_info

	set opt_info {
		# init file to -1, must be supplied by input
		outfile -1

		# number of graphs and seed
		# flat random
		type random

		# number should not be changed by input... should be left 
		# as 1, and a tcl loop may create multiple graphs... left it as 
		# place holder in case this may change later.. !
		number 1
		# seed is randomized later if not entered as input
		seed -1

		nodes 50
		# if not entered assign to nodes later 
		scale -1 
		
		method pure-random
		connection_prob 0.5

		beta 0.5
		gamma 0.5

		# defaults for transit stub
	# total number of nodes is:
	# transit_domains * transit_nodes * (1 + stubs_per_transit * stub_nodes)
	# 1 * 4 ( 1 + 3 * 8 ) = 100 nodes
		stubs_per_transit 3
		ts_extra_edges 0
		ss_extra_edges 0

		transit_domains 1
		domains_scale 20
		domains_method pure-random
		domains_connection_prob 1.0
		domains_beta 0.5
		domains_gamma 0.5

		transit_nodes 4
		transit_scale 20
		transit_method pure-random
		transit_connection_prob 0.6
		transit_beta 0.5
		transit_gamma 0.5

		stub_nodes 8
		# the stub scale is ignored by ITM, is computed as fraction
		# of the transit scale... see proc comment below !
		stub_scale 10
		stub_method pure-random
		stub_connection_prob 0.4
		stub_beta 0.5
		stub_gamma 0.5

		# for N level hierarchy
		# assume all levels use same vars
		levels 3
		level_nodes 10
		level_scale 10
		level_method waxman1
		level_connection_prob 0.7
		level_beta 0.2
		level_gamma 0.5
	}
	$self parse_opts
}
	
TG instproc parse_opts { } {
	$self instvar opts opt_info

	while { $opt_info != ""} {
		# parse line by line
                if {![regexp "^\[^\n\]*\n" $opt_info line]} {
                        break  
                }
		# remove the parsed line
                regsub "^\[^\n\]*\n" $opt_info {} opt_info
		# remove leading spaces and tabs using trim
                set line [string trim $line]
		# skip comment lines beginning with #
                if {[regexp "^\[ \t\]*#" $line]} {
                        continue
                }
		# skip empty lines
                if {$line == ""} {
                        continue
                } elseif [regexp {^([^ ]+)[ ]+([^ ]+)$} $line dummy key value] {
                        set opts($key) $value
                } 
	}
}

TG instproc parse_input { args } {
	# remove the list brackets from the args list
        set args [lindex $args 0]
        set len [llength $args]

	$self instvar opts

	for { set i 0 } { $i < $len } { incr i } {
		set key [lindex $args $i]
		regsub {^-} $key {} key
                if {![info exists opts($key)]} {
			puts stderr "unrecognized option $key"
			usage
			return -1
		}
		incr i
		# puts "changing $key from $opts($key) to [lindex $args $i]"
		set opts($key) [lindex $args $i]
	}
	# puts "end of parsing... "
	return 0
}

TG instproc create { args } {
        # remove the list brackets from the args list
        set args [lindex $args 0]
        set len [llength $args]
        # puts "calling create with args $args, len $len"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美二区三区| 亚洲综合在线电影| 狠狠色丁香婷综合久久| 51久久夜色精品国产麻豆| 亚洲国产综合色| 欧美专区在线观看一区| 一个色妞综合视频在线观看| 欧美日韩欧美一区二区| 免费亚洲电影在线| wwww国产精品欧美| 粗大黑人巨茎大战欧美成人| 国产亚洲欧美日韩俺去了| 成人国产精品视频| 亚洲综合久久久| 91精品国产乱码久久蜜臀| 日韩精品一二三四| 久久蜜臀精品av| 91香蕉视频在线| 天天爽夜夜爽夜夜爽精品视频| 欧美日韩国产在线播放网站| 韩日精品视频一区| 中文字幕一区二区三区精华液| 欧美专区日韩专区| 精品一区二区三区免费毛片爱| 亚洲国产高清aⅴ视频| 欧洲一区在线观看| 蜜臀久久久久久久| 国产精品久久久久久久岛一牛影视 | 欧美成人高清电影在线| 国产 欧美在线| 一区二区欧美精品| 久久影院视频免费| 在线观看一区二区精品视频| 国产主播一区二区| 一区二区三区久久久| 欧美精品一区二区不卡| 不卡在线视频中文字幕| 免费在线看成人av| 亚洲欧美日韩在线| 欧美精品一区视频| 欧美少妇xxx| 国产91精品入口| 日韩精品成人一区二区三区| 国产精品视频观看| 日韩精品中文字幕在线一区| 99国内精品久久| 精品亚洲aⅴ乱码一区二区三区| 亚洲免费在线看| 久久―日本道色综合久久| 欧美怡红院视频| 成人激情动漫在线观看| 日本不卡一区二区| 亚洲日本电影在线| 久久久久久免费| 日韩一区国产二区欧美三区| 在线视频观看一区| 不卡的电影网站| 免费久久99精品国产| 亚洲国产欧美日韩另类综合| 国产精品视频yy9299一区| 久久久五月婷婷| 国产乱人伦偷精品视频不卡| 亚洲精品一区二区三区四区高清 | 北岛玲一区二区三区四区| 国产成人综合视频| 国产毛片精品国产一区二区三区| 香蕉影视欧美成人| 久久美女艺术照精彩视频福利播放| 成人综合激情网| 天天av天天翘天天综合网色鬼国产| 免费av网站大全久久| 精品一二线国产| 一区二区久久久| 国产婷婷色一区二区三区在线| 国产精品久久777777| 日韩欧美国产系列| 91行情网站电视在线观看高清版| 裸体健美xxxx欧美裸体表演| 欧美不卡视频一区| 欧美成人伊人久久综合网| 在线观看亚洲精品| 91亚洲国产成人精品一区二三| 国产精品综合二区| 久久精品国产一区二区| 视频一区在线视频| 天天色天天操综合| 久久精品久久综合| 奇米色一区二区三区四区| 亚洲影院久久精品| 亚洲小少妇裸体bbw| 亚洲欧美色图小说| 国产精品福利电影一区二区三区四区 | 高清国产一区二区| 国产一区二区调教| 激情文学综合丁香| 极品少妇一区二区| 国产精品亚洲第一| 国产一区二区精品久久99| 国内精品伊人久久久久av影院 | 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲综合精品久久| 亚洲一二三四久久| 国产精品视频麻豆| 亚洲人成网站色在线观看| 亚洲天堂2014| 亚洲精品免费视频| 亚洲高清一区二区三区| 日韩精品1区2区3区| 亚洲风情在线资源站| 精品在线视频一区| 国产69精品一区二区亚洲孕妇| 国产精品亚洲人在线观看| 91亚洲精品一区二区乱码| 在线观看一区二区精品视频| 欧美日精品一区视频| 欧美日韩精品电影| 国产电影精品久久禁18| 91蜜桃传媒精品久久久一区二区| 日韩免费观看高清完整版| 91精品中文字幕一区二区三区| 精品国产99国产精品| 中文字幕精品综合| 亚洲综合精品久久| 秋霞电影网一区二区| 国产成人在线网站| 在线视频中文字幕一区二区| 色中色一区二区| 欧美大片在线观看一区二区| 国产精品人人做人人爽人人添| 亚洲日本va午夜在线电影| 亚洲国产精品久久久久秋霞影院| 麻豆精品视频在线观看免费| 国产精品一色哟哟哟| 91视频你懂的| 欧美成人aa大片| 亚洲日本在线看| 麻豆国产精品官网| 成人18视频日本| 亚洲激情校园春色| 日本美女视频一区二区| 蜜桃视频免费观看一区| 狠狠色狠狠色综合系列| 有码一区二区三区| 国产精品沙发午睡系列990531| 亚洲美女视频在线观看| 国产在线看一区| 亚洲精品视频免费看| 成人精品小蝌蚪| 亚洲老妇xxxxxx| 欧美中文字幕一二三区视频| 亚洲国产一区二区在线播放| 色天使色偷偷av一区二区| 国产精品久久久久久久久免费樱桃| 欧美激情一区二区三区不卡| 午夜视频一区二区三区| 成人国产亚洲欧美成人综合网 | 国产精品综合二区| 日韩一区和二区| 欧美一级爆毛片| 亚洲成a天堂v人片| 色婷婷精品大在线视频| 国产欧美精品区一区二区三区 | 久久精品视频免费| 男男视频亚洲欧美| 91精品国产综合久久福利软件| 中文字幕一区二区三区不卡在线 | 国产一区 二区 三区一级| 欧美午夜精品理论片a级按摩| 最新中文字幕一区二区三区| 美女任你摸久久 | 国产精品高潮久久久久无| 毛片基地黄久久久久久天堂| 欧美一区二区黄色| 亚洲一区影音先锋| 欧美影院一区二区三区| 亚洲美女区一区| 欧美视频中文字幕| 亚洲精品精品亚洲| 欧美日韩一级片在线观看| 亚洲欧洲三级电影| 95精品视频在线| 亚洲色图欧美激情| 色8久久人人97超碰香蕉987| 亚洲欧洲一区二区在线播放| 国产+成+人+亚洲欧洲自线| 国产婷婷色一区二区三区四区| 国产资源精品在线观看| 欧美亚洲一区二区三区四区| 中文字幕不卡在线观看| 蜜桃久久久久久久| 欧美一级精品在线| 久久精品二区亚洲w码| 日韩精品在线网站| 天天影视色香欲综合网老头| 美国三级日本三级久久99| 国产69精品久久99不卡| 色综合久久久久久久久久久| 成人中文字幕合集| av中文字幕一区| 国产精品一区二区黑丝|