void final_print_32_cigam(uint64_t size, uint64_t addr, char *text) { uint64_t i; int j; i = 0; while (i < size) { j = 0; print_addr(get_len(addr, BASE_HEX), addr, 32); while (j < 16 && i < size) { if ((text[i] >= 0 && get_len(text[i], BASE_HEX) == 1) || (text[i] < 0 && get_len(text[i] + 256, BASE_HEX) == 1)) ft_putnbr(0); if (text[i] < 0) put_base(text[i] + 256, BASE_HEX); else put_base(text[i], BASE_HEX); if ((j + 1) % 4 == 0) ft_putchar(' '); ++j; ++i; addr++; } ft_putstr("\n"); } }
static void print_addr(int len, uint64_t addr, int opt) { int i; if (opt == 64) i = 16 - len; else i = 8 - len; while (--i >= 0) ft_putchar('0'); put_base(addr, BASE_HEX); ft_putchar(' '); }
int read_prob() { int k,l,lcuts,cont; CONSTRAINT **stack = NULL; long offset; struct BRANCH *ptr; VARIABLE *col; FILE *pfile; // float t1; do{ if( tree==NULL ) return(0); offset = tree->file; lowerb = tree->val; ptr = tree->next; free(tree); tree = ptr; }while( ceil(lowerb-ZERO)+ZERO > upperb ); #ifdef STAMP std::cout << " >>>>>>>>>>>>> reading problem " << (float)lowerb << std::endl; #endif // t1 = seconds(); pfile = fopen(fbranch,"r"); if(pfile==NULL){ std::cout << "ERROR: not possible to write on " << fbranch << std::endl; CSPexit(EXIT_ERROR); //exit(1); } fseek(pfile,offset,SEEK_SET); for(k=0;k<ncols;k++) columns[k].stat = FIX_LB; fscanf(pfile,"%d",&cont); for(k=0;k<cont;k++){ fscanf(pfile,"%p %d",&col,&l); col->stat = l; } fscanf(pfile,"%d",&lcuts); if(lcuts){ stack = (CONSTRAINT **)malloc( lcuts * sizeof( CONSTRAINT *) ); if( stack==NULL ){ std::cout << "ERROR: not enought memory for STACK" << std::endl; CSPexit(EXIT_MEMO); //exit(1); } for(k=0;k<lcuts;k++){ fscanf(pfile,"%p",stack+k); stack[k]->stat = 0; } } fclose(pfile); load_lp(); if(lcuts){ add_rows(lcuts,stack); free( (void *)stack ); stack = NULL; /*PWOF*/ } put_base(); setup_lp(); get_solution(); return(1); }