rng-test.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #
  2. # Usage: ns rng-test.tcl [replication number]
  3. #
  4. if {$argc > 1} {
  5.     puts "Usage: ns rng-test.tcl [replication number]"
  6.     exit
  7. }
  8. set run 1
  9. if {$argc == 1} {
  10.     set run [lindex $argv 0]
  11. }
  12. if {$run < 1} {
  13.     set run 1
  14. }
  15. # seed the default RNG
  16. global defaultRNG
  17. $defaultRNG seed 9999
  18. # create the RNGs and set them to the correct substream
  19. set arrivalRNG [new RNG]
  20. set sizeRNG [new RNG]
  21. for {set j 1} {$j < $run} {incr j} {
  22.     $arrivalRNG next-substream
  23.     $sizeRNG next-substream
  24. }
  25. # arrival_ is a exponential random variable describing the time between
  26. # consecutive packet arrivals
  27. set arrival_ [new RandomVariable/Exponential]
  28. $arrival_ set avg_ 5
  29. $arrival_ use-rng $arrivalRNG
  30. # size_ is a uniform random variable describing packet sizes
  31. set size_ [new RandomVariable/Uniform]
  32. $size_ set min_ 100
  33. $size_ set max_ 5000
  34. $size_ use-rng $sizeRNG
  35. # print the first 5 arrival times and sizes
  36. for {set j 0} {$j < 5} {incr j} {
  37.     puts [format "%-8.3f  %-4d" [$arrival_ value] 
  38.     [expr round([$size_ value])]]
  39. }