int main() { double a,b,omega,result,abserr,epsabs,epsrel; double **chebmo,res3a[52],rlist2[52]; int i,ier,icall,n,neval,momcom; n = 21; chebmo = (double **)calloc(n,sizeof(double *)); for (i = 0;i < n; i++) chebmo[i] = (double *)calloc(25,sizeof(double)); a = 0.0; b = 11.0; omega = 20.0; icall = 1; momcom = 0; epsabs = 1e-8; epsrel = 1e-12; result = dqfour(fx,a,b,omega,COSINE,epsabs,epsrel, icall,MAXP1,&abserr,&neval,&ier,&momcom,chebmo,0); printf("\nresult = %.17lg\n",result); printf("abserr = %.17lg\n",abserr); printf("neval = %d\n",neval); printf("momcom = %d\n",momcom); for (i = 0; i < n; i++) free(chebmo[i]); free(chebmo); return 0; }
double dqawo(double f(double),double a,double b,double omega, int sincos, double epsabs,double epsrel,double *abserr,int *neval, int *ier) { double **chebmo,result; int i,momcom; if ((chebmo = (double **)calloc(MAXP1,sizeof(double *))) == NULL) { fprintf(stderr,"Out of memory in DQAWO!\n"); exit(1); } for (i = 0;i < MAXP1; i++) { if ((chebmo[i] = (double *)calloc(25,sizeof(double))) == NULL) { fprintf(stderr,"Out of memory in DQAWO!\n"); exit(1); } } momcom = 0; result = dqfour(f,a,b,omega,sincos,epsabs,epsrel, 1,MAXP1,abserr,neval,ier,&momcom,chebmo); for (i = 0;i < MAXP1; i++) free(chebmo[i]); free(chebmo); return result; }