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

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

?? noxim_explorer.cpp.svn-base

?? NoC 仿真環境
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:
#include <iostream>#include <iomanip>#include <fstream>#include <sstream>#include <vector>#include <map>#include <string>#include <cassert>#include <cstdlib>#include <sys/time.h>using namespace std;//---------------------------------------------------------------------------#define DEFAULT_KEY          "default"#define AGGREGATION_KEY      "aggregation"#define EXPLORER_KEY         "explorer"#define SIMULATOR_LABEL      "simulator"#define REPETITIONS_LABEL    "repetitions"#define TMP_DIR_LABEL        "tmp"#define DEF_SIMULATOR        "./noxim"#define DEF_REPETITIONS      5#define DEF_TMP_DIR          "./"#define TMP_FILE_NAME        ".noxim_explorer.tmp"#define RPACKETS_LABEL       "% Total received packets:"#define RFLITS_LABEL         "% Total received flits:"#define AVG_DELAY_LABEL      "% Global average delay (cycles):"#define AVG_THROUGHPUT_LABEL "% Global average throughput (flits/cycle):"#define THROUGHPUT_LABEL     "% Throughput (flits/cycle/IP):"#define MAX_DELAY_LABEL      "% Max delay (cycles):"#define TOTAL_ENERGY_LABEL   "% Total energy (J):"#define MATLAB_VAR_NAME      "data"#define MATRIX_COLUMN_WIDTH  15//---------------------------------------------------------------------------typedef unsigned int uint;// parameter valuestypedef vector<string> TParameterSpace;// parameter name, parameter spacetypedef map<string, TParameterSpace> TParametersSpace;// parameter name, parameter valuetypedef vector<pair<string, string> > TConfiguration;typedef vector<TConfiguration> TConfigurationSpace;struct TExplorerParams{  string simulator;  string tmp_dir;  int    repetitions;};struct TSimulationResults{  double       avg_delay;  double       throughput;  double       avg_throughput;  double       max_delay;  double       total_energy;  unsigned int rpackets;  unsigned int rflits;};//---------------------------------------------------------------------------double GetCurrentTime(){  struct timeval tv;  gettimeofday(&tv, NULL);  return tv.tv_sec + (tv.tv_usec * 1.0e-6);}//---------------------------------------------------------------------------void TimeToFinish(double elapsed_sec,		  int completed, int total,		  int& hours, int& minutes, int &seconds){  double total_time_sec = (elapsed_sec * total)/completed;  double remain_time_sec = total_time_sec - elapsed_sec;  seconds = (int)remain_time_sec % 60;  minutes = ((int)remain_time_sec / 60) % 60;  hours   = (int)remain_time_sec / 3600;}//---------------------------------------------------------------------------bool IsComment(const string& s){  return (s == "" || s.at(0) == '%');}//---------------------------------------------------------------------------string TrimLeftAndRight(const string& s){  int len = s.length();    int i, j;  for (i=0; i<len && s.at(i) == ' '; i++) ;  for (j=len-1; j>=0 && s.at(j) == ' '; j--) ;    return s.substr(i,j-i+1);}//---------------------------------------------------------------------------bool ExtractParameter(const string& s, string& parameter){  uint i = s.find("[");  if (i != string::npos)    {      uint j = s.rfind("]");            if (j != string::npos)	{	  parameter = s.substr(i+1, j-i-1);	  return true;	}    }  return false;}//---------------------------------------------------------------------------bool GetNextParameter(ifstream& fin, string& parameter){  bool found = false;  while (!fin.eof() && !found)    {      string s;      getline(fin, s);      if (!IsComment(s))	found = ExtractParameter(s, parameter);    }  return found;}//---------------------------------------------------------------------------wstring MakeStopParameterTag(const string& parameter){  string sparameter = "[/" + parameter + "]";  return sparameter;}//---------------------------------------------------------------------------bool ManagePlainParameterSet(ifstream& fin,			     const string& parameter, 			     TParametersSpace& params_space,			     string& error_msg){  string str_stop = MakeStopParameterTag(parameter);  bool   stop = false;  while (!fin.eof() && !stop)    {      string s;      getline(fin, s);            if (!IsComment(s))	{	  if (s.find(str_stop) != string::npos)	    stop = true;	  else	    params_space[parameter].push_back(TrimLeftAndRight(s));	}    }    return true;}//---------------------------------------------------------------------------bool ExpandInterval(const string& sint,		    TParameterSpace& ps,		    string& error_msg){  istringstream iss(sint);  double min, max, step;  iss >> min;  iss >> max;  iss >> step;  for (double v=min; v<=max; v+=step)    {      ostringstream oss;      oss << v;      ps.push_back(oss.str());    }  return true;}//---------------------------------------------------------------------------bool ManageCompressedParameterSet(ifstream& fin,				  const string& parameter, 				  TParametersSpace& params_space,				  string& error_msg){  string str_stop = MakeStopParameterTag(parameter);  bool   stop = false;  while (!fin.eof() && !stop)    {      string s;      getline(fin, s);            if (!IsComment(s))	{	  if (s.find(str_stop) != string::npos)	    stop = true;	  else	  	    {	      if (!ExpandInterval(s, params_space[parameter], error_msg))		return false;	    }	}    }    return true;}//---------------------------------------------------------------------------bool ManageParameter(ifstream& fin,		     const string& parameter, 		     TParametersSpace& params_space,		     string& error_msg){  bool err;  if (parameter == "pir" ||      parameter == "por")    err = ManageCompressedParameterSet(fin, parameter, params_space, error_msg);  else    err = ManagePlainParameterSet(fin, parameter, params_space, error_msg);  return err;}//---------------------------------------------------------------------------bool ParseConfigurationFile(const string& fname,			    TParametersSpace& params_space,			    string& error_msg){  ifstream fin(fname.c_str(), ios::in);  if (!fin)    {      error_msg = "Cannot open " + fname;      return false;    }  while (!fin.eof())    {      string parameter;      if ( GetNextParameter(fin, parameter) )	{	  if (!ManageParameter(fin, parameter, params_space,			       error_msg))	    return false;	}    }  return true;}//---------------------------------------------------------------------------bool LastCombination(const vector<pair<int,int> >& indexes){  for (uint i=0; i<indexes.size(); i++)    if (indexes[i].first < indexes[i].second-1)      return false;  return true;}//---------------------------------------------------------------------------bool IncrementCombinatorialIndexes(vector<pair<int,int> >& indexes){  for (uint i=0; i<indexes.size(); i++)    {      if (indexes[i].first < indexes[i].second - 1)	{	  indexes[i].first++;	  return true;	}      indexes[i].first = 0;	    }  return false;}//---------------------------------------------------------------------------TConfigurationSpace Explore(const TParametersSpace& params_space){  TConfigurationSpace conf_space;    vector<pair<int,int> > indexes; // <index, max_index>    for (TParametersSpace::const_iterator psi=params_space.begin();       psi!=params_space.end(); psi++)      indexes.push_back(pair<int,int>(0, psi->second.size()));    do     {      int i = 0;      TConfiguration conf;      for (TParametersSpace::const_iterator psi=params_space.begin();	   psi!=params_space.end(); psi++)	{	  conf.push_back( pair<string,string>(psi->first, 					      psi->second[indexes[i].first]));	  	  i++;	}      conf_space.push_back(conf);    }   while (IncrementCombinatorialIndexes(indexes));  return conf_space;}//---------------------------------------------------------------------------bool RemoveParameter(TParametersSpace& params_space, 		     const string& param_name,		     TParameterSpace& param_space,		     string& error_msg){  TParametersSpace::iterator i = params_space.find(param_name);  if (i == params_space.end())    {      error_msg = "Cannot extract parameter '" + param_name + "'";      return false;    }  param_space = params_space[param_name];  params_space.erase(i);    return true;}//---------------------------------------------------------------------------bool RemoveAggregateParameters(TParametersSpace& params_space, 			       TParameterSpace&  aggregated_params,			       TParametersSpace& aggragated_params_space,			       string& error_msg){  for (uint i=0; i<aggregated_params.size(); i++)    {      string param_name = aggregated_params[i];      TParameterSpace param_space;      if (!RemoveParameter(params_space, param_name, param_space, error_msg))	return false;      aggragated_params_space[param_name] = param_space;    }  return true;}//---------------------------------------------------------------------------string ParamValue2Cmd(const pair<string,string>& pv){  string cmd;  if (pv.first == "topology")    {      istringstream iss(pv.second);      int  width, height;      char times;      iss >> width >> times >> height;      ostringstream oss;      oss << "-dimx " << width << " -dimy " << height;      cmd = oss.str();    }  else    cmd = "-" + pv.first + " " + pv.second;  return cmd;}//---------------------------------------------------------------------------string Configuration2CmdLine(const TConfiguration& conf){  string cl;  for (uint i=0; i<conf.size(); i++)    cl = cl + ParamValue2Cmd(conf[i]) + " ";    return cl;}//---------------------------------------------------------------------------string Configuration2FunctionName(const TConfiguration& conf){  string fn;  for (uint i=0; i<conf.size(); i++)    fn = fn + conf[i].first + "_" + conf[i].second + "__";    // Replace " ", "-", ".", "/" with "_"  int len = fn.length();  for (int i=0; i<len; i++)    if (fn.at(i) == ' ' || fn.at(i) == '.' || fn.at(i) == '-' || fn.at(i) == '/')      fn[i] = '_';    return fn;}//---------------------------------------------------------------------------bool ExtractExplorerParams(const TParameterSpace& explorer_params,			   TExplorerParams& eparams,			   string& error_msg){  eparams.simulator   = DEF_SIMULATOR;  eparams.tmp_dir     = DEF_TMP_DIR;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成+人+亚洲+综合天堂| 成人美女在线观看| 亚洲欧美激情插| 国产精品成人一区二区艾草| 国产欧美精品一区| 国产性天天综合网| 欧美激情一区二区在线| 久久亚洲精品国产精品紫薇| 久久蜜臀中文字幕| 国产亚洲精品中文字幕| 国产欧美精品国产国产专区| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美韩日一区二区三区四区| 国产亚洲精品bt天堂精选| 久久精品一区八戒影视| 久久久精品免费网站| 国产精品美女久久久久高潮| 亚洲欧美电影一区二区| 亚洲综合激情网| 亚洲国产sm捆绑调教视频| 日韩中文欧美在线| 国产一区二区在线观看视频| eeuss鲁一区二区三区| 91黄色免费观看| 欧美精品v国产精品v日韩精品| 67194成人在线观看| 日韩一二三四区| 亚洲国产高清aⅴ视频| 一区二区三区中文字幕精品精品| 亚洲国产精品精华液网站| 久久精品国产99久久6| 国产成人精品三级麻豆| 91免费观看视频在线| 6080亚洲精品一区二区| 久久一留热品黄| 亚洲欧美视频在线观看视频| 日韩国产欧美在线视频| 国产精品99久久久久久宅男| 96av麻豆蜜桃一区二区| 欧美精品乱人伦久久久久久| 国产日韩综合av| 亚洲综合视频网| 精品在线你懂的| 色先锋资源久久综合| 欧美一区二区三区婷婷月色| 国产日韩欧美精品综合| 亚洲精品videosex极品| 婷婷开心激情综合| 国产精品1024| 色94色欧美sute亚洲线路一ni| 欧美午夜精品久久久久久孕妇| 在线不卡欧美精品一区二区三区| 欧美成人免费网站| 中文字幕字幕中文在线中不卡视频| 曰韩精品一区二区| 蜜桃免费网站一区二区三区| 国产成都精品91一区二区三| 成人午夜电影久久影院| 欧美精品日韩精品| 欧美国产在线观看| 亚洲一区二区三区中文字幕在线| 日韩综合一区二区| 国产91精品露脸国语对白| 91麻豆成人久久精品二区三区| 欧美精选午夜久久久乱码6080| 精品国内二区三区| 亚洲欧美日韩精品久久久久| 日本午夜精品视频在线观看| 国产精品一级二级三级| 在线免费精品视频| 在线观看日韩毛片| 国产精品全国免费观看高清| 夜夜精品视频一区二区| 久久99国产精品免费| 极品少妇xxxx精品少妇| 在线中文字幕一区二区| 国产精品久久国产精麻豆99网站| 亚洲成人精品影院| 国产成人精品aa毛片| 久久亚洲精精品中文字幕早川悠里| 洋洋成人永久网站入口| 成人免费高清视频| 日韩亚洲欧美综合| 日韩精品欧美精品| 91亚洲精华国产精华精华液| 国产丝袜在线精品| 日韩高清欧美激情| 在线视频欧美区| 中文字幕一区二区日韩精品绯色| 国产精品白丝jk黑袜喷水| 日韩一级黄色片| 亚洲成人7777| 91美女片黄在线| 久久久久久久久久久99999| 日韩国产一二三区| 欧美图区在线视频| 亚洲欧美一区二区三区极速播放| 韩国av一区二区| 欧美一区二区三区视频免费| 不卡高清视频专区| 久久久久九九视频| 日韩精品久久理论片| 大尺度一区二区| 久久蜜桃av一区二区天堂| 日韩成人一级大片| 在线观看一区二区视频| 欧美激情资源网| 国产美女精品一区二区三区| 3751色影院一区二区三区| 亚洲一区二区三区四区的| 国产在线看一区| 欧美一区二区免费| 麻豆国产精品官网| 欧美一级理论片| 日韩av中文字幕一区二区三区| 欧美专区在线观看一区| 久久新电视剧免费观看| 日韩电影一区二区三区| 欧美日韩三级一区二区| 亚洲激情在线播放| 色94色欧美sute亚洲线路一久| 亚洲丝袜自拍清纯另类| av在线综合网| 亚洲私人影院在线观看| 色综合天天在线| 国产精品高潮呻吟| 99久久综合国产精品| 国产亚洲欧美一区在线观看| 国产美女主播视频一区| 亚洲国产成人私人影院tom| 大白屁股一区二区视频| 国产精品欧美一区喷水| 国产成人精品综合在线观看| 日韩欧美中文字幕一区| 极品少妇一区二区三区精品视频 | 久久综合色8888| 久久机这里只有精品| 日本一区二区综合亚洲| av电影一区二区| 日韩中文字幕麻豆| 精品剧情在线观看| 91影院在线免费观看| 一区二区三区成人| 欧美成人性福生活免费看| 国产精品乡下勾搭老头1| 亚洲午夜一区二区| 一本色道久久综合亚洲91| 青青草国产成人av片免费| 欧美v国产在线一区二区三区| 国产99精品在线观看| 中文字幕乱码久久午夜不卡| 99精品久久只有精品| 一区二区三区高清不卡| 精品国产免费人成在线观看| 日韩avvvv在线播放| 国产精品色婷婷久久58| 91一区在线观看| 国产精品资源网站| 国产精品女同互慰在线看| 欧美二区乱c少妇| 国产成人日日夜夜| 视频一区视频二区中文| 久久久久久久久久久久电影| 欧美日韩在线观看一区二区| 久久99精品国产.久久久久久 | 亚洲福利视频一区二区| 在线精品亚洲一区二区不卡| 国精产品一区一区三区mba视频| 国产偷国产偷亚洲高清人白洁| 欧美日韩亚洲综合一区二区三区| 奇米精品一区二区三区四区| 亚洲蜜臀av乱码久久精品蜜桃| 在线观看亚洲一区| 99热这里都是精品| 亚洲高清免费视频| 亚洲欧美日韩一区二区三区在线观看| 91丨九色丨尤物| 国产一区二区三区在线观看免费| 中文字幕不卡三区| 26uuu精品一区二区三区四区在线| 色婷婷久久综合| 福利一区福利二区| 蜜臀精品一区二区三区在线观看 | 欧美激情一区二区三区蜜桃视频| 欧美日韩视频在线一区二区| 成人黄色一级视频| 国产一区三区三区| 天堂影院一区二区| 亚洲精品免费看| 亚洲国产精品成人综合| 久久久久久综合| 91精品综合久久久久久| 欧美日韩成人综合天天影院 | 亚洲国产精品成人综合色在线婷婷| 欧美年轻男男videosbes| 欧美在线一区二区| 99精品久久99久久久久| av不卡在线播放| 国产成a人亚洲精品| 国产69精品一区二区亚洲孕妇|