int main(int argc, char *argv[]) { field_t **field; field = importField(); solvingSudoku(field); outputField(field); freeField(field); return 0; }
int initializeGame(tGame * game) { int error = 0; /* Inicializar Ai */ game->ai.lockWay = FALSE; game->ai.lockTarget = FALSE; game->ai.minAlive = 1; game->undos = 0; if ((error = initializePlayer(&(game->user), &(game->theme)))!=0) { if (error) { switch(error) { case STATUS_ARMY: freeField((game->user.enemyField), game->theme.rows); freeField((game->user.defenseField), game->theme.rows); break; case DEFENSE_FIELD: freeField((game->user.enemyField), game->theme.rows); break; case ENEMY_FIELD: break; } return NO_MEMORY; } } if ((error = initializePlayer(&(game->machine), &(game->theme)))!=0) { if (error) { switch(error) { case STATUS_ARMY: freeField((game->machine.enemyField), game->theme.rows); freeField((game->machine.defenseField), game->theme.rows); break; case DEFENSE_FIELD: freeField((game->machine.enemyField), game->theme.rows); break; case ENEMY_FIELD: break; } freeField((game->user.enemyField), game->theme.rows); freeField((game->user.defenseField), game->theme.rows); freeStatusArmy(&(game->user.statusArmy), &(game->theme)); return NO_MEMORY; } } return error; }
/** * Free field information */ void freeField(struct FileField_4C *field) { if (field->name != NULL) pfree(field->name); if (field->pathInSchema != NULL) pfree(field->pathInSchema); if (field->num_children > 0){ for (int i = 0; i < field->num_children; i++) { freeField(&(field->children[i])); } pfree(field->children); } }
void cleanUpGame() { if(!player()->gameStarted) return; resetBtnAll(); cleanUpDraw(); txtFreeGameCharSet(); freeField(&pf); gameState=GAMESTATEINIT; player()->gameStarted=0; //Free memory used for levelInfo freeLevelInfo( &pf.levelInfo ); }
/** * Free parquet metadata */ void freeParquetMetadata(ParquetMetadata parquetMetadata) { /* pfree field information*/ for (int i = 0; i < parquetMetadata->fieldCount; i++) { freeField(&(parquetMetadata->pfield[i])); } pfree(parquetMetadata->pfield); /* pfree hawqschemastr*/ if (parquetMetadata->hawqschemastr != NULL) pfree(parquetMetadata->hawqschemastr); if(parquetMetadata->currentBlockMD != NULL) { freeRowGroupInfo(parquetMetadata->currentBlockMD); } if (parquetMetadata->estimateChunkSizes != NULL) { pfree(parquetMetadata->estimateChunkSizes); } pfree(parquetMetadata); }
void editorCleanUp() { resetBtn(C_UP); resetBtn(C_DOWN); resetBtn(C_LEFT); resetBtn(C_RIGHT); resetBtn(C_BTNX); resetBtn(C_BTNB); //Free memory used for levelInfo freeLevelInfo( &pf.levelInfo ); //Free board and graphics here cleanUpDraw(); changed=0; freeField(&pf); //Free graphics SDL_FreeSurface(selBrickBG); SDL_FreeSurface(saveBtnBG); free(saveBtnSprite); }
main (int argc, char *argv[]){ register int i; int nfiles,shuffled; Field *hfld, *fout; FileList f; FILE *fp; char fname[BUFSIZ], tmpname[BUFSIZ];//, syscall[BUFSIZ]; char* syscall = new char[ BUFSIZ * 10 ]; parse_util_args(argc = generic_args (argc, argv, &f), argv, &f); #ifdef DEBUG debug_out = stdout; #endif nfiles = option("Nfiles"); if(!nfiles){ fprintf(stderr,"Must specify number of files with -p option\n"); exit(1); } hfld = (Field *)calloc(nfiles,sizeof(Field)); if(option("CONCATENATEDFILE")){ /* open input file */ sprintf(fname,"%s",f.in.name); sprintf(tmpname,"%s.tot.hdr",fname); if((fp = fopen(tmpname,"r")) == (FILE *) NULL){ fprintf(stderr,"unable to open the input file -- %s",tmpname); // exit(1); } else{ nfiles=0; while(readHeader (fp, hfld+nfiles, &shuffled)) nfiles++; fclose(fp); } } else{ /* determine file ending (i.e. .chk or .fld ) */ /* determine input files name by checking it's existance */ sprintf(fname,"%s",f.in.name); sprintf(tmpname,"%s.hdr.0",fname); if((fp = fopen(tmpname,"r")) == (FILE *) NULL){ sprintf(fname,"%s.fld",f.in.name); sprintf(tmpname,"%s.hdr.0",fname); if((fp = fopen(tmpname,"r")) == (FILE *) NULL){ fprintf(stderr,"%s: unable to open the input file -- " "%s.hdr.0 or %s.fld.hdr.0 \n",prog,f.in.name,f.in.name); // exit(1); } } fclose(fp); /* read in all field Header files */ for(i = 0; i < nfiles; ++i){ /* open input files */ sprintf(tmpname,"%s.hdr.%d",fname,i); if((fp = fopen(tmpname,"r")) == (FILE *) NULL) fprintf(stderr,"unable to open the input file -- %s",tmpname); //exit(1); else{ readHeader (fp, hfld+i, &shuffled); //printf(" readHeader file No. %d - done \n",i); fclose(fp); } } } fout = sortHeaders(hfld,nfiles); pllinfo.nprocs = 2; pllinfo.nloop = fout->nel; pllinfo.eloop = fout->emap; writeHeader(f.out.fp,fout); //printf("write Header file done \n"); pllinfo.nprocs = 1; for(i = 0; i < nfiles; ++i) freeField(hfld+i); /* make a system call to cat the dat files onto the output file */ if(f.out.name){ /* write info to file */ if(option("CONCATENATEDFILE")){ sprintf(syscall,"cat %s %s.tot.dat > %s.tmp",f.out.name,fname,f.out.name); } else{ sprintf(syscall,"cat %s %s.dat.0 ",f.out.name,fname); for(i = 1; i < nfiles; ++i){ if((hfld+i != ((Field* ) NULL))) sprintf(syscall,"%s %s.dat.%d ",syscall,fname, i); } sprintf(syscall,"%s > %s.tmp",syscall,f.out.name); } fprintf(stdout,"system call: %s\n",syscall); system(syscall); sprintf(syscall,"mv %s.tmp %s",f.out.name,f.out.name); fprintf(stdout,"system call: %s\n",syscall); system(syscall); } else{ /* cat to stdout */ if(option("CONCATENATEDFILE")){ sprintf(syscall,"cat %s.tot.dat",fname); } else{ sprintf(syscall,"cat %s.dat.0 ",fname); for(i = 1; i < nfiles; ++i){ sprintf(syscall,"%s %s.dat.%d ",syscall,fname,i); } } system(syscall); } delete[] syscall; return 0; }
gmi_model* MeshAdaptPUMIDrvr::createSphereInBox(double* boxDim,double*sphereCenter, double radius) { sphereRadius = radius; boxLength = boxDim[0]; boxWidth = boxDim[1]; boxHeight = boxDim[2]; xyz_offset[0] = sphereCenter[0]; xyz_offset[1] = sphereCenter[1]; xyz_offset[2] = sphereCenter[2]; lion_set_verbosity(1); //create the analytic model gmi_model* model = gmi_make_analytic(); //add the sphere makeSphere(model); //add the box makeBox(model); //apf::writeVtkFiles("initialInitial",m); setParameterization(model,m); m->verify(); //apf::Field* size_initial = apf::createLagrangeField(m,"size_initial",apf::SCALAR,1); size_iso = apf::createLagrangeField(m,"proteus_size",apf::SCALAR,1); apf::MeshIterator* it = m->begin(0); apf::MeshEntity* ent; while( (ent = m->iterate(it)) ) { apf::Vector3 pt; m->getPoint(ent,0,pt); if(sqrt( (pt[0]-xyz_offset[0])*(pt[0]-xyz_offset[0])+ (pt[1]-xyz_offset[1])*(pt[1]-xyz_offset[1]) + (pt[2]-xyz_offset[2])*(pt[2]-xyz_offset[2])) < sphereRadius*1.5) apf::setScalar(size_iso,ent,0,hmin); else apf::setScalar(size_iso,ent,0,hmax); } m->end(it); gradeMesh(); ma::Input* in = ma::configure(m,size_iso); in->maximumIterations = 10; in->shouldSnap = true; in->shouldTransferParametric = true; in->shouldFixShape = true; in->debugFolder="./debug_fine"; ma::adaptVerbose(in,false); m->verify(); //apf::writeVtkFiles("initialAdapt",m); freeField(size_iso); size_iso = apf::createLagrangeField(m,"proteus_size",apf::SCALAR,1); it = m->begin(0); while( (ent = m->iterate(it)) ) { apf::Vector3 pt; m->getPoint(ent,0,pt); if(sqrt( (pt[0]-xyz_offset[0])*(pt[0]-xyz_offset[0])+ (pt[1]-xyz_offset[1])*(pt[1]-xyz_offset[1]) + (pt[2]-xyz_offset[2])*(pt[2]-xyz_offset[2])) < sphereRadius*1.5) apf::setScalar(size_iso,ent,0,hmin); else apf::setScalar(size_iso,ent,0,hmax); } m->end(it); gradeMesh(); in = ma::configure(m,size_iso); in->maximumIterations = 10; in->shouldSnap = true; in->shouldTransferParametric = true; in->shouldFixShape = true; in->debugFolder="./debug_fine"; ma::adaptVerbose(in,false); m->verify(); //apf::writeVtkFiles("initialAdapt2",m); freeField(size_iso); return model; }
int main(void) { struct pollfd sfd[3]; const long timeout=500; //connection timeout in seconds struct timespec ts_timeout; int size; field *pmessage; fldformat *frm; isomessage smessage; GOOGLE_PROTOBUF_VERIFY_VERSION; frm=loadNetFormat(); if(!frm) { printf("Error: Can't load format\n"); return 1; } printf("Message format loaded\n"); sfd[2].fd=tcpinit(); if(sfd[2].fd==-1) { printf("Error: Unable to start TCP connection\n"); freeFormat(frm); return 1; } sfd[0].fd=ipcopen((char *)"visa"); if(sfd[0].fd==-1) { printf("Error: Unable to connect to switch\n"); close(sfd[2].fd); freeFormat(frm); return 1; } if (signal(SIGINT, catch_sigint) == SIG_ERR) printf("Warning: unable to set the signal handler\n"); sfd[0].events=POLLIN; sfd[1].events=POLLIN; while (1) { printf("Waiting for a connection...\n"); errno=0; sfd[1].fd=tcpconnect(sfd[2].fd); if(sfd[1].fd==-1) { if(sigint_caught) { printf("onnection aborted^\n"); break; } printf("Connection error: %s\n", strerror(errno)); sleep(1); continue; } printf("Connected.\n"); while (1) { printf("Waiting for a message...\n"); ts_timeout.tv_sec=timeout; ts_timeout.tv_nsec=0; errno=0; size=ppoll(sfd, 2, &ts_timeout, NULL); //printf("poll: %d: %hd, %hd: %s\n", size, sfd[0].revents, sfd[1].revents, strerror(errno)); if(size==-1) { if(sigint_caught) { printf("losing connection^\n"); break; } printf("Error: poll (%hd, %hd): %s\n", sfd[0].revents, sfd[1].revents, strerror(errno)); if(sfd[1].revents) break; else { usleep(100000); continue; } } else if(size==0) { printf("Error: Connection is inactive, closing it %ld, %ld\n", ts_timeout.tv_sec, ts_timeout. tv_nsec); break; } if(sfd[1].revents & POLLIN) { printf("Receiving message from net\n"); size=tcprecvmsg(sfd[1].fd, &pmessage, frm); if(size==-1) { printf("Closing connection\n"); break; } else if(size==0) continue; print_message(pmessage); if(isNetMgmt(pmessage)) { if(isNetRequest(pmessage)) { if(!processNetMgmt(pmessage)) { printf("Error: Unable to process Network Management request. Message dropped.\n"); freeField(pmessage); continue; } print_message(pmessage); size=tcpsendmsg(sfd[1].fd, pmessage); if(size==-1) { printf("Closing connection\n"); freeField(pmessage); break; } else if(size==0) { freeField(pmessage); continue; } printf("Network Management Message sent (%d bytes)\n", size); } freeField(pmessage); continue; } if(translateNetToSwitch(&smessage, pmessage)!=0) { printf("Error: Unable to translate the message to format-independent representation.\n"); if(isNetRequest(pmessage)) { if(!declineNetMsg(pmessage)) { printf("Error: Unable to decline the request. Message dropped.\n"); freeField(pmessage); continue; } print_message(pmessage); size=tcpsendmsg(sfd[1].fd, pmessage); if(size==-1) { printf("Closing connection\n"); freeField(pmessage); break; } else if(size==0) { freeField(pmessage); continue; } printf("Decline message sent (%d bytes)\n", size); } freeField(pmessage); continue; } printf("Converted message:\n"); smessage.PrintDebugString(); size=ipcsendmsg(sfd[0].fd, &smessage, (char *)"switch"); if(size<=0) { printf("Error: Unable to send the message to switch\n"); if(isNetRequest(pmessage)) { if(!declineNetMsg(pmessage)) { printf("Error: Unable to decline the request. Message dropped.\n"); freeField(pmessage); continue; } print_message(pmessage); size=tcpsendmsg(sfd[1].fd, pmessage); if(size==-1) { printf("Closing connection\n"); freeField(pmessage); break; } else if(size==0) { freeField(pmessage); continue; } printf("Decline message sent (%d bytes)\n", size); } freeField(pmessage); continue; } freeField(pmessage); printf("Message sent, size is %d bytes.\n", size); } if(sfd[0].revents & POLLIN) { printf("Receiving message from switch\n"); if(ipcrecvmsg(sfd[0].fd, &smessage)<0) continue; printf("\nOutgoingMessage:\n"); smessage.PrintDebugString(); pmessage=translateSwitchToNet(&smessage, frm); if(!pmessage) { printf("Error: Unable to translate the message from format-independent representation.\n"); if(isRequest(&smessage)) { if(!declineMsg(&smessage)) { printf("Error: Unable to decline the request. Message dropped.\n"); continue; } smessage.PrintDebugString(); size=ipcsendmsg(sfd[0].fd, &smessage, (char *)"switch"); if(size<=0) { printf("Error: Unable to return the declined message to switch. Message dropped.\n"); continue; } printf("Decline message sent (%d bytes)\n", size); } continue; } print_message(pmessage); size=tcpsendmsg(sfd[1].fd, pmessage); freeField(pmessage); if(size==-1) { printf("Closing connection\n"); if(isRequest(&smessage)) { if(!declineMsg(&smessage)) { printf("Error: Unable to decline the request. Message dropped.\n"); continue; } smessage.PrintDebugString(); size=ipcsendmsg(sfd[0].fd, &smessage, (char *)"switch"); if(size<=0) { printf("Error: Unable to return the declined message to switch. Message dropped.\n"); continue; } printf("Decline message sent (%d bytes)\n", size); } break; } else if(size==0) { if(isRequest(&smessage)) { if(!declineMsg(&smessage)) { printf("Error: Unable to decline the request. Message dropped.\n"); continue; } smessage.PrintDebugString(); size=ipcsendmsg(sfd[0].fd, &smessage, (char *)"switch"); if(size<=0) { printf("Error: Unable to return the declined message to switch. Message dropped.\n"); continue; } printf("Decline message sent (%d bytes)\n", size); } continue; } printf("Message sent (%d bytes)\n", size); } } tcpclose(sfd[1].fd); printf("Disconnected.\n"); if(sigint_caught) break; } tcpclose(sfd[2].fd); ipcclose(sfd[0].fd); freeFormat(frm); google::protobuf::ShutdownProtobufLibrary(); return 0; }