Esempio n. 1
0
 foreach(FileInfo *file, files()) {
     // Since paths are relative from where this file is, remove
     // the common prefix from the reference.
     if (file->m_id == "cover") {
         continue;
     }
     QString relativeFilename = file->m_fileName;
     if (relativeFilename.contains(filePrefix())) {
         if (relativeFilename.startsWith(pathPrefix())) {
             relativeFilename = relativeFilename.right(relativeFilename.size()
                                - pathPrefix().size());
         }
         writer.startElement("itemref");
         writer.addAttribute("idref", file->m_id);
         writer.endElement(); // itemref
     }
 }
Esempio n. 2
0
File: Home.C Progetto: GuLinux/wt
void Home::readReleases(WTable *releaseTable)
{
  std::ifstream f((filePrefix() + "releases.txt").c_str());

  releaseTable->clear();

  releaseTable->elementAt(0, 0)
    ->addWidget(new WText(tr("home.download.version")));
  releaseTable->elementAt(0, 1)
    ->addWidget(new WText(tr("home.download.date")));
  releaseTable->elementAt(0, 2)
    ->addWidget(new WText(tr("home.download.description")));

  releaseTable->elementAt(0, 0)->resize(WLength(15, WLength::FontEx),
					WLength::Auto);
  releaseTable->elementAt(0, 1)->resize(WLength(15, WLength::FontEx),
					WLength::Auto);

  int row = 1;

  while (f) {
    std::string line;
    getline(f, line);

    if (f) {
      typedef boost::tokenizer<boost::escaped_list_separator<char> >
	CsvTokenizer;
      CsvTokenizer tok(line);

      CsvTokenizer::iterator i=tok.begin();

      std::string fileName = *i;
      std::string description = *(++i);
      releaseTable->elementAt(row, 0)->addWidget
	(new WText(href("http://prdownloads.sourceforge.net/witty/" 
			+ fileName + "?download", description)));
      releaseTable->elementAt(row, 1)->addWidget(new WText(*(++i)));
      releaseTable->elementAt(row, 2)->addWidget(new WText(*(++i)));

      ++row;
    }
  }
}
Esempio n. 3
0
int main(int argc, char * argv[]){

	ArgumentContainer args("parse", false);
	PositionalArgument<string> filePrefix(&args, "file_prefix", "file prefix", "");
	PositionalArgument<string> fileSuffix(&args, "file_suffix", "file suffix", "");

	if (args.parse(argc, argv)){
		args.usage(cerr);
		return -1;
	}

	unsigned rateSpace[] = {10, 20, 30, 40, 50, 60, 70, 80, 90};
	unsigned rateSpaceReversed[] = {90, 80, 70, 60, 50, 40, 30, 20, 10};
	unsigned rateSpaceSize = 9;

	CounterTraceReader baseline(filePrefix.getValue() + fileSuffix.getValue());
	map<unsigned, map<unsigned, CounterTraceReader*> > readers;

	for(unsigned i = 0; i < rateSpaceSize; i++){
		for(unsigned j = 0; j < rateSpaceSize; j++){
			ostringstream fileName;
			//multi_2_hybrid_ft_pause_space_10_90_rate_10_90
			fileName << filePrefix.getValue() << "_space_" << rateSpace[i] << "_" << rateSpaceReversed[i] << "_rate_" << rateSpace[j] << "_" << rateSpaceReversed[j] << fileSuffix.getValue();
			readers[i][j] = new CounterTraceReader(fileName.str());
		}
	}



	vector<uint64> keyList;
	baseline.getKeyList(&keyList);

	uint64 sum = 0;
	uint64 sumBaseline = 0;
	map<unsigned, map<unsigned, uint64> >sums;
	for(unsigned k = 0; k < keyList.size(); k++){
		uint64 min = numeric_limits<uint64>::max();
		unsigned minRate = numeric_limits<unsigned>::max(), minSpace = numeric_limits<unsigned>::max();
		for(unsigned i = 0; i < rateSpaceSize; i++){
			for(unsigned j = 0; j < rateSpaceSize; j++){
				uint64 v = readers[i][j]->getValue(keyList[k], "cycles");
				if (v < min){
					min = v;
					minSpace = i;
					minRate = j;
				}
				sums[i][j] += readers[i][j]->getValue(keyList[k], "cycles");
			}
		}
		cout << "rate: " << rateSpace[minRate] << " space: " << rateSpace[minSpace] << endl;
		sum += min;
		sumBaseline += baseline.getValue(keyList[k], "cycles");
	}

	uint64 min = numeric_limits<uint64>::max();
	for(unsigned i = 0; i < rateSpaceSize; i++){
		for(unsigned j = 0; j < rateSpaceSize; j++){
			uint64 v = sums[i][j];
			if (v < min){
				min = v;
			}
		}
	}

	cout << sumBaseline << "\t" << min << "\t" << sum << endl;

	return 0;
}