/* tchintg.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
/*
Test: chintg fchb
To specify a new order parameter use 'tchintg' order
*/
#include <math.h>
#include "ccmath.h"
#define MDM 60
/* order of Tchebycheff approximation */
int mp=8;
double Pi=3.14159265358979324;
double func(double x);
void main(int na,char **av)
{ double x,y,f,a[MDM],Pi2=Pi/2.;
printf(" Test of Tchebycheff Integration\n\n");
if(na!=1) mp=atoi(*++av);
printf(" order = %d\n",mp);
f=chintg(a,mp,func);
printf(" test magnitude = %14.10f\n\n",f);
printf(" y computed exact\n");
for(y= -1.; y<=1. ;y+=.5){
f=fchb(y,a,mp)*Pi2/2.; x=Pi2*(1.+y)/2.;
printf(" %6.3f %13.8f %13.8f\n",y,f,1.-cos(x));
}
}
/* test integrand function
defined on x from -1 to 1.
Integral is 1-cos(Pi*(1+x)/4).
*/
double func(double x)
{ double y;
y=(1.+x)/2.; return sin(Pi*y/2.);
}
/* Test output
Test of Tchebycheff Integration
order = 8
test magnitude = 0.0000089716
y computed exact
-1.000 0.00000000 0.00000000
-0.500 0.07612047 0.07612047
0.000 0.29289322 0.29289322
0.500 0.61731657 0.61731657
1.000 1.00000000 1.00000000
*/
syntax highlighted by Code2HTML, v. 0.9.1