static adv_error fb_getvar(struct fb_var_screeninfo* var, unsigned hint_index) { unsigned r_mask; unsigned g_mask; unsigned b_mask; log_std(("video:fb: FBIOGET_VSCREENINFO\n")); /* get the variable info */ if (ioctl(fb_state.fd, FBIOGET_VSCREENINFO, var) != 0) { log_std(("ERROR:video:fb: ioctl(FBIOGET_VSCREENINFO) failed\n")); return -1; } r_mask = ((1 << var->red.length) - 1) << var->red.offset; g_mask = ((1 << var->green.length) - 1) << var->green.offset; b_mask = ((1 << var->blue.length) - 1) << var->blue.offset; /* if overlapping */ if ((r_mask & g_mask) != 0 || (r_mask & b_mask) != 0 || (b_mask & g_mask) != 0 ) { log_std(("ERROR:video:fb: overlapping RGB nibble %x/%x/%x\n", r_mask, g_mask, b_mask)); switch (hint_index) { case MODE_FLAGS_INDEX_BGR15 : log_std(("video:fb: setting generic %s nibble\n", index_name(hint_index))); var->red.length = 5; var->red.offset = 10; var->green.length = 5; var->green.offset = 5; var->blue.length = 5; var->blue.offset = 0; break; case MODE_FLAGS_INDEX_BGR16 : log_std(("video:fb: setting generic %s nibble\n", index_name(hint_index))); var->red.length = 5; var->red.offset = 11; var->green.length = 6; var->green.offset = 5; var->blue.length = 5; var->blue.offset = 0; break; case MODE_FLAGS_INDEX_BGR24 : case MODE_FLAGS_INDEX_BGR32 : log_std(("video:fb: setting generic %s nibble\n", index_name(hint_index))); var->red.length = 8; var->red.offset = 16; var->green.length = 8; var->green.offset = 8; var->blue.length = 8; var->blue.offset = 0; break; } } return 0; }
otama_status_t create(void) { /* TODO: global mutex */ int ret; otama_mmap_t *metadata_shm; metadata_t *metadata; ret = otama_mmap_create(m_shm_dir.c_str(), metadata_name().c_str(), sizeof(*m_memory_table.metadata)); if (ret != 0) { OTAMA_LOG_ERROR("shm_create: %s", metadata_name().c_str()); return OTAMA_STATUS_SYSERROR; } ret = otama_mmap_create(m_shm_dir.c_str(), index_name().c_str(), sizeof(*m_memory_table.index) * DEFAULT_COUNT_MAX); if (ret != 0) { OTAMA_LOG_ERROR("shm_create: %s", index_name().c_str()); return OTAMA_STATUS_SYSERROR; } ret = otama_mmap_create(m_shm_dir.c_str(), vector_name().c_str(), sizeof(*m_memory_table.vec) * DEFAULT_COUNT_MAX); if (ret != 0) { OTAMA_LOG_ERROR("shm_create: %s", vector_name().c_str()); return OTAMA_STATUS_SYSERROR; } ret = otama_mmap_open(&metadata_shm, m_shm_dir.c_str(), metadata_name().c_str(), sizeof(metadata_t)); if (ret != 0) { OTAMA_LOG_ERROR("shm_open failed: %s", metadata_name().c_str()); return OTAMA_STATUS_SYSERROR; } metadata = (metadata_t *)otama_mmap_mem(metadata_shm); metadata->count_max = DEFAULT_COUNT_MAX; metadata->last_no = -1; metadata->last_commit_no = -1; metadata->count = 0; otama_mmap_sync(metadata_shm); otama_mmap_close(&metadata_shm); return OTAMA_STATUS_OK; }
otama_status_t open(void) { int ret; ret = otama_mmap_open(&m_shm.metadata, m_shm_dir.c_str(), metadata_name().c_str(), sizeof(metadata_t)); if (ret != 0) { close(); // file not found? //OTAMA_LOG_NOTICE("shm_open failed: %s", metadata_name().c_str()); return OTAMA_STATUS_SYSERROR; } m_memory_table.metadata = (metadata_t *)otama_mmap_mem(m_shm.metadata); if (m_memory_table.metadata->count_max == 0) { close(); // windows //OTAMA_LOG_NOTICE("shm_open: count zero: %s", metadata_name().c_str()); return OTAMA_STATUS_SYSERROR; } ret = otama_mmap_open(&m_shm.index, m_shm_dir.c_str(), index_name().c_str(), sizeof(*m_memory_table.index) * m_memory_table.metadata->count_max); if (ret != 0) { close(); OTAMA_LOG_ERROR("shm_open failed: %s", index_name().c_str()); return OTAMA_STATUS_SYSERROR; } m_memory_table.index = (index_t *)otama_mmap_mem(m_shm.index); ret = otama_mmap_open(&m_shm.vec, m_shm_dir.c_str(), vector_name().c_str(), sizeof(*m_memory_table.vec) * m_memory_table.metadata->count_max); if (ret != 0) { close(); OTAMA_LOG_ERROR("shm_open failed: %s", vector_name().c_str()); return OTAMA_STATUS_SYSERROR; } m_memory_table.vec = (T*)otama_mmap_mem(m_shm.vec); // sync count m_memory_table.count = m_memory_table.metadata->count; return OTAMA_STATUS_OK; }
void shape_datasource::init(shape_io& shape) { //first read header from *.shp int file_code=shape.shp().read_xdr_integer(); if (file_code!=9994) { //invalid throw datasource_exception("wrong file code"); } shape.shp().skip(5*4); file_length_=shape.shp().read_xdr_integer(); int version=shape.shp().read_ndr_integer(); if (version!=1000) { //invalid version number throw datasource_exception("invalid version number"); } int shape_type=shape.shp().read_ndr_integer(); shape.shp().read_envelope(extent_); shape.shp().skip(4*8); // check if we have an index file around std::string index_name(shape_name_+".index"); std::ifstream file(index_name.c_str(),std::ios::in | std::ios::binary); if (file) { indexed_=true; file.close(); } std::clog << extent_ << std::endl; std::clog << "file_length=" << file_length_ << std::endl; std::clog << "shape_type=" << shape_type << std::endl; }
static int test_vbe(int x, int y, vbe_video_mode* mode) { char buffer[256]; struct vga_info info; struct vga_regs regs; adv_crtc crtc; draw_test_default(); snprintf(buffer, sizeof(buffer), "vbe %s 0x%x %dx%dx%d [%dx%d]", index_name(video_index()), mode->mode, video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y()); draw_string(x, y, buffer, DRAW_COLOR_WHITE); ++y; ++y; vga_mode_get(®s); vga_regs_info_get(®s, &info); if (crtc_import(&crtc, &info, video_size_x(), video_size_y(), video_measured_vclock())==0) { ++y; y = test_crtc(x, y, &crtc, 0, 1, 0); } ++y; y = test_default_command(x, y); return y; }
static adv_error fb_test_auto(struct fb_var_screeninfo* var, unsigned pixelclock, unsigned hde, unsigned hrs, unsigned hre, unsigned ht, unsigned vde, unsigned vrs, unsigned vre, unsigned vt, adv_bool doublescan, adv_bool interlace, adv_bool nhsync, adv_bool nvsync) { unsigned index; if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR16) != 0) { index = MODE_FLAGS_INDEX_BGR16; } else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR15) != 0) { index = MODE_FLAGS_INDEX_BGR15; } else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR32) != 0) { index = MODE_FLAGS_INDEX_BGR32; } else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_PALETTE8) != 0) { index = MODE_FLAGS_INDEX_PALETTE8; } else if ((fb_state.flags & VIDEO_DRIVER_FLAGS_MODE_BGR24) != 0) { index = MODE_FLAGS_INDEX_BGR24; } else { return -1; } log_std(("video:fb: test mode %dx%d %s\n", hde, vde, index_name(index))); fb_preset(var, pixelclock, hde, hrs, hre, ht, vde, vrs, vre, vt, doublescan, interlace, nhsync, nvsync, index, FB_ACTIVATE_TEST); if (fb_setvar(var) != 0) return -1; return 0; }
int ArchivoRegVars::r_file_exists(){ FILE *fpd=fopen(filename,"r"), *fpi=fopen(index_name().c_str(),"r"); if(fpd==NULL|| fpi==NULL){ return 1; } fclose(fpd); fclose(fpi); return 0; }
int ArchivoRegVars::r_open(string mode){ f_d_handler= fopen(filename, mode.c_str()); //data binary f_i_handler= fopen(index_name().c_str(), mode.c_str()); //index binary if(f_d_handler!=NULL && f_i_handler!= NULL){ return 0; } return 1; }
int ArchivoRegVars::r_create(){ FILE *fpd=fopen(filename, "w"); FILE *fpi=fopen(index_name().c_str(), "w"); if(fpd==NULL||fpi==NULL) { return 1; } t_index_size counter=0; fwrite(&counter, 1, sizeof(t_index_size), fpi); fclose(fpd); fclose(fpi); return 0; }
static adv_error fb_test(struct fb_var_screeninfo* var, unsigned pixelclock, unsigned hde, unsigned hrs, unsigned hre, unsigned ht, unsigned vde, unsigned vrs, unsigned vre, unsigned vt, adv_bool doublescan, adv_bool interlace, adv_bool nhsync, adv_bool nvsync, unsigned index) { log_std(("video:fb: test mode %dx%d %s\n", hde, vde, index_name(index))); fb_preset(var, pixelclock, hde, hrs, hre, ht, vde, vrs, vre, vt, doublescan, interlace, nhsync, nvsync, index, FB_ACTIVATE_TEST); if (fb_setvar(var) != 0) return -1; return 0; }
int main (int argc,char* const argv[]) { /* define types */ using plist_type = block_postings_list<128>; using my_index_t = idx_invfile<plist_type,my_rank_bm25<> >; using clock = std::chrono::high_resolution_clock; /* parse command line */ cmdargs_t args = parse_args(argc,argv); // read warm-up queries if specified std::vector<query_t> warm_queries; /* parse queries */ std::cout << "Parsing query file '" << args.query_file << "'" << std::endl; auto queries = query_parser::parse_queries(args.collection_dir,args.query_file); std::cout << "Found " << queries.size() << " queries." << std::endl; std::string index_name(basename(strdup(args.collection_dir.c_str()))); /* load the index */ my_index_t index; auto load_start = clock::now(); // Construct index instance. construct(index, args.postings_file, args.F_t_file, args.df_t_file); // Get vector of doc lengths and uint64 term count using asc file uint64_t term_count = 0, temp; std::vector<uint64_t>doc_lens; doc_lens.reserve(131072); // Speed up load. ifstream doclen_file(args.doclen_file); if(doclen_file.is_open() != true){ std::cerr << "Couldn't open: " << args.doclen_file << std::endl; exit(EXIT_FAILURE); } std::cout << "Reading document lengths." << std::endl; /*Read the lengths of each document from asc file into vector*/ while(doclen_file >> temp){ doc_lens.push_back(temp); term_count += temp; } if(args.global_file != "") { ifstream global_file(args.global_file); if(global_file.is_open() != true){ std::cerr << "Couldn't open: " << args.global_file << std::endl; exit(EXIT_FAILURE); } uint64_t total_docs, total_terms; global_file >> total_docs >> total_terms; index.load(doc_lens, total_terms, total_docs); }
void sectioninfoObj::index_name(std::ostream &o) const { auto p=parent.getptr(); if (!p.null()) { p->index_name(o); o << "."; } o << (index+1); }
static int test_vgaline(int x, int y, vgaline_video_mode* mode) { char buffer[256]; draw_test_default(); if (video_is_text()) { snprintf(buffer, sizeof(buffer), "vgaline %s %dx%d %dx%d", index_name(video_index()), video_size_x(), video_size_y(), video_size_x() / video_font_size_x(), video_size_y() / video_font_size_y()); draw_string(x, y, buffer, DRAW_COLOR_WHITE); ++y; } else { snprintf(buffer, sizeof(buffer), "vgaline %s %dx%dx%d [%dx%d]", index_name(video_index()), video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y()); draw_string(x, y, buffer, DRAW_COLOR_WHITE); ++y; } ++y; y = test_crtc(x, y, &mode->crtc, 1, 1, 1); y = test_default_command(x, y); return y; }
void add_mail(char file_name[]) { FILE *fptr = fopen(file_name, "r"); int date=0,id=0; static char from[NAME_SIZE],to[NAME_SIZE]; if(fptr != NULL) { if(fgets(input_buffer, BUFFER_SIZE, fptr)) { //From: strcpy(from, &input_buffer[6]); } if(fgets(input_buffer, BUFFER_SIZE, fptr)) { //Date: date = get_time(&input_buffer[6]); } if(fgets(input_buffer, BUFFER_SIZE, fptr)) { //Message-ID: id = get_int(&input_buffer[12]); } if(fgets(input_buffer, BUFFER_SIZE, fptr)) { //Subject: index_keywords(id, &input_buffer[9]); } if(fgets(input_buffer, BUFFER_SIZE, fptr)) { //To: strcpy(to, &input_buffer[4]); } from[strlen(from)-1] = STREND; to[strlen(to)-1] = STREND; index_name(id, from, to); index_date(id, date); index_mail(id); if(fgets(input_buffer, BUFFER_SIZE, fptr)) { //Content: while(fgets(input_buffer, BUFFER_SIZE, fptr)) { index_keywords(id, input_buffer); } } p("Mail "); put_int(id); p(" added, you have "); put_int(mail_set.size()); p(" mails"); puts(""); fclose(fptr); } else { p("No file: "); p(file_name); p("!!!!\n"); return; } }
void edit_process_rep::generate_index (string idx) { system_wait ("Generating index, ", "please wait"); if (DEBUG_AUTO) debug_automatic << "Generating index [" << idx << "]\n"; tree I= copy (buf->data->aux[idx]); if (buf->prj != NULL) I= copy (buf->prj->data->aux[idx]); if (N(I)>0) { followup= hashmap<string,tree> (TUPLE); int i, n= N(I); array<string> entry (n); for (i=0; i<n; i++) entry[i]= index_name (I[i]); merge_sort (entry); hashmap<string,tree> h (TUPLE); for (i=0; i<n; i++) { string name = index_name (I[i]); tree value= index_value (I[i]); if (!h->contains (name)) h (name)= tuple (value); else h (name) << value; } array<string> new_entry; for (i=0; i<n; i++) { if ((i>0) && (entry[i] == entry[i-1])) continue; insert_recursively (new_entry, entry[i], h); } entry= new_entry; n= N(entry); tree D (DOCUMENT); for (i=0; i<n; i++) make_entry (D, h (entry[i])); insert_tree (remove_labels (D)); } }
static int test_sdl(int x, int y, sdl_video_mode* mode) { char buffer[256]; draw_test_default(); snprintf(buffer, sizeof(buffer), "sdl %s %dx%dx%d [%dx%d]", index_name(video_index()), video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y()); draw_string(x, y, buffer, DRAW_COLOR_WHITE); ++y; ++y; y = test_default_command(x, y); return y; }
otama_status_t unlink(void) { otama_status_t ret; ret = close(); if (ret != OTAMA_STATUS_OK) { return ret; } otama_mmap_unlink(m_shm_dir.c_str(), index_name().c_str()); otama_mmap_unlink(m_shm_dir.c_str(), metadata_name().c_str()); otama_mmap_unlink(m_shm_dir.c_str(), vector_name().c_str()); ret = create(); if (ret != OTAMA_STATUS_OK) { return ret; } return open(); }
static int test_vbeline(int x, int y, vbeline_video_mode* mode) { char buffer[256]; vbe_ModeInfoBlock info; draw_test_default(); snprintf(buffer, sizeof(buffer), "vbeline %s %dx%dx%d [%dx%d]", index_name(video_index()), video_size_x(), video_size_y(), video_bits_per_pixel(), video_virtual_x(), video_virtual_y()); draw_string(x, y, buffer, DRAW_COLOR_WHITE); ++y; vbe_mode_info_get(&info, mode->mode); snprintf(buffer, sizeof(buffer), "based on vbe mode 0x%x %dx%dx%d", mode->mode, info.XResolution, info.YResolution, info.BitsPerPixel); draw_string(x, y, buffer, DRAW_COLOR_WHITE); ++y; ++y; y = test_crtc(x, y, &mode->crtc, 1, 1, 1); y = test_default_command(x, y); return y; }
std::string sectioninfoObj::index_name() const { std::ostringstream o; index_name(o); return o.str(); }
int ArchivoRegVars::r_destroy(){ if( remove(filename) != 0 || remove(index_name().c_str()) != 0 ){ return 1; } return 0; }