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

📄 addbindata.cc

📁 torch tracking code, it is a good code
💻 CC
字号:
const char *help = "\progname: addbindata.cc\n\code2html: This program copies 2 bindata files into one.\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_in1;	char *filename_in2;	char *filename_out;	bool verbose;		CmdLine cmd;	cmd.setBOption("write log", false);	cmd.info(help);	cmd.addText("\nArguments:");	cmd.addSCmdArg("filename in 1", &filename_in1, "input bindata filename 1");	cmd.addSCmdArg("filename in 2", &filename_in2, "input bindata filename 2");	cmd.addSCmdArg("filename out", &filename_out, "output bindata filename");	cmd.addText("\nArguments:");	cmd.addBCmdOption("-verbose", &verbose, false, "verbose");	cmd.read(argc, argv);	DiskXFile *file = NULL;	DiskXFile *fileout = NULL;    	fileout = new DiskXFile(filename_out, "w");  	if(fileout == NULL)	{      		error("Opening BinData file %s", filename_out);            		return 1;	}  	// Reading headers  	int P = 0;	int n_patterns;	int n_inputs, m;	{				file = new DiskXFile(filename_in1, "r");				file->read(&n_patterns, sizeof(int), 1);		file->read(&m, sizeof(int), 1);		if(verbose)		{			print("Reading bindata file (%s)\n", filename_in1);			print("   n_inputs = %d\n", m);			print("   n_patterns = %d\n", n_patterns);  		}		n_inputs = m;		P += n_patterns;  		delete file;		file = NULL;	}  	{				file = new DiskXFile(filename_in2, "r");				file->read(&n_patterns, sizeof(int), 1);		file->read(&m, sizeof(int), 1);		if(verbose)		{			print("Reading bindata file (%s)\n", filename_in2);			print("   n_inputs = %d\n", m);			print("   n_patterns = %d\n", n_patterns);  		}		if(m != n_inputs)		{			delete fileout;			delete file;			error("Files to merge does not have the same input dimension");			return 1; 				  		}				P += n_patterns;  		delete file;		file = NULL;	}  	fileout->write(&P, 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", P);          }	real *input = new real [n_inputs];		{				file = new DiskXFile(filename_in1, "r");				file->read(&n_patterns, sizeof(int), 1);		file->read(&n_inputs, sizeof(int), 1);		for(int p = 0 ; p < n_patterns ; p++)		{		  			file->read(input, sizeof(real), n_inputs);			fileout->write(input, sizeof(real), n_inputs);		}		delete file;		file = NULL;	}		{				file = new DiskXFile(filename_in2, "r");				file->read(&n_patterns, sizeof(int), 1);		file->read(&n_inputs, sizeof(int), 1);		for(int p = 0 ; p < n_patterns ; p++)		{		  			file->read(input, sizeof(real), n_inputs);			fileout->write(input, sizeof(real), n_inputs);		}		delete file;		file = NULL;	}		delete [] input;	delete fileout;	return 0;}   

⌨️ 快捷键说明

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