/*
	Test per Int_eq_points

*/
#include "simple.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


int main(int argc, char *argv[])
{
int i, n;
double d, x, fx[1000];

if (argc==1) {
	printf("Quanti punti? ");
	scanf("%d",&n);
} else n=atoi(argv[1]);
if (n>1000) n=1000;
if (n<2) n=2;

printf("Test di Int_eq_points per la funzione x tra 2 e 5\n");
for (i=0; i<n; i++) {
	x = 2 + i*(5-2)/(double)(n-1);
	fx[i] = x; 		/*  x*x*x*(x-1); */
}
d = Int_eq_points(n, (5-2)/(double)(n-1), fx);
printf("Esatto    : 10.5\n");
printf("%-2d punti  : %.16g\n",n,d);

printf("Test di Int_eq_points per la funzione x^4-x^3 tra 2 e 5\n");
for (i=0; i<n; i++) {
	x = 2 + i*(5-2)/(double)(n-1);
	fx[i] = x*x*x*(x-1);
}
d = Int_eq_points(n, (5-2)/(double)(n-1), fx);
printf("Esatto    : 466.35\n");
printf("%-2d punti  : %.16g\n",n,d);

printf("Test di Int_eq_points per la funzione x*sin(x)^2 tra 2 e 5\n");
for (i=0; i<n; i++) {
	x = 2 + i*(5-2)/(double)(n-1);
	fx[i] = x*sin(x)*sin(x);
}
d = Int_eq_points(n, (5-2)/(double)(n-1), fx);
printf("Esatto    : 5.5748036294843\n");
printf("%-2d punti  : %.16g\n",n,d);

}
