int main(int argc, char *argv[]) { if (argc != 3) invocation_error(argv[0], "[output file] [size]"); char *output_file = argv[1]; size_t records = atol(argv[2]); size_t i, part_number, noun_count, adj_count; char *nouns[NOUN_MAX], noun_file_content[NOUN_BYTES]; char *adjectives[ADJ_MAX], adj_file_content[ADJ_BYTES]; int rc; Part p; Parts db = new_db(CHUNK_SIZE); noun_count = get_word_pointers(nouns, NOUN_FILE, noun_file_content, NOUN_BYTES); adj_count = get_word_pointers(adjectives, ADJ_FILE, adj_file_content, ADJ_BYTES); init_locale(); srand((unsigned int) time(NULL)); remove(output_file); for (part_number = 0, i = 0; i < records; i++) { part_number = jagged_sequence(part_number); p = set_part(part_number, random_part_name(nouns, noun_count, adjectives, adj_count), random_int(), random_int()); printf("%9ld: ", i + 1); print_part(p); if ((rc = insert_part(db, p))) { fprintf(stderr, "%s: %d insert_part() failed: return code %d on iteration %ld\n", __FILE__, __LINE__, rc, i); destroy_db(db); exit(EXIT_FAILURE); } if (i % CHUNK_SIZE == 0) { if (flush_to_disk(output_file, db) != 0) { destroy_db(db); exit_error(argv[0], output_file); } } } if (flush_to_disk(output_file, db) != 0) { destroy_db(db); exit_error(argv[0], output_file); } destroy_db(db); return 0; }
void load(Parts db) { insert_part(db, set_part(212, "Named Part, unlabled", 1, 100)); insert_part(db, set_part(12, "Flex Wing Grooming Mower", 19, 1200)); insert_part(db, set_part(400, "Grommet", 18, 01)); insert_part(db, set_part(1, "Fern Spore sorter, gross", 100, 12300)); insert_part(db, set_part(1024, "Health Meter, fin.", 30, 434200)); insert_part(db, set_part(1989776, "Tractor Beam cowl", 30, 9990101)); insert_part(db, set_part(98, "magneto", 11, 101)); insert_part(db, set_part(50, "manual key sort plucker", 11, 89)); insert_part(db, set_part(40, "Parts List Catalog Index", 19, 0)); insert_part(db, set_part(99, "funnel lip, unfinished", 1010, 4344)); insert_part(db, set_part(512, "caterpiller feet, left", 1010, 99)); insert_part(db, set_part(101, "Mental Health Services", 40, 100)); insert_part(db, set_part(2, "Gas Ring, Municipal", 18, 214798900)); insert_part(db, set_part(30, "System flipper", 80, 1301)); insert_part(db, set_part(35, "Stabilizers, horiz,(pair)", 90, 3000000)); insert_part(db, set_part(97, "Sink, heat, fur", 2147483647, 123220)); insert_part(db, set_part(401, "Tension Mount", 10, 1039)); insert_part(db, set_part(3, "Gas Ring, Occipital", 10, 8995)); insert_part(db, set_part(33, "System Rotator", 8, 1301)); insert_part(db, set_part(53, "Stabilizers, vert,(pair)", 90, 280000)); insert_part(db, set_part(3497, "Sink, burbling", 47, 12720)); }
url& set_path(std::string const& value) { return set_part(PATH, value); }
url& set_port(std::string const& value) { return set_part(PORT, value); }
url& set_host(std::string const& value) { return set_part(HOST, value); }
url& set_userinfo(std::string const& value) { return set_part(USERINFO, value); }
url& set_scheme(std::string const& value) { return set_part(SCHEME, value); }
url& set_fragment(std::string const& value) { return set_part(FRAGMENT, value); }
url& set_query(std::string const& value) { return set_part(QUERY, value); }
int main(int argc,char **argv) { unsigned int outstrlen=0; int i,j,k,n; unsigned int offset,wdim=1,alldim; unsigned int has_future,*future,**useries,h; unsigned long count; long *segment; char *outstring,*infile,*wcol,*use_array; double **series,*sermin,*serinter,**dfuture; ptree *root; FILE *fout; if (scan_help(argc,argv)) show_options(argv[0]); for (i=0;i<argc;i++) { outstrlen += strlen(argv[i]); outstrlen++; } check_alloc(outstring=(char*)malloc(sizeof(char)*(outstrlen+8))); sprintf(outstring,"#Prog: "); offset=7; for (i=0;i<argc;i++) { sprintf(outstring+offset,"%s ",argv[i]); offset += (strlen(argv[i])+1); } scan_options(argc,argv); if (!compdimset) compdim=pars.DIM; else if (compdim > pars.DIM) { fprintf(stderr,"-C value larger -m Value.\n"); exit(LANGEVIN_MAIN_C_TOO_LARGE); } infile=search_datafile(argc,argv,NULL,VERBOSITY); if (infile == NULL) { fprintf(stderr,"No input datafile found.\n"); exit(LANGEVIN_MAIN_NO_INPUTFILE); } if (OUTFILE == NULL) { check_alloc(OUTFILE=(char*)calloc(strlen(infile)+5,(size_t)1)); sprintf(OUTFILE,"%s.pru",infile); } OUTFILE=test_outfile(OUTFILE); if (COLUMN == NULL) series=(double**)get_multi_series(infile,&(pars.LENGTH),EXCLUDE, &(pars.DIM),"",dimset,VERBOSITY); else series=(double**)get_multi_series(infile,&(pars.LENGTH),EXCLUDE, &(pars.DIM),COLUMN,dimset,VERBOSITY); check_alloc(sermin=malloc(sizeof(double)*pars.DIM)); check_alloc(serinter=malloc(sizeof(double)*pars.DIM)); rescale_data(series,pars,sermin,serinter); alldim=pars.DIM; pars.DIM=compdim; check_alloc(useries=(unsigned int**)malloc(sizeof(int*)*pars.DIM)); check_alloc(PART=(unsigned int*)malloc(sizeof(int)*pars.DIM)); if (SPART == NULL) for (i=0;i<pars.DIM;i++) PART[i]=2; else set_part(PART,SPART,pars); for (i=0;i<pars.DIM;i++) { check_alloc(useries[i]=(unsigned int*)malloc(sizeof(int)*pars.LENGTH)); for (j=0;j<pars.LENGTH;j++) { h=(unsigned int)((series[i][j]*(double)PART[i])/serinter[i]); useries[i][j]=((h<PART[i])?h:(PART[i]-1)); } } check_alloc(future=(unsigned int*)malloc(sizeof(int)*pars.LENGTH)); if (WHICHFUTURE>0) { check_alloc(wcol=(char*)calloc((size_t)10,(size_t)1)); sprintf(wcol,"%u",WHICHFUTURE); dfuture=(double**)get_multi_series(infile,&(pars.LENGTH),EXCLUDE, &wdim,wcol,1,0L); for (i=0;i<pars.LENGTH-1;i++) { future[i] = (dfuture[0][i]>0.0); } future[pars.LENGTH-1]=1; free(dfuture); } else { for (i=0;i<pars.LENGTH;i++) future[i]=1; } root=make_ptree(PART[0]); count=0; check_alloc(segment=(long*)malloc(sizeof(long)*pars.LENGTH)); for (i=0;i<pars.LENGTH;i += ODEPTH) { has_future=1; for (j=0;j<ODEPTH;j++) has_future &= future[i+j]; if (has_future) { fill_tree(root,useries,pars,i,0,DEPTH,PART); } segment[count++]=i; } if (scrambleset) lscramble(segment,count); check_alloc(use_array=(char*)malloc(sizeof(char)*pars.LENGTH)); for (i=0;i<count;i++) { n=segment[i]; has_future=1; for (j=0;j<ODEPTH;j++) has_future &= future[n+j]; if (has_future) { h=read_tree(root,useries,pars,n,0,DEPTH); if (h <= MAXOUT) use_array[i]=1; else use_array[i]=0; } else use_array[i]=2; } pars.DIM=alldim; fout=fopen(OUTFILE,"w"); fprintf(fout,"%s\n",outstring); fprintf(fout,"#Content: "); for (i=0;i<pars.DIM;i++) fprintf(fout,"x%d ",i+1); fprintf(fout,"future time_index\n"); fflush(fout); for (i=0;i<count;i++) { n=segment[i]; if (use_array[i] == 1) { for (j=0;j<(ODEPTH-1);j++) { for (k=0;k<pars.DIM;k++) fprintf(fout,"%f ",series[k][n+j]+sermin[k]); fprintf(fout,"1 %u\n",n+j); } for (k=0;k<pars.DIM;k++) fprintf(fout,"%f ",series[k][n+ODEPTH-1]+sermin[k]); if (i<(count-1)) { if (segment[i+1] == (n+ODEPTH) && use_array[i+1]) fprintf(fout,"1 %u\n",n+ODEPTH-1); else fprintf(fout,"0 %u\n",n+ODEPTH-1); } else fprintf(fout,"0 %u\n",n+ODEPTH-1); } } fclose(fout); }