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; }
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; }