public static void test() throws IOException{
		int numTest = 0;
		int n;
		int nbClassesR = 5;
		int nbClasses = 3;
		int dim;
		double epsilon = 0.001;
		double beta = 2.0, alpha = 1.0, delta = Math.sqrt(20.00);
		PointD[] centres = new PointD[nbClassesR];
		
		double r = 0.5;
		
		FormeAbstraite forme = new FormeCarree();
		forme.setParams(new RandomGauss(), 0.5);
		
		for(int k = 0; k < 100000; k++){
			for(n = 10; n < 10000; n *= 2){
				for(dim = 1; dim <= 50; dim++){
						double[][] points = new double[n][dim];
			
						double theta = 2*Math.PI / (double)nbClassesR;
						System.out.println();
						System.out.println("theta = " + theta);
						
					
							for (int i = 0; i < nbClassesR; i++){
								double th = i*theta; //Toujours uniforme en theta
								centres[i] = new PointD(r * Math.cos(th), r * Math.sin(th));
							}
						
						
						for (int i = 0; i<n; i++){
							int classe = (int)(Math.random()*nbClassesR);
							PointD next = forme.next(centres[classe].x, centres[classe].y);
							if(dim >= 1) points[i][0] = next.x;
							if(dim >= 2) points[i][1] = next.y;
							if(dim >= 3) {
								for(int j = 2; j < dim; j++) points[i][j] = next.y;
							}
						}
						double dep = System.currentTimeMillis();
						new ECM(points, nbClasses, alpha, beta, delta, epsilon);
						double time = System.currentTimeMillis() - dep;
						OutputStreamWriter destination = new OutputStreamWriter(new FileOutputStream(new File("test" + numTest + ".csv")));
						destination.write("n;dim;nbClasses;temps;k\n" + n + ";" + dim + ";" + nbClasses + ";" + time + ";"+ k);
						destination.close();
						System.out.println("TEST "+ numTest + " avec k = " + k + "\nn : " + n + "\ndim : " + dim + "\nnbClasses : " + nbClasses + "\nTemps : " + time + "\n********************");
						numTest++;
					
				}
			}
		}
	}