Exemplo n.º 1
0
Arquivo: CO.c Projeto: sleitner/cart
/* size(var) needs to be num_cell */
void compute_upto_level_hierarchy( void (*flevel)(int , int , int *, float *), float (*favg)(int , float *), int top_level, float *var) {
				   
  MESH_RUN_DECLARE(level,cell);
  float *var_level;
  
  MESH_RUN_OVER_LEVELS_BEGIN(level,_MaxLevel,top_level);

  var_level = cart_alloc(float,_Num_level_cells);
  
  flevel(level,_Num_level_cells,_Level_cells,var_level);
  
#pragma omp parallel for default(none), private(_Index,cell), shared(_Num_level_cells,_Level_cells,var_level,var,cell_child_oct,cell_vars,level, units,constants,favg)
  MESH_RUN_OVER_CELLS_OF_LEVEL_BEGIN(cell);

  if(cell_is_leaf(cell)) {
      var[cell] = MAX(0.0,var_level[_Index]);
  } else {
      var[cell] = favg(cell,var);
  }
  cart_assert( var[cell]>=0 && !(var[cell]!=var[cell]) );
  
  MESH_RUN_OVER_CELLS_OF_LEVEL_END;
  
  cart_free(var_level);

  MESH_RUN_OVER_LEVELS_END;
}
int main()
{
    puts("==========================");
    puts(" Beginner's Typing Test 4 ");
    puts("==========================");
    puts("LEVELS 5 : SCORE (5*5)=25");
	puts("==========================");
    int cases;
    printf("How Many Examinee(s)?: ");
    scanf("%d",&cases);
    while(cases--)
    {
		char name[30];score=0;length=3;
		puts("");puts("");
		puts("===============================");
		printf("Enter Your Name: ");
		scanf("%s",name);
		puts("===============================");
		printf("\nGet Ready %s !!!\n",name);
		system("pause");
        int level=5,levelcase=1;
		clock_t start=clock();
        while(levelcase<=level)
        {
            printf("\n\tLEVEL: %d\n",levelcase++);
			puts("============================");
            flevel();
        }
		puts("");puts("");
		puts("============================");
		printf("Total Score: %d\n",score);
		double a=(double)(clock()-start)/CLOCKS_PER_SEC;
		printf("\nTotal time = %.2f secondes\n", a);
		puts("============================\n\n");
        writefile(name,a);system("pause");
    }
	system("pause"); return 0;
}