int compare_toc(toc_smart_ptr& pattern, info_base* base_ptr) { char pattern_buf[LARGE_BUFSIZ]; ostringstream pattern_out(pattern_buf, LARGE_BUFSIZ, ios::out); print_toc(pattern, pattern_out); toc_smart_ptr x(base_ptr, pattern.toc_node_oid()); char db_buf[LARGE_BUFSIZ]; ostringstream db_out(db_buf, LARGE_BUFSIZ, ios::out); print_toc(x, db_out); return compare_stream(pattern_out, db_out); }
int toc_test(info_lib* infolib_ptr, const char* base_name, const char* node_id_str ) { oid_t id((char*)node_id_str, true, false); toc_smart_ptr x( infolib_ptr, base_name, id ); print_toc(x, cerr); return 0; }
int main(int argc, char **argv) { int rc; char *dev_path; size_t block_size; char *endptr; aoff64_t block_offset = 0; aoff64_t block_count = 1; aoff64_t dev_nblocks; bool toc = false; if (argc < 2) { printf(NAME ": Error, argument missing.\n"); syntax_print(); return 1; } --argc; ++argv; if (str_cmp(*argv, "--toc") == 0) { --argc; ++argv; toc = true; goto devname; } if (str_cmp(*argv, "--relative") == 0) { --argc; ++argv; relative = true; } if (str_cmp(*argv, "--offset") == 0) { --argc; ++argv; if (*argv == NULL) { printf(NAME ": Error, argument missing (offset).\n"); syntax_print(); return 1; } block_offset = strtol(*argv, &endptr, 10); if (*endptr != '\0') { printf(NAME ": Error, invalid argument (offset).\n"); syntax_print(); return 1; } --argc; ++argv; } if (str_cmp(*argv, "--count") == 0) { --argc; ++argv; if (*argv == NULL) { printf(NAME ": Error, argument missing (count).\n"); syntax_print(); return 1; } block_count = strtol(*argv, &endptr, 10); if (*endptr != '\0') { printf(NAME ": Error, invalid argument (count).\n"); syntax_print(); return 1; } --argc; ++argv; } devname: if (argc != 1) { printf(NAME ": Error, unexpected argument.\n"); syntax_print(); return 1; } dev_path = *argv; rc = loc_service_get_id(dev_path, &service_id, 0); if (rc != EOK) { printf(NAME ": Error resolving device `%s'.\n", dev_path); return 2; } rc = block_init(service_id, 2048); if (rc != EOK) { printf(NAME ": Error initializing libblock.\n"); return 2; } rc = block_get_bsize(service_id, &block_size); if (rc != EOK) { printf(NAME ": Error determining device block size.\n"); return 2; } rc = block_get_nblocks(service_id, &dev_nblocks); if (rc != EOK) { printf(NAME ": Warning, failed to obtain block device size.\n"); } printf("Device %s has %" PRIuOFF64 " blocks, %" PRIuOFF64 " bytes each\n", dev_path, dev_nblocks, (aoff64_t) block_size); if (toc) rc = print_toc(); else rc = print_blocks(block_offset, block_count, block_size); block_fini(service_id); return rc; }
int main(int argc, char *argv[]) { if (!parseArgs(the_args, &argc, argv) || argc < 2 || show_help) { printUsage(argv[0], "DOCUMENT", the_args); exit(1); } if (show_text[0]) { if (!memcmp(show_text, "physical", 9)) { show_text_layout = poppler::page::physical_layout; } else if (!memcmp(show_text, "raw", 4)) { show_text_layout = poppler::page::raw_order_layout; } else { error(std::string("unrecognized text mode: '") + show_text + "'"); } } std::string file_name(argv[1]); std::auto_ptr<poppler::document> doc(poppler::document::load_from_file(file_name)); if (!doc.get()) { error("loading error"); } if (doc->is_locked()) { error("encrypted document"); } std::cout.setf(std::ios_base::boolalpha); if (show_all) { show_info = true; show_perm = true; show_metadata = true; show_toc = true; show_fonts = true; show_embedded_files = true; show_pages = true; } if (show_info) { print_info(doc.get()); } if (show_perm) { print_perm(doc.get()); } if (show_metadata) { print_metadata(doc.get()); } if (show_toc) { std::auto_ptr<poppler::toc> doctoc(doc->create_toc()); print_toc(doctoc.get()); } if (show_fonts) { print_fonts(doc.get()); } if (show_embedded_files) { print_embedded_files(doc.get()); } if (show_pages) { const int pages = doc->pages(); for (int i = 0; i < pages; ++i) { std::cout << "Page " << (i + 1) << "/" << pages << ":" << std::endl; std::auto_ptr<poppler::page> p(doc->create_page(i)); print_page(p.get()); } } if (show_text[0]) { const int pages = doc->pages(); for (int i = 0; i < pages; ++i) { std::cout << "Page " << (i + 1) << "/" << pages << ":" << std::endl; std::auto_ptr<poppler::page> p(doc->create_page(i)); print_page_text(p.get()); } } return 0; }
bool estimation_init(float param[], float husbands_2[][HUSBANDS_COL], float husbands_3[][HUSBANDS_COL], float husbands_4[][HUSBANDS_COL], float husbands_5[][HUSBANDS_COL], float wives[][WIVES_COL], float wage_moments[][WAGE_MOM_COL], float marr_fer_moments[][MARR_MOM_COL], float emp_moments[][EMP_MOM_COL], float general_moments[][GEN_MOM_COL], float* epsilon_b_arr, float* epsilon_f_arr, float* h_draws_b_arr, float* w_draws_b_arr, uint16_t* w_ability_draw_arr, float* h_draws_arr, float* w_draws_arr) { timeval tv = tic(); std::cout << "Loading files..." << std::endl; if (!load<HUSBANDS_COL>("husbands_2.out", husbands_2, HUSBANDS_ROWS)) { return false; } if (!load<HUSBANDS_COL>("husbands.out", husbands_3, HUSBANDS_ROWS)) { return false; } if (!load<HUSBANDS_COL>("husbands_4.out", husbands_4, HUSBANDS_ROWS)) { return false; } if (!load<HUSBANDS_COL>("husbands_5.out", husbands_5, HUSBANDS_ROWS)) { return false; } if (!load<WIVES_COL>("wives.out", wives, WIVES_ROWS)) { return false; } if (!load<WAGE_MOM_COL>("wage_moments.txt", wage_moments, WAGE_MOM_ROWS)) { return false; } if (!load<MARR_MOM_COL>("marr_fer_moments.txt", marr_fer_moments, MARR_MOM_ROWS)) { return false; } if (!load<EMP_MOM_COL>("emp_moments.txt", emp_moments, EMP_MOM_ROWS)) { return false; } if (!load<GEN_MOM_COL>("general_moments.txt", general_moments, GEN_MOM_ROWS)) { return false; } if (!load<INIT_PARAM_COL>("init_parameters.txt", param, INIT_PARAM_ROWS)) { return false; } // some validations on override parameters if (PARAM_ROWS != PARAM_IDX_ROWS || INIT_PARAM_ROWS < PARAM_IDX_ROWS) { std::cerr << "Invalid number of override parameters (#initial=" << INIT_PARAM_ROWS << ",#override=" << PARAM_ROWS << ",#index=" << PARAM_IDX_ROWS << ")" << std::endl; std::cerr << "Not overriding initial parameters" << std::endl; } else { float override_param[PARAM_ROWS]; if (!load<PARAM_COL>("parameters.txt", override_param, PARAM_ROWS)) { std::cerr << "Not overriding initial parameters" << std::endl; } else { uint16_t override_index[PARAM_IDX_ROWS]; if (!load<PARAM_IDX_COL, uint16_t>("parameters_idx.txt", override_index, PARAM_IDX_ROWS)) { std::cerr << "Not overriding initial parameters" << std::endl; } else { for (uint16_t i = 0; i < PARAM_ROWS; ++i) { if (override_index[i] < INIT_PARAM_ROWS) { param[override_index[i]] = override_param[i]; } else { std::cerr << "Invalid parameter index " << override_index[i] << " at row " << i << ", parameter override is skipped" << std::endl; } } } } } print_toc(tv); tv = tic(); std::cout << "Initializing random shocks..." << std::endl; // start with the same random shoks srand(1234); // random shocks' mean and variance const float myu = 0; const float sig = 1; // random draw from normal distribution, for EMAX calculation for (uint16_t i = 0; i < DRAW_B; ++i) { for (uint16_t j = 0; j < T_MAX; ++j) { for (uint16_t k = 0; k < SCHOOL_GROUPS; ++k) { for (uint16_t s = 0; s < 2; ++s) { epsilon_b(i,j,k,s) = mvnrnd(myu, sig); } } } } // TODO PERF reorder the nested loops and put draws in inner most and merge the F with the B loops // random draw from normal distribution, for shocks realizations in forward solution for (uint16_t i = 0; i < DRAW_F; ++i) { for (uint16_t j = 0; j < T_MAX; ++j) { for (uint16_t k = 0; k < SCHOOL_GROUPS; ++k) { for (uint16_t s = 0; s < 2; ++s) { epsilon_f(i,j,k,s) = mvnrnd(myu, sig); } } } } // random draw from uniform distribution, for backward solution for (uint16_t i = 0; i < DRAW_B; ++i) { for (uint16_t j = 0; j < T_MAX; ++j) { for (uint16_t k = 0; k < SCHOOL_GROUPS; ++k) { // 0-HUSBAND; 1-HUSBAND EXP+SCHOOLING; 2-HUSBAND ABILITY; 3-INITIAL MATCH QUALITY; h_draws_b(i,j,k,h_b_HUSBAND) = rand01(); h_draws_b(i,j,k,h_b_HUSBAND_EXP_SCHOOLING) = rand01(); h_draws_b(i,j,k,h_b_HUSBAND_ABILITY) = (float)randi(MAX_ABILITY_IDX); h_draws_b(i,j,k,h_b_INITIAL_MATCH_QUALITY) = (float)randi(MAX_Q_IDX); } } } for (uint16_t i = 0; i < DRAW_B; ++i) { for (uint16_t j = 0; j < T_MAX; ++j) { for (uint16_t k = 0; k < SCHOOL_GROUPS; ++k) { // 0- wife; 1-wife EXP+SCHOOLING+PREV_STATE; 2-wife ABILITY; 3-INITIAL MATCH QUALITY; 4-JOB OFFER FOR MARRIED MEN AND WOMEN EMAX; 5-JOB OFFER FOR SINGLE MEN EMAX w_draws_b(i,j,k,w_b_WIFE) = rand01(); w_draws_b(i,j,k,WIFE_EXP_SCHOOLING_PREV_STATE) = rand01(); w_draws_b(i,j,k,WIFE_ABILITY) = (float)randi(MAX_ABILITY_IDX); w_draws_b(i,j,k,w_b_INITIAL_MATCH_QUALITY) = (float)randi(MAX_Q_IDX); w_draws_b(i,j,k,JOB_OFFER_MARRIED_MEN_WOMEN) = rand01(); w_draws_b(i,j,k,JOB_OFFER_SINGLE_MEN) = rand01(); } } } // random draw from uniform distribution, for forward solution for (uint16_t i = 0; i < DRAW_F; ++i) { for (uint16_t k = 0; k < SCHOOL_GROUPS; ++k) { // wife ability draw, constant by period w_ability_draw(i,k) = randi(MAX_ABILITY_IDX); } } for (uint16_t i = 0; i < DRAW_F; ++i) { for (uint16_t j = 0; j < T_MAX; ++j) { for (uint16_t k = 0; k < SCHOOL_GROUPS; ++k) { // 0- HUSBAND; 1-HUSBAND EXP+SCHOOLING; 2-HUSBAND ABILITY; 3-INITIAL MATCH QUALITY; 4-MATCH UALITY CHANGE PROBABILITY for (uint16_t s = 0; s < 2; ++s) { h_draws(i,j,k,h_HUSBAND) = rand01(); h_draws(i,j,k,h_HUSBAND_EXP_SCHOOLING) = rand01(); h_draws(i,j,k,h_HUSBAND_ABILITY) = (float)randi(MAX_ABILITY_IDX); h_draws(i,j,k,h_INITIAL_MATCH_QUALITY) = (float)randi(MAX_Q_IDX); h_draws(i,j,k,MATCH_UALITY_CHANGE_PROBABILITY) = rand01(); } } } } for (uint16_t i = 0; i < DRAW_F; ++i) { for (uint8_t j = 0; j < T_MAX; ++j) { for (uint8_t k = 0; k < SCHOOL_GROUPS; ++k) { for (uint8_t s = 0; s < 2; ++s) { // 0 - JOB OFFER, 1 - NEW BORN w_draws(i,j,k,s) = rand01(); } } } } print_toc(tv); return true; }