⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sketch.cpp

📁 关于BCH编码的一个应用
💻 CPP
字号:
// sketch.cpp//// C++ code by Kevin Harmon and Leonid Reyzin//// Finds the PinSketch (BCH-based secure sketch) of an input set.//// See pinsketch.txt for detailed documentation//#include "pinsketch.h"int main(int argc, char** argv){	long d; // minimum distance of the code;		// can handle set difference up to t=(d-1)/2 elements		// sketch is (d-1)/2 elements long        long m; // elements of the set and of the sketch are m-bit values	int len;// length of argv[1] if it exists	if (argc != 2 || (len=strlen(argv[1]))<5 || strcmp(&argv[1][len-4], ".set"))	{		cerr << "Usage: sketch A.set" << endl;		if (argc == 2)			cerr << "(file must be named `*.set`)" << endl;		return -1;	}// Fix field and error-tolerance	ifstream infile(argv[1]);        if (!infile) {          cerr << "Could not open file for reading!\n";          return -1;        }	ReadSetParams(m, d, infile);        GF2X irrP;	BuildSparseIrred(irrP, m); // fix irreducible poly of deg m over GF(2)	GF2E::init(irrP); // fix field as GF(2^m)// read in set  	vec_GF2E set, ss;	ReadSet(set, infile, m);	infile.close();// compute secure sketch of the set	BCHSyndromeCompute(ss, set, d);// write the sketch to file with same name and .ss extension	strcpy(&argv[1][strlen(argv[1])-4], ".ss");	ofstream outfile (argv[1], ios::out | ios::trunc);        if (!outfile) {          cerr << "Could not open file for writing!\n";          return -1;        }	OutputSS(outfile, ss, d, GF2E::modulus());	outfile.close();	cout << "Secure sketch written to file `" << argv[1] << "`." << endl;		return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -