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

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

?? self-similar.cc

?? obs網(wǎng)絡(luò)試驗(yàn)平臺(tái)
?? CC
字號(hào):
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>#include "ranv2.h"#include "ranvar.h"#include "rng.h"#include "debug.h"const double Y_ALPHA = 3.10;  /* 0.999 quantile of normal distribution */const double HPD = 1.2564708; /* number of poles (and zeros) per decade for flicker filter ( = 1/log10(2.5^2) ); agrees with Barnes, Jarvis, and Greenhall */void init_flick (int n, double h, double *a, double *b, double gamma);void flicker (int N, double *y, double *y_old, double *a, double *b);/* Implement a Self-Similar traffic source.  The batch arrival * time process is self-similar with Hurst Exponenet H and * specified mean arrival rate.  The times * between batches are Gamma Distributed (and correlated, in * accordance with H).  The batch size process is self-similar, * with Hurst Exponenet (not necessarily the same as the Hurst * Exponent for the arrival times).  The batch size distribution * is negative binomial. */class SelfSimilar_Traffic : public TrafficGenerator { public:	SelfSimilar_Traffic();	~SelfSimilar_Traffic();	virtual double next_interval(int&);	double next_batch_size();        virtual void timeout();	double avg_rate_;     /* mean arrival rate of traffic batchs */        double sdt_;  /* std deviation of time between batches */        double avg_batch_size_; /* mean batch size */        int sb_;  /* neg binomial distribution variance parameter (number of convolved geometric distributions) */        double Ht_;  /* Hurst Exponent for batch arrival process */        double Hb_;  /* Hurst Exponent for batch size */        double starttime_; /* time (s) that this self-similar traffic source is turned on */        double stoptime_; /* time (s) that this self-similar traffic source is turned off */ protected:        void init();        GammaRandomVariable interval_; /* batch inter-arrival time (sec) */        NegBinomRandomVariable batch_size_; /* average batch size (bytes)*/ private:        int Nt;  /* order of flicker filters */        int nt;  /* number of decades the flicker filters will simulate */        /* Note:  both the batch arrival and batch size flicker filters have the same order, because this is based on the total number of batches produced */        /* arrival process parameters and states */        double ht;  /* number of poles per decade for arrival process flicker filter (may be a fraction) */        double *at;  /* pointer to array of poles for arrival process flicker filter */        double *bt;  /* pointer to array of zeros for arrival process flicker filter */        double gamt;  /* power spectral density noise exponent for arrival process flicker filter */        double gamt0;  /* equals gamt for 0 <= gamt < 2.0; else gamt - 2.0; for gamt > 2, we run the flicker filter for gamt0 and then integrate */        double *xt;  /* pointer to current state vector array plus white noise input in element zero (array size = Nt+1)*/        double *xt_old;  /* pointer to state vector array plus white noise input in element zero at previous iteration (array size = Nt+1)*/        double yt;  /* current flicker noise value for arrival time process */        double yt_old;  /* previous iteration flicker noise value for arrival time process */        /* batch size process parameters and states */        double hb;  /* number of poles per decade for batch size process flicker filter (may be a fraction) */        double *ab;  /* pointer to array of poles for batch size process flicker filter */        double *bb;  /* pointer to array of zeros for batch size process flicker filter */        double gamb;  /* power spectral density noise exponent for batch size process flicker filter */        double gamb0;  /* equals gamb for 0 <= gamb < 2.0; else gamb - 2.0; for gamb > 2, we run the flicker filter for gamb0 and then integrate */        double *xb;  /* pointer to current state vector array plus white noise input in element zero (array size = Nt+1)*/        double *xb_old;  /* pointer to state vector array plus white noise input in element zero at previous iteration (array size = Nt+1)*/        double yb;  /* current flicker noise value for batch size process */        double yb_old;  /* previous iteration flicker noise value for batch size process */};static class SelfSimilarTrafficClass : public TclClass { public:	SelfSimilarTrafficClass() : TclClass("Application/Traffic/SelfSimilar") {}	TclObject* create(int, const char*const*) {		return (new SelfSimilar_Traffic());	}} class_selfsimilar_traffic;SelfSimilar_Traffic::SelfSimilar_Traffic() : interval_(0.0, 0.0), batch_size_(0.0, 0){     double alphat, betat;     double tot_time;     int nd0;     double msr;     char s[250];     bind_bw("rate", &avg_rate_);     bind_bw("std_dev_inter_batch_time", &sdt_);     bind("batchsize", &avg_batch_size_);     bind("sb", &sb_);     bind("Ht", &Ht_);     bind("Hb", &Hb_);     bind("starttime", &starttime_);     bind("stoptime", &stoptime_);     msr = 1.0/(avg_rate_ * sdt_);     if (msr > 25.0)     {        sprintf (s, "Error -- ratio of mean to std dev for self-similar process exceeds 25; it would be better to use a CBR traffic model");        Debug::debug(s);        sprintf (s, "avg_rate = %f   mean interarrival time = %f   std dev interarrival time = %f   ratio = %f", avg_rate_, 1.0/avg_rate_, sdt_, msr);        Debug::debug(s);        exit(1);     }/* * Calculate number of decades that flicker filter must be valid * over * as 0.999 quantile of number of cells that will arrive in * simulation * time ; assume the distribution is normal (asymptotic) and * interarrival times are independent (renewal process).  These * are * approximations, as the interarrival times for a flicker process * are correlated; but note that here we are only determining the * filter order.  Also calculate number of poles and zeros (filter * stages). */     tot_time = starttime_ - stoptime_;     if (sdt_ > 0.0)     {        alphat = 1.0 / (avg_rate_ * avg_rate_ * sdt_ * sdt_);        betat = sdt_ * sdt_ * avg_rate_;        nd0 = log10 ( ceil (Y_ALPHA *                      sqrt (sdt_*sdt_*avg_rate_*avg_rate_*                           avg_rate_*tot_time) +                              avg_rate_*tot_time));        if (nd0 < 8) /* set minimum flicker filter order to 8; this                   * is what was used in previous simulations of                   * flicker noise in clocks */           nd0 = 8;        nt = nd0;     }     else     {        alphat = 0.0;        betat = 0.0;        nt = nd0 = 8;     }     Nt = ceil (nd0*HPD);/* * Allocate arrays for parameters and states for both flicker * filters */     at = new double[Nt];     bt = new double[Nt];     xt = new double[Nt+1];     xt_old = new double[Nt+1];     ab = new double[Nt];     bb = new double[Nt];     xb = new double[Nt+1];     xb_old = new double[Nt+1];/* * Initialize fractional flicker filter states and outputs to zero */     memset (xt, 0, (Nt+1)*sizeof(double) );     memset (xt_old, 0, (Nt+1)*sizeof(double) );     memset (xb, 0, (Nt+1)*sizeof(double) );     memset (xb_old, 0, (Nt+1)*sizeof(double) );     yt = yt_old = yb = yb_old = 0.0;}SelfSimilar_Traffic::~SelfSimilar_Traffic(){/* * Free arrays for parameters and states for both flicker * filters */     delete [] at;     delete [] bt;     delete [] xt;     delete [] xt_old;     delete [] ab;     delete [] bb;     delete [] xb;     delete [] xb_old;}void SelfSimilar_Traffic::init(){/* * Calculate PSD exponent for arrival and batch size processes, * from Hurst Exponents */     gamt = 2*Ht_ + 1;     if (gamt < 2.0)        gamt0 = gamt;     else        gamt0 = gamt - 2.0;     gamb = 2*Hb_ + 1;     if (gamb < 2.0)        gamb0 = gamb;     else        gamb0 = gamb - 2.0;/* * Initialize mean and std dev for Gamma and Neg Binomial random * variables */     interval_.setavg( 1.0/avg_rate_);     interval_.setstdev( sdt_);     batch_size_.setavg( avg_batch_size_);     batch_size_.setsparm( sb_);     /* * Invoke init_flick to initialized flicker filter parameters */     init_flick (nt, HPD, at, bt, gamt0);     init_flick (nt, HPD, ab, bb, gamb0);/* * Set packet type */     if (agent_)        if (agent_->get_pkttype() != PT_TCP &&                             agent_->get_pkttype() != PT_TFRC)           agent_->set_pkttype(PT_SELFSIM);}double SelfSimilar_Traffic::next_interval(int& size){     double val;     int icount0 = 1;     char s[250];     if (sdt_ > 0.0)     {        xt[0] = interval_.value() - interval_.avg();        if (gamt0 > 0.0)           flicker (Nt, xt, xt_old, at, bt);        else //white noise case (note that gamt0 < 0 is not allowed)           xt[Nt] = xt[0];        if (gamt >= 2.0) /* Integrate the noise process for                 * PSD exponent of 2 or greater (i.e., integrate                 * Gaussian noise motion to get fractional                 * Brownian motion) */           yt = yt_old + xt[Nt];        else           yt = xt[Nt];     }     else        yt = yt_old = 0.0;// Note that val is the time we add to the current time to get// the next time.  Since the filter output is the offset from// the nominal (average) time, we must add the average to get//  the next nominal time, and then subtract the previous// offset and add the current offset     val = yt - yt_old + interval_.avg();// If val <= 0, print error message; batch interarrival time must be > 0//          Then exit.     if (val <= 0.0)     {        sprintf (s, "Error - self-similar traffic model produced non-positive batch interarrival time.  Std deviation is likely too large relative to the mean interarrival time.");        Debug::debug(s);        sprintf (s, "Set stdev to <= 0.1 times mean.");        Debug::debug(s);        sprintf (s, "Ht = %f     rate = %f     mean interarriv time = %f    std dev interarr time = %f",Ht_, avg_rate_, interval_.avg(), interval_.stdev());        Debug::debug(s);        exit (1);     }     yt_old = yt;     return (val);}double SelfSimilar_Traffic::next_batch_size(){     double val;     if (sb_ > 0)     {        xb[0] = batch_size_.value() - batch_size_.avg();        flicker (Nt, xb, xb_old, ab, bb);        if (gamb >= 2.0) /* Integrate the noise process for                 * PSD exponent of 2 or greater (i.e., integrate                 * Gaussian noise motion to get fractional                 * Brownian motion) */           yb = yb_old + xb[Nt];        else           yb = xb[Nt];     }     else        yb = yb_old = 0.0;// Note that here we simply return batch size; there is no// need to subtract the previous offset as was done for// arrival times.     val = yb + batch_size_.avg();     yb_old = yb;     if (val < 1.0) // for batch size process, we enforce a hard lower limit                    // of 1.0; no need to report if < 1.        val = 1.0;     return (val);}void SelfSimilar_Traffic::timeout(){     if (! running_)        return;     /* send a packet */     size_ = next_batch_size();     agent_->sendmsg(size_);     /* figure out when to send the next one */     nextPkttime_ = next_interval(size_);     double tnextt = nextPkttime_;     /* schedule it */     if (nextPkttime_ > 0)     timer_.resched(nextPkttime_);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合电影一区二区三区 | 中文字幕欧美日本乱码一线二线| 日本一区二区视频在线观看| 亚洲一区二区av在线| 国产成人综合在线观看| 欧美日韩亚洲综合一区二区三区| 2021久久国产精品不只是精品| 亚洲精品网站在线观看| 国产成人亚洲精品狼色在线 | 成人白浆超碰人人人人| 91精品国产入口在线| 亚洲色图制服丝袜| 国产精品一级片| 欧美一区二区三区爱爱| 亚洲麻豆国产自偷在线| 国产电影一区在线| 亚洲精品一区二区三区福利| 亚洲国产精品精华液网站| 成人午夜又粗又硬又大| 久久天堂av综合合色蜜桃网 | 最近日韩中文字幕| 国产麻豆精品在线观看| 欧美日韩一区不卡| 夜夜精品视频一区二区 | 免费看欧美女人艹b| 国产一区二区三区四| 精品美女在线播放| 91蜜桃婷婷狠狠久久综合9色| 一区二区三区久久| 日韩欧美国产综合在线一区二区三区| 成人av片在线观看| 国产一区高清在线| 精品国产91乱码一区二区三区| 亚洲综合视频在线观看| 色综合久久久久久久| 国产精品国产a| 91免费国产在线观看| 亚洲欧美日韩国产综合在线| 91免费版pro下载短视频| 亚洲综合色在线| 欧美日韩在线精品一区二区三区激情| 一区二区三区免费看视频| 色综合夜色一区| 亚洲一区二区视频在线| 欧美精品日韩一区| 日本va欧美va精品发布| 精品久久久久一区| 国产一区二区在线观看视频| 久久九九99视频| 91亚洲精品一区二区乱码| 一区二区三区在线影院| 欧美日韩国产美| 精品一区二区三区免费观看| 久久久久9999亚洲精品| 色综合天天综合色综合av| 亚洲高清三级视频| 日韩欧美国产综合在线一区二区三区 | 在线观看91av| 精品中文字幕一区二区| 国产欧美中文在线| 欧美中文字幕一区二区三区 | 国产色综合一区| 色综合 综合色| 日本aⅴ免费视频一区二区三区| 欧美一区日韩一区| 国内精品嫩模私拍在线| 亚洲免费av在线| 制服视频三区第一页精品| 国产盗摄一区二区三区| 亚洲已满18点击进入久久| 欧美tickling网站挠脚心| 成人av高清在线| 日韩av电影免费观看高清完整版 | 亚洲欧美日韩国产综合| 日韩一级二级三级精品视频| 成人黄色av网站在线| 五月婷婷激情综合| 中文字幕+乱码+中文字幕一区| 欧美日韩美女一区二区| 国产成人综合精品三级| 五月天亚洲精品| 国产精品国产精品国产专区不片| 欧美精品v国产精品v日韩精品| 国产91在线|亚洲| 午夜影院在线观看欧美| 中文字幕一区二区三区在线观看| 4438亚洲最大| 色综合久久综合| 国产精品正在播放| 日本亚洲免费观看| 亚洲美女在线国产| 国产日产欧美精品一区二区三区| 欧美精品1区2区3区| 色猫猫国产区一区二在线视频| 国产在线精品国自产拍免费| 亚洲成人久久影院| 亚洲免费观看在线视频| 国产欧美va欧美不卡在线| 欧美一级免费大片| 精品视频一区三区九区| 91亚洲精品久久久蜜桃| 成人av电影在线网| 国产精品亚洲视频| 狠狠v欧美v日韩v亚洲ⅴ| 青青草原综合久久大伊人精品优势 | 亚洲资源中文字幕| 亚洲精选免费视频| **性色生活片久久毛片| 久久精品人人做人人综合| 日韩美女在线视频| 精品毛片乱码1区2区3区| 91精品国产综合久久香蕉麻豆| 欧洲视频一区二区| 欧美三级蜜桃2在线观看| 一本到一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 成人黄动漫网站免费app| 成人动漫一区二区三区| 福利一区在线观看| 不卡av在线网| 91免费精品国自产拍在线不卡| 成人激情综合网站| 色综合久久六月婷婷中文字幕| 成人18视频在线播放| 91免费看视频| 欧美日韩夫妻久久| 日韩一区二区视频在线观看| 日韩视频免费直播| 2023国产一二三区日本精品2022| 久久久一区二区| 国产精品久久久久影院亚瑟| 国产精品久久久久久久久果冻传媒| 国产精品免费久久久久| 亚洲色图在线看| 天天亚洲美女在线视频| 另类小说欧美激情| 欧美性色综合网| 欧洲在线/亚洲| 国内精品伊人久久久久av影院| 亚洲欧美另类久久久精品2019| 天堂在线一区二区| 美腿丝袜在线亚洲一区| 成人免费黄色在线| 欧美性色aⅴ视频一区日韩精品| 欧美三级日韩在线| 精品国产免费一区二区三区香蕉| 久久久久久9999| 一区二区三区国产豹纹内裤在线| 亚洲一区二区三区四区五区中文| 美女性感视频久久| 99久久久久久| 欧美精品一二三四| 久久综合视频网| 国产成人在线看| 国产成人夜色高潮福利影视| 粉嫩aⅴ一区二区三区四区| 91老司机福利 在线| 7777精品伊人久久久大香线蕉最新版| 91精品福利在线一区二区三区 | 欧美吞精做爰啪啪高潮| 久久久国产精品麻豆| 欧美视频一区二区三区| 亚洲国产一区二区视频| 欧美人体做爰大胆视频| 亚洲电影欧美电影有声小说| 国产福利一区在线观看| 精品国产精品网麻豆系列| 国产精品视频观看| 99久久精品国产毛片| 欧美va亚洲va| 亚洲免费伊人电影| 99免费精品在线| 亚洲精品乱码久久久久久久久| 色综合天天综合狠狠| 五月婷婷激情综合| 日韩欧美的一区二区| 蜜桃传媒麻豆第一区在线观看| 中文字幕亚洲在| 3atv一区二区三区| 高清在线观看日韩| 一区二区在线观看免费视频播放| 国产精品影视网| 中文字幕av在线一区二区三区| 欧美日韩精品电影| 青青草国产精品亚洲专区无| 精品国产免费久久| 国产不卡视频在线播放| 国产精品午夜春色av| 精品国精品自拍自在线| 91蜜桃传媒精品久久久一区二区| 一区二区在线观看视频| 欧美久久一二三四区| 日韩二区在线观看| 26uuu亚洲综合色欧美| 欧亚洲嫩模精品一区三区| 视频一区二区欧美| 国产亚洲精品bt天堂精选| 极品销魂美女一区二区三区| 精品久久久久久亚洲综合网| a级精品国产片在线观看|