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

📄 crossoverbindata.cc

📁 torch tracking code, it is a good code
💻 CC
字号:
const char *help = "\progname: crossoverbindata.cc\n\code2html: This program performs crossing-over on a bindata files.\n\version: Torch3 vision2.0, 2003-2005\n\(c) Sebastien Marcel (marcel@idiap.ch)\n";#include "DiskXFile.h"#include "CmdLine.h"using namespace Torch;int main(int argc, char *argv[]){	char *filename_in;	char *filename_out;	int cut;	bool verbose;		CmdLine cmd;	cmd.setBOption("write log", false);	cmd.info(help);	cmd.addText("\nArguments:");	cmd.addSCmdArg("filename in", &filename_in, "input bindata filename");	cmd.addSCmdArg("filename out", &filename_out, "output bindata filename");	cmd.addText("\nArguments:");	cmd.addICmdOption("-cut", &cut, 2, "cut");	cmd.addBCmdOption("-verbose", &verbose, false, "verbose");	cmd.read(argc, argv);	DiskXFile *file = NULL;	DiskXFile *fileout = NULL;    	// Reading headers	int n_patterns;	int n_inputs;	file = new DiskXFile(filename_in, "r");			file->read(&n_patterns, sizeof(int), 1);	file->read(&n_inputs, sizeof(int), 1);	if(verbose)	{		print("Reading bindata file (%s)\n", filename_in);		print("   n_inputs = %d\n", n_inputs);		print("   n_patterns = %d\n", n_patterns);  	}	if(n_patterns != 2)		error("n_patterns != 2");	  	fileout = new DiskXFile(filename_out, "w");  	if(fileout == NULL)	{      		error("Opening BinData file %s", filename_out);            		return 1;	}	fileout->write(&n_patterns, sizeof(int), 1);	fileout->write(&n_inputs, sizeof(int), 1);	if(verbose)	{  		print("\n");    		print("Writing bindata file :\n");    		print("   n_inputs : %d\n", n_inputs);  		print("   n_patterns : %d\n", n_patterns);          }	real *input1 = new real [n_inputs];	real *input2 = new real [n_inputs];	real *output1 = new real [n_inputs];	real *output2 = new real [n_inputs];	file->read(input1, sizeof(real), n_inputs);	file->read(input2, sizeof(real), n_inputs);	for(int i = 0 ; i < n_inputs ; i++)	{		output1[i] = 0.0;		output2[i] = 0.0;	}		for(int i = 0 ; i < cut ; i++)	{		output1[i] = input1[i];		output2[i] = input2[i];	}		for(int i = cut ; i < n_inputs ; i++)	{		output1[i] = input2[i];		output2[i] = input1[i];	}		fileout->write(output1, sizeof(real), n_inputs);	fileout->write(output2, sizeof(real), n_inputs);	delete [] input1;	delete [] input2;	delete [] output1;	delete [] output2;	delete fileout;	delete file;	return 0;}   

⌨️ 快捷键说明

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