/* Make first row entries in column col of bset1 identical to * those of bset2, using the fact that entry bset1->eq[row][col]=a * is non-zero. Initially, these elements of bset1 are all zero. * For each row i < row, we set * A[i] = a * A[i] + B[i][col] * A[row] * B[i] = a * B[i] * so that * A[i][col] = B[i][col] = a * old(B[i][col]) */ static void construct_column( struct isl_basic_set *bset1, struct isl_basic_set *bset2, unsigned row, unsigned col) { int r; isl_int a; isl_int b; unsigned total; isl_int_init(a); isl_int_init(b); total = 1 + isl_basic_set_n_dim(bset1); for (r = 0; r < row; ++r) { if (isl_int_is_zero(bset2->eq[r][col])) continue; isl_int_gcd(b, bset2->eq[r][col], bset1->eq[row][col]); isl_int_divexact(a, bset1->eq[row][col], b); isl_int_divexact(b, bset2->eq[r][col], b); isl_seq_combine(bset1->eq[r], a, bset1->eq[r], b, bset1->eq[row], total); isl_seq_scale(bset2->eq[r], bset2->eq[r], a, total); } isl_int_clear(a); isl_int_clear(b); delete_row(bset1, row); }
int main() { char *a = "Petar"; generate(); write_tab(stdout); FILE *fout; fout = fopen("tab.txt", "w"); write_tab(fout); fclose(fout); sort_tab_number(); write_tab(stdout); sort_tab_name(); write_tab(stdout); delete_row(96); write_tab(stdout); insert_row(a, 500, 20000); write_tab(stdout); return 0; }
void KeyValuesTable::remove(const char * key) { QString ks = toUnicode(key); int index; for (index = 0; index != numRows(); index += 1) { if (text(index, 0) == ks) { delete_row(index); break; } } }
/* Make first row entries in column col of bset1 identical to * those of bset2, using only these entries of the two matrices. * Let t be the last row with different entries. * For each row i < t, we set * A[i] = (A[t][col]-B[t][col]) * A[i] + (B[i][col]-A[i][col) * A[t] * B[i] = (A[t][col]-B[t][col]) * B[i] + (B[i][col]-A[i][col) * B[t] * so that * A[i][col] = B[i][col] = old(A[t][col]*B[i][col]-A[i][col]*B[t][col]) */ static int transform_column( struct isl_basic_set *bset1, struct isl_basic_set *bset2, unsigned row, unsigned col) { int i, t; isl_int a, b, g; unsigned total; for (t = row-1; t >= 0; --t) if (isl_int_ne(bset1->eq[t][col], bset2->eq[t][col])) break; if (t < 0) return 0; total = 1 + isl_basic_set_n_dim(bset1); isl_int_init(a); isl_int_init(b); isl_int_init(g); isl_int_sub(b, bset1->eq[t][col], bset2->eq[t][col]); for (i = 0; i < t; ++i) { isl_int_sub(a, bset2->eq[i][col], bset1->eq[i][col]); isl_int_gcd(g, a, b); isl_int_divexact(a, a, g); isl_int_divexact(g, b, g); isl_seq_combine(bset1->eq[i], g, bset1->eq[i], a, bset1->eq[t], total); isl_seq_combine(bset2->eq[i], g, bset2->eq[i], a, bset2->eq[t], total); } isl_int_clear(a); isl_int_clear(b); isl_int_clear(g); delete_row(bset1, t); delete_row(bset2, t); return 1; }
void play_the_game(t_rows **begin) { int i; i = 0; while ((*begin)->line[0] != 0) { get_play(begin, i); if ((*begin)->line[0] == '\0' && (*begin)->next) delete_row(begin); i++; } free((*begin)->line); free(*begin); display_winner(i); }
void QcOfflineCacheDatabase::delete_tile(const QcTileSpec & tile_spec) { QString where = tile_where_clause(tile_spec); QSqlRecord record = select_one(TILE, QStringList(OFFLINE_COUNT), where); if (!record.isEmpty()) { int offline_count = record.value(0).toInt(); if (offline_count > 1) { KeyValuePair kwargs; kwargs.insert(OFFLINE_COUNT, offline_count -1); update(TILE, kwargs, where); } else delete_row(TILE, where); } }
void CMatrix_ver2::minor_mk2(const int r, const int c) { delete_row(r); delete_column(c); }
void __cdecl thread(void *args) { int id; HANDLE *event_list=args; HANDLE event=0,event_idle=0; if(args==0) return; event=event_list[0]; event_idle=event_list[1]; if(event==0 || event_idle==0) return; printf("worker thread started\n"); while(TRUE){ stop_thread_menu(FALSE); SetEvent(event_idle); id=WaitForSingleObject(event,INFINITE); if(id==WAIT_OBJECT_0){ stop_thread_menu(TRUE); strncpy(localinfo,taskinfo,sizeof(localinfo)); printf("db=%s\n",localinfo); switch(task){ case TASK_CLOSE_DB: { DB_TREE *db=0; if(find_db_tree(localinfo,&db)){ intelli_del_db(db->name); mdi_remove_db(db); set_status_bar_text(ghstatusbar,0,"closed %s",localinfo); } else set_status_bar_text(ghstatusbar,0,"cant find %s",localinfo); } break; case TASK_OPEN_DB_AND_TABLE: case TASK_OPEN_DB: { DB_TREE *db=0; char *table; int result=FALSE; table=strstr(localinfo,";TABLE="); if(table!=0){ table[0]=0; table++; } SetWindowText(ghstatusbar,"opening DB"); if(!wait_for_treeview()){ SetWindowText(ghstatusbar,"treeview error"); break; } acquire_db_tree(localinfo,&db); if(!mdi_open_db(db)){ char str[512]; mdi_remove_db(db); _snprintf(str,sizeof(str),"Cant open %s",localinfo); str[sizeof(str)-1]=0; MessageBox(ghmainframe,str,"OPEN DB FAIL",MB_OK); SetWindowText(ghstatusbar,"error opening DB"); set_focus_after_open(db); } else{ intelli_add_db(db->name); set_focus_after_open(db); reassign_tables(db); if(task==TASK_OPEN_DB_AND_TABLE && table!=0 && strncmp(table,"TABLE=",sizeof("TABLE=")-1)==0){ table+=sizeof("TABLE=")-1; ResetEvent(event); task_open_table(db->name,table); continue; } else{ load_tables_if_empty(db); if(keep_closed) close_db(db); result=TRUE; } } set_status_bar_text(ghstatusbar,0,"open DB %s %s",result?"done":"failed",keep_closed?"(closed DB)":""); } break; case TASK_GET_COL_INFO: { void *db=0; char table[80]={0}; sscanf(localinfo,"DB=0x%08X;TABLE=%79[ -~]",&db,table); table[sizeof(table)-1]=0; if(db!=0){ int result; set_status_bar_text(ghstatusbar,0,"getting col info for %s",table); result=get_col_info(db,table); if(keep_closed) close_db(db); if(result) set_status_bar_text(ghstatusbar,0,"col info done, %s",keep_closed?"(closed DB)":""); set_focus_after_open(db); } } break; case TASK_GET_INDEX_INFO: { void *db=0; char table[80]={0}; sscanf(localinfo,"DB=0x%08X;TABLE=%79[ -~]",&db,table); table[sizeof(table)-1]=0; if(db!=0){ int result; set_status_bar_text(ghstatusbar,0,"getting index info for %s",table); result=get_index_info(db,table); if(keep_closed) close_db(db); if(result) set_status_bar_text(ghstatusbar,0,"index info done, %s",keep_closed?"(closed DB)":""); set_focus_after_open(db); } } break; case TASK_GET_FOREIGN_KEYS: { void *db=0; char table[80]={0}; sscanf(localinfo,"DB=0x%08X;TABLE=%79[ -~]",&db,table); table[sizeof(table)-1]=0; if(db!=0){ int result; set_status_bar_text(ghstatusbar,0,"getting foreign keys for %s",table); result=get_foreign_keys(db,table); if(keep_closed) close_db(db); if(result) set_status_bar_text(ghstatusbar,0,"index info done, %s",keep_closed?"(closed DB)":""); set_focus_after_open(db); } } break; case TASK_UPDATE_ROW: { int result=FALSE; void *win=0; int row=0; sscanf(localinfo,"WIN=0x%08X;ROW=%i",&win,&row); if(win!=0){ char *s=strstr(localinfo,"DATA="); if(s!=0){ s+=sizeof("DATA=")-1; result=update_row(win,row,s); if(keep_closed){ void *db=0; acquire_db_tree_from_win(win,&db); close_db(db); } } } set_status_bar_text(ghstatusbar,0,"update row %s %s", result?"done":"failed", keep_closed?"(closed DB)":""); } break; case TASK_DELETE_ROW: { int result=FALSE; void *win=0; int row=0; sscanf(localinfo,"WIN=0x%08X;ROW=%i",&win,&row); if(win!=0){ result=delete_row(win,row); if(keep_closed){ void *db=0; acquire_db_tree_from_win(win,&db); close_db(db); } } set_status_bar_text(ghstatusbar,0,"delete row %s", result?"done":"failed", (win!=0 && keep_closed)?"(closed DB)":""); } break; case TASK_INSERT_ROW: { int result=FALSE; void *win=0,*hlistview=0; sscanf(localinfo,"WIN=%08X,HLISTVIEW=0x%08X",&win,&hlistview); if(win!=0 && hlistview!=0){ int msg=IDOK; result=insert_row(win,hlistview); if(!result) msg=IDCANCEL; PostMessage(GetParent(hlistview),WM_USER,msg,hlistview); if(keep_closed){ void *db=0; acquire_db_tree_from_win(win,&db); close_db(db); } } set_status_bar_text(ghstatusbar,0,"inserting row %s %s", result?"done":"failed", (win!=0 && hlistview!=0 && keep_closed)?"(closed DB)":""); } break; case TASK_EXECUTE_QUERY: { void *win=0; int result=FALSE; win=strtoul(localinfo,0,0); if(win==0) mdi_get_current_win(&win); if(win!=0){ char *s=0; int size=0; reopen_db(win); mdi_create_abort(win); mdi_get_edit_text(win,&s,&size); if(s!=0){ sql_remove_comments(s,size); result=execute_sql(win,s,TRUE); free(s); } mdi_destroy_abort(win); if(keep_closed){ void *db=0; acquire_db_tree_from_win(win,&db); close_db(db); } set_focus_after_result(win,result); } if(!result) set_status_bar_text(ghstatusbar,0,"execute sql failed %s", keep_closed?"(closed DB)":""); } break; case TASK_NEW_QUERY: { void *db=0; find_selected_tree(&db); if(db!=0){ void *win=0; char *tname="new_query"; if(acquire_table_window(&win,tname)){ create_table_window(ghmdiclient,win); set_focus_after_result(win,FALSE); assign_db_to_table(db,win,tname); } } } break; case TASK_REFRESH_TABLES: case TASK_REFRESH_TABLES_ALL: { int result=FALSE; DB_TREE *db=0; SetWindowText(ghstatusbar,"refreshing tables"); if(acquire_db_tree(localinfo,&db)){ if(!mdi_open_db(db)){ mdi_remove_db(db); SetWindowText(ghstatusbar,"error opening DB"); } else{ intelli_add_db(db->name); result=refresh_tables(db,task==TASK_REFRESH_TABLES_ALL); if(keep_closed) close_db(db); } if(result) set_status_bar_text(ghstatusbar,0,"refreshed tables %s", keep_closed?"(closed DB)":""); } else SetWindowText(ghstatusbar,"error refreshing cant acquire table"); } break; case TASK_LIST_TABLES: { int result=FALSE; DB_TREE *db=0; SetWindowText(ghstatusbar,"listing tables"); if(acquire_db_tree(localinfo,&db)){ if(!mdi_open_db(db)){ mdi_remove_db(db); SetWindowText(ghstatusbar,"error opening DB"); } else{ intelli_add_db(db->name); result=get_table_list(db); if(keep_closed) close_db(db); } if(result){ set_status_bar_text(ghstatusbar,0,"done listing tables %s", keep_closed?"(closed DB)":""); }else{ SetWindowText(ghstatusbar,"error listing tables"); } } else SetWindowText(ghstatusbar,"error refreshing cant acquire tree"); } break; case TASK_LIST_PROCS: { int result=FALSE; DB_TREE *db=0; SetWindowText(ghstatusbar,"listing stored procedures"); if(acquire_db_tree(localinfo,&db)){ if(!mdi_open_db(db)){ mdi_remove_db(db); SetWindowText(ghstatusbar,"error opening DB"); } else{ intelli_add_db(db->name); result=get_proc_list(db); if(keep_closed) close_db(db); } if(result){ set_status_bar_text(ghstatusbar,0,"done listing stored procs %s", keep_closed?"(closed DB)":""); }else{ SetWindowText(ghstatusbar,"error listing stored procs"); } } else SetWindowText(ghstatusbar,"error refreshing cant acquire tree"); } break; case TASK_OPEN_TABLE: { int result=FALSE; char dbname[MAX_PATH*2]={0},table[80]={0},*p; p=strrchr(localinfo,';'); if(p!=0){ void *db=0; p[0]=0; strncpy(dbname,localinfo,sizeof(dbname)); strncpy(table,p+1,sizeof(table)); if(find_db_tree(dbname,&db)){ void *win=0; if(acquire_table_window(&win,table)){ char sql[256]={0}; create_table_window(ghmdiclient,win); open_db(db); assign_db_to_table(db,win,table); if(strchr(table,' ')!=0) _snprintf(sql,sizeof(sql),"SELECT * FROM [%s]",table); else _snprintf(sql,sizeof(sql),"SELECT * FROM %s",table); mdi_set_edit_text(win,sql); mdi_create_abort(win); result=execute_sql(win,sql,TRUE); mdi_destroy_abort(win); load_tables_if_empty(db); set_focus_after_result(win,result); if(keep_closed) close_db(db); } else free_window(win); } } if(!result) set_status_bar_text(ghstatusbar,0,"open table:%s %s %s", table,"failed",keep_closed?"(closed DB)":""); } break; case TASK_INTELLISENSE_ADD_ALL: { void *win=0; int result=FALSE; win=strtoul(localinfo,0,0); if(win==0) mdi_get_current_win(&win); if(win!=0){ reopen_db(win); mdi_create_abort(win); result=intellisense_add_all(win); mdi_destroy_abort(win); if(keep_closed){ void *db=0; acquire_db_tree_from_win(win,&db); close_db(db); } set_focus_after_result(win,FALSE); } if(!result) set_status_bar_text(ghstatusbar,0,"intellisense add all failed %s", keep_closed?"(closed DB)":""); } break; default: break; } } ResetEvent(event); } CloseHandle(event); hworker=0; }
void main ( int argc, char **argv ) { long i,a; char found = 0; char *nome_campo; FILE *fp; if (argc == 3) { // printf("Usage: ./insert_into <tablename> <FieldX> <ValueX>\n"); printf("OR\n"); printf("Usage: ./insert_into <tablename>\n"); return; } table *tmpTable; read_header(argv[1],&tmpTable); if (argc == 2) { // printf("[TABLE: %s; numFields: %i]\n",tmpTable->name, tmpTable->numFields); for (i=0;i<tmpTable->numFields;i++) { printf("[FIELD: %s; fieldSize: %i]\n",(tmpTable->fields[i]).name, (tmpTable->fields[i]).fieldSize); } free(tmpTable); return; } table_row *row; if (hasIndex(tmpTable,argv[2])) { printf("[FIELD: %s IS INDEXED!]\n",argv[2]); rdstart(); i = search(argv[3]); fclose(fptree); } else { i = 0; } if (i == -1) { printf("Nenhum registro encontrado!\n"); } for (;i>-1;i++) { row = get_row(tmpTable,i); if (row == NULL) { if (found == 0) { printf("Nenhum registro encontrado!\n"); } break; } if (strcmp(get_row_field(tmpTable,row,argv[2]),argv[3]) == 0) { found = 1; delete_row(tmpTable,i); for (a=0;a<tmpTable->numFields;a++) { if (hasIndex(tmpTable,(tmpTable->fields[a]).name)) { rdstart(); delnode(get_row_field(tmpTable,row,(tmpTable->fields[a]).name)); printtree(root); wrstart(); fclose(fptree); } } free(row); break; } free(row); } free(tmpTable); return; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { rnum = 5; cnum = 5; mod = 10; data.assign(rnum * cnum, 0); ui->setupUi(this); update_matrix(); sub_menu = new QMenu(this); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tableWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(show_menu(QPoint))); createAct = new QAction(this); createAct->setIcon(QIcon::fromTheme("window-new")); createAct->setText("Create new matrix..."); createAct->setStatusTip("CTRL + N"); createAct->setShortcut(Qt::CTRL + Qt::Key_N); connect(createAct, SIGNAL(triggered()),this, SLOT(create_mat())); sub_menu->addAction(createAct); ui->menuFiles->addAction(createAct); ui->mainToolBar->addAction(createAct); fillAct = new QAction(this); fillAct->setIcon(QIcon::fromTheme("view-refresh")); fillAct->setText("Generate matrix values"); fillAct->setStatusTip("CTRL + G"); fillAct->setShortcut(Qt::CTRL + Qt::Key_G); connect(fillAct, SIGNAL(triggered()),this, SLOT(fill_matrix())); sub_menu->addAction(fillAct); ui->menuFiles->addAction(fillAct); ui->mainToolBar->addAction(fillAct); searchAct = new QAction(this); searchAct->setIcon(QIcon::fromTheme("system-search")); searchAct->setEnabled(0); searchAct->setText("Find max"); searchAct->setStatusTip("CTRL + F"); searchAct->setShortcut(Qt::CTRL + Qt::Key_F); connect(searchAct, SIGNAL(triggered()),this, SLOT(find_max())); sub_menu->addAction(searchAct); ui->menuFiles->addAction(searchAct); ui->mainToolBar->addAction(searchAct); deleteAct = new QAction(this); deleteAct->setIcon(QIcon::fromTheme("edit-delete")); deleteAct->setEnabled(0); deleteAct->setText("Delete current row"); deleteAct->setStatusTip("CTRL + X"); deleteAct->setShortcut(Qt::CTRL + Qt::Key_X); connect(deleteAct, SIGNAL(triggered()),this, SLOT(delete_row())); sub_menu->addAction(deleteAct); ui->menuFiles->addAction(deleteAct); ui->mainToolBar->addAction(deleteAct); ui->menuFiles->addSeparator(); closeAct = new QAction(this); closeAct->setIcon(QIcon::fromTheme("window-close")); closeAct->setText("Close file"); closeAct->setStatusTip("CTRL + Q"); closeAct->setShortcut(Qt::CTRL + Qt::Key_Q); connect(closeAct, SIGNAL(triggered()),this, SLOT(close())); ui->menuFiles->addAction(closeAct); ui->mainToolBar->addAction(closeAct); //QToolBar* pr_bar = this->addToolBar("Main toolbar"); //pr_bar->addAction(closeAct); }