public class InGL{
FoncRdansR f;
int n;
PolyLegendre Pol;

InGl(int nn, FoncRdansR fonc)
{
f=fonc;
n=nn;
Pol1= new PolyLegendre(nn,5);
Pol0= new PolyLegendre(nn-1,5);
}



public double integrate(){
double S=0;
	for(int i=0;i<n;i++)
	S+=2.0/(n*Pol1.valeurD(eletRacine(i))*Pol1.valeur(eletRacine(i)))*f.calcul(a+i*h);
	return S;
	}

public double pM(){
double S=0;
	for(int i=0;i<N;i++)
	S+=h*f.calcul(a+(i+0.5)*h);
	return S;
	}
public double trap(){
double S=0;
	for(int i=0;i<N;i++)
	S+=h*0.5*(f.calcul(a+i*h)+f.calcul(a+(i+1)*h));
	return S;
	}
public double simp(){
double S=0;
	for(int i=0;i<N;i++)
	S+=h*(f.calcul(a+i*h)+4*f.calcul(a+(i+0.5)*h)+f.calcul(a+(i+1)*h))/6;
	return S;
	}


}