void obtencionDatos( int vectorIterationTries[], int vectorIterationTriesLength, float timeDesc[], float timeRandom []){
	int i = 0;
	int size = 0;
	int *vector;
	float timeCounter;

	for( i=0 ; i< vectorIterationTriesLength; i++){
		//printf("Itaration number: %d\n", i );
		size = vectorIterationTries[i];
		vector = (int *)malloc(sizeof(int)*size);
		inicializaVector( vector, vectorIterationTries[i], 1);
		metodo( vector, vectorIterationTries[i], &timeCounter );
		compruebaVector( vector, vectorIterationTries[i]);
		timeDesc[i]= timeCounter;

		timeCounter = 0;
		inicializaVector( vector, vectorIterationTries[i], 2);
		metodo( vector, vectorIterationTries[i], &timeCounter );
		compruebaVector( vector, vectorIterationTries[i]);
		timeRandom[i]= timeCounter;

	}
	
	

}
/**
 * Devuelve un parametro cuando se realizar una llamada a servicio
 * @param nombreParametro El nombre del parametro
 * @param valorDefault Valor default que se devuelve si no se encuetra el parametro
 *
 */
string Servicio::getParametro(string nombreParametro, string valorDefault) {
	string metodo(this->connexion->request_method);
	char buffer[tamanioBuffer];
	int resultado = mg_get_var(this->connexion, nombreParametro.c_str(), buffer,
			tamanioBuffer);
	if (resultado < 1) {
		return valorDefault;
	}

	string parametro(buffer);
	return parametro;
}
Exemple #3
0
int main(int argc, char *argv[])
{ 

float t = atof(argv[1]);

char arr[sizeof(t)];

snprintf(arr,sizeof(t),"%f",t);

float gamma = 1.4;
int ite =1000;
float dt = (float)t/(float)ite; 
int tam = 1000 ;
float dx = 20.0/(float)tam;
int i;
int j;
int k;
float a,b,c;

float **matrix0 = malloc(ite*sizeof(float *)); 

float **matrix1 = malloc(ite*sizeof(float *)); 
float **matrix2 = malloc(ite*sizeof(float *));  
for(i=0;i<ite;i++)
    {
    matrix0[i] = (float*)malloc(ite*sizeof(float));
    matrix1[i] = (float*)malloc(ite*sizeof(float));
    matrix2[i] = (float*)malloc(ite*sizeof(float));
    }



for(i=0;i<tam;i++){
    if (i<=499){                   
        matrix1[i][0]=1.0;        
        matrix2[i][0]=100000.0;}
                                
    if (i>499){                  
        matrix1[i][0]=0.125;     
        matrix2[i][0]=10000.0;}
}



for(i=1;i<tam;i++){
  for(j=0;j<ite-1;j++){
    if(i==0){
          metodo(i,gamma,tam,dx, dt,matrix0[i][j], matrix1[i][j], matrix2[i][j], matrix0[i+1][j], matrix1[i+1][j], matrix2[i+1][j],matrix0[tam-1][0], matrix1[tam-1][0],matrix2[tam-1][0],matrix0[0][0], matrix1[0][0],matrix2[0][0],matrix0[0][0], matrix1[0][0], matrix2[0][0], &a,&b,&c);
	  matrix0[i][j+1] = a;
	  matrix1[i][j+1] = b;
	  matrix2[i][j+1] = c;
    }
    if (i==tam-1){
          metodo(i,gamma,tam,dx, dt,matrix0[i][j], matrix1[i][j], matrix2[i][j], matrix0[tam-1][0], matrix1[tam-1][0], matrix2[tam-1][0],matrix0[tam-1][0], matrix1[tam-1][0],matrix2[tam-1][0],matrix0[i-1][j], matrix1[i-1][j],matrix2[i-1][j],matrix0[0][0], matrix1[0][0], matrix2[0][0], &a,&b,&c);
	  matrix0[i][j+1] = a;
	  matrix1[i][j+1] = b;
	  matrix2[i][j+1] = c;
    }

    else{
    metodo(i,gamma,tam,dx, dt,matrix0[i][j], matrix1[i][j], matrix2[i][j], matrix0[i+1][j], matrix1[i+1][j], matrix2[i+1][j],matrix0[tam-1][0], matrix1[tam-1][0],matrix2[tam-1][0],matrix0[i-1][j], matrix1[i-1][j],matrix2[i-1][j],matrix0[0][0], matrix1[0][0], matrix2[0][0], &a,&b,&c);
    matrix0[i][j+1] = a;
    matrix1[i][j+1] = b;
    matrix2[i][j+1] = c;
    }
  }
}


FILE *out;
char filename[100];
sprintf(filename, "estado_%s.dat", arr);
out = fopen(filename, "w");
for(i=0;i<tam;i++)
{
  fprintf(out, "%f %f %f %f\n", -10.0+(i*20.0)/999.0,matrix0[i][tam-1], matrix1[i][tam-1], matrix2[i][tam-1]);
}
fclose(out);

return 0;
}