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

📄 resamp.c

📁 su 的源代码库
💻 C
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       *//* RESAMP: $Revision: 1.8 $ ; $Date: 2003/08/19 21:24:44 $	*/#include "par.h"/*********************** self documentation **********************/char *sdoc[] = {" 									"," RESAMP - RESAMPle the 1st dimension of a 2-dimensional function f(x1,x2)"," 									"," resamp <infile >outfile [optional parameters]				"," 									"," Required Parameters:							"," 									"," Optional Parameters:							"," n1=all                 number of samples in 1st (fast) dimension	"," n2=all                 number of samples in 2nd (slow) dimension	"," d1=1.0                 sampling interval in 1st dimension		"," f1=d1                  first sample in 1st dimension			"," n1r=n1                 number of samples in 1st dimension after resampling"," d1r=d1                 sampling interval in 1st dimension after resampling"," f1r=f1                 first sample in 1st dimension after resampling	"," 									"," NOTE:  resamp currently performs NO ANTI-ALIAS FILTERING before resampling!"," 									",NULL};/**************** end self doc ********************************//* * AUTHOR:  Dave Hale, Colorado School of Mines, 07/07/89 */intmain (int argc, char **argv){	int n1,n2,i2,n1r,i1r;	float d1,f1,d1r,f1r,x1r,*p,*pr,*xr;	FILE *infp=stdin,*outfp=stdout;	/* hook up getpar */	initargs(argc,argv);	requestdoc(1);	/* get parameters */	if (!getparint("n1",&n1)) {		if (efseeko(infp,(off_t) 0,SEEK_END)==-1)			err("must specify n1!\n");		n1 = (int)(eftello(infp)/sizeof(float));		efseeko(infp,(off_t) 0,SEEK_SET);	}	if (!getparint("n2",&n2)) n2 = -1;	if (!getparfloat("d1",&d1)) d1 = 1.0;	if (!getparfloat("f1",&f1)) f1 = d1;	if (!getparint("n1r",&n1r)) n1r = n1;	if (!getparfloat("d1r",&d1r)) d1r = d1;	if (!getparfloat("f1r",&f1r)) f1r = f1;	/* allocate space */	p = ealloc1float(n1);	pr = ealloc1float(n1r);	xr = ealloc1float(n1r);	/* compute output 1st dimension values */	for (i1r=0,x1r=f1r; i1r<n1r; i1r++,x1r+=d1r)		xr[i1r] = x1r;	/* loop over 2nd dimension */	for (i2=0; i2<n2 || n2<0; i2++) {		/* read input data */		if (efread(p,sizeof(float),n1,infp)!=n1) break;		/* resample */		ints8r(n1,d1,f1,p,0.0,0.0,n1r,xr,pr);		/* write input data */		efwrite(pr,sizeof(float),n1r,outfp);	}	return(CWP_Exit());}

⌨️ 快捷键说明

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