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

📄 sucountkey.su.main

📁 su 的源代码库
💻 MAIN
字号:
 SUCOUNTKEY - COUNT the number of unique values for a given KEYword.		 sucountkey < input.su key=[sx,gx,cdp,...]					 Example:										  suplane | sucountkey key=tracl,tracr,offset				 Credits: Baoniu Han, bhan@mines.edu, Nov, 2000 Globals variables*/segy tr; internal structuretypedef struct {	int num;	Value *val;} my_Count;int main (int argc, char **argv){	cwp_String key[SU_NKEYS];		/* array of keywords		*/	cwp_String type[SU_NKEYS];		/* array of keywords		*/	int index[SU_NKEYS];			/* name of type of getparred key*/ 	my_Count count_table[SU_NKEYS];		/* count table for keywords	*/	int ikey;				/* key counter			*/	int nkeys;				/* number of header fields set	*/	int i;					/* count index			*/	Value val0;				/* value of key field		*/	long buf_size;		/* Initialize	initargs(argc, argv); 	requestdoc(1); 		/* Get "key" values 	if ((nkeys=countparval("key"))!=0) {		getparstringarray("key",key); 	} else {		key[0]="cdp"; 	}	/* you can increase this number to change the buffer size for each key word	buf_size=100000L;		/* get types and indexes corresponding to the keys	for (ikey=0; ikey<nkeys; ++ikey) {		type[ikey]=hdtype(key[ikey]); 		index[ikey]=getindex(key[ikey]);		count_table[ikey].num=0;		count_table[ikey].val=(Value *) malloc(sizeof(Value)*buf_size);	}	/* get info from first trace	if (!gettr(&tr))  err("can't get first trace"); 	for(ikey=0;ikey<nkeys;++ikey){		count_table[ikey].num=1;		gethval(&tr, index[ikey], &count_table[ikey].val[0]);	}	/* loop over traces	while (gettr(&tr)) {			  for (ikey=0; ikey<nkeys; ++ikey) {		gethval(&tr,index[ikey],&val0); 		for(i=0;i<count_table[ikey].num;i++)	 	    if (valcmp(type[ikey], val0, count_table[ikey].val[i])==0) break;	  if (i==count_table[ikey].num){						gethval(&tr, index[ikey], &count_table[ikey].val[count_table[ikey].num]);				count_table[ikey].num++;	  } 	}	}	warn("The counting of key word is finished, the total number for specified header is as follow:");	for (ikey=0;ikey<nkeys;++ikey){		warn(" key %s has %d unique entries in this data", key[ikey], count_table[ikey].num);	}		return(CWP_Exit());}

⌨️ 快捷键说明

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