int main( int argc, char *argv[] ){ if( argc < 3 ){ printf( "usage:<input> <input.day>\n" ); return -1; } load_stats(); char fout[ 256 ]; sprintf( fout, "features/%s.UserDayInterpolation", argv[1] ); FILE *fi = fopen_check( argv[1], "r" ); FILE *fd = fopen_check( argv[2], "r" ); FILE *fo = fopen_check( fout, "w" ); fprintf( fo, "%d\n", num_index ); int uid, iid, rate, day; while( fscanf( fi, "%d%d%d", &uid, &iid, &rate ) == 3 ){ assert_true( fscanf( fd, "%d", &day ) == 1 ); const int base = pustart[ uid ]; if( day == first[ uid ] ){ fprintf( fo, "1 %d:1\n", base ); continue; } if( day == last[ uid ] ){ fprintf( fo, "1 %d:1\n", base+1 ); continue; } fprintf( fo, "2 %d:%f %d:%f\n", base , static_cast<float>( last[uid] - day )/(last[uid]-first[uid]), base+1, static_cast<float>( day - first[uid] )/(last[uid]-first[uid]) ); } fclose( fo ); fclose( fd ); fclose( fi ); return 0; }
int main( int argc, char *argv[] ){ if( argc < 3 ){ printf( "usage:<input> <input.userdayidx>\n" ); return -1; } load_stats(); char fout[ 256 ]; sprintf( fout, "features/%s.UserDayBias", argv[1] ); FILE *fi = fopen_check( argv[1], "r" ); FILE *fd = fopen_check( argv[2], "r" ); FILE *fo = fopen_check( fout, "w" ); fprintf( fo, "%d\n", num_index ); int uid, iid, rate, dayidx; while( fscanf( fi, "%d%d%d", &uid, &iid, &rate ) == 3 ){ assert_true( fscanf( fd, "%d", &dayidx ) == 1 ); fprintf( fo, "1 %d:1\n", start[ uid ] + dayidx ); } fclose( fo ); fclose( fd ); fclose( fi ); return 0; }
int main(int argc, char *argv[]){ FILE *stats_file; char *image_name = argv[1]; // char input_string[100]; int class_counter; double gray_feature, h_feature; int max_likelihood; // Checks arguments if(argc != 2){ if(argc == 1) printf("No input image given"); else printf("Wrong number of arguments"); printf("Usage: $%s input_image_file", argv[0]); exit(EXIT_FAILURE); } // Opens training.stats file if( (stats_file = fopen("training.stats", "r")) == NULL){ printf("Unable to open/locate training.stats file"); exit(EXIT_FAILURE); } class_counter = count_lines(stats_file); bigauss_stats class_array[class_counter]; load_stats(stats_file, class_array, class_counter); fclose(stats_file); extract_features(image_name, &gray_feature, &h_feature); max_likelihood = bigauss_likelihood(class_array, class_counter, gray_feature, h_feature); printf("Max bi-gaussian likelihood for %s class\n", class_array[max_likelihood].class_name); return 0; }
int main(int argc, char **argv) { int i,j,num_runs=0,initial=0; int legend,spec2k6,num_benchmarks; char yaxis[]="Difference from Mean (log)"; parse_command_line(argc,argv, &num_runs,&initial, &legend,&spec2k6,&num_benchmarks); init_stats=calloc(sizeof(struct stats),num_benchmarks); machines=spec2k_machines; for(j=0;j<num_benchmarks;j++) { load_stats(num_runs,spec2k6,init_stats,argv[(j*2)+BENCH_START], argv[(j*2)+BENCH_START+1],"initial",j,FIXUP_NONE); } final_stats=calloc(sizeof(struct stats),num_benchmarks); for(j=0;j<num_benchmarks;j++) { load_stats(num_runs,spec2k6,final_stats,argv[(j*2)+BENCH_START], argv[(j*2)+BENCH_START+1],"final",j,FIXUP_ALL); } /* begin graph */ printf("(* Begin Graph *)\n"); printf("newgraph\n"); printf("\n(* Clipping *)\n"); printf("clip Y %.2f\n",3.0); /* don't print legend on side */ printf("\n(* Legend *)\n"); if (legend) { printf("legend custom\n"); } else { printf("legend off\n"); } #define WIDTH 16 #define HALF 8 #define OFFSET 2 #define LEGEND_XSCALE 12.0 #define LEGEND_YSCALE 1.25 /* y-axis */ printf("\n(* Y-Axis *)\n"); printf("yaxis size 2.25 min -10 max 10\n");//,max); printf("grid_gray 0.9 grid_lines\n"); printf("no_auto_hash_marks no_auto_hash_labels\n"); printf("label font Helvetica fontsize 14 x -%lf : %s\n", (double)num_benchmarks, yaxis); printf("hash_labels font Helvetica fontsize 14\n"); /* custom hash labels */ printf("hash_at 0 hash_label at 0 : 0\n"); printf("hash_at 2 hash_label at 2 : 100\n"); printf("hash_at 4 hash_label at 4 : 10K\n"); printf("hash_at 6 hash_label at 6 : 1M\n"); printf("hash_at 8 hash_label at 8 : 100M\n"); printf("hash_at 10 hash_label at 10 : 10B\n"); // printf("hash_at 12 hash_label at 12 : 1T\n"); printf("hash_at -2 hash_label at -2 : -100\n"); printf("hash_at -4 hash_label at -4 : -10K\n"); printf("hash_at -6 hash_label at -6 : -1M\n"); printf("hash_at -8 hash_label at -8 : -100M\n"); printf("hash_at -10 hash_label at -10 : -10B\n"); // printf("hash_at -12 hash_label at -12 : -1T\n"); /* x-axis */ printf("\n(* X-Axis *)\n"); printf("xaxis size 10 min 0 max %d\n",(num_benchmarks*WIDTH)); printf("grid_gray 0.5 grid_lines\n"); printf("no_auto_hash_marks no_auto_hash_labels\n"); printf("hash_labels hjr vjc rotate 25 font Helvetica fontsize 12\n"); /* custom hash labels */ for(i=0;i<num_benchmarks;i++) { // printf("hash_at %i hash_label at %i : %s.%s\n", printf("hash_label at %i : %s.%s\n", // (i*WIDTH)+HALF, (i*WIDTH)+HALF, argv[(i*2)+BENCH_START], argv[(i*2)+BENCH_START+1]); } /* only needed it +/- values? */ //printf("copygraph xaxis draw_at 0\n"); /* Title */ printf("\n(* Title *)\n"); // printf("newstring x 0 y %.2f hjl vjc\n",(max)+(max*0.1)); // printf("font Helvetica fontsize 14 : %s\n",title); printf("copygraph xaxis draw_at 0\n\n"); // Valid marks are: circle box diamond triangle x cross ellipse // general general_nf general_bez general_bez_nf postscript eps xbar ybar none text /* old */ if (!initial) { printf("\nnewcurve color 0.85 0.0 0.0 marktype xbar marksize %f " "label hjl vjc fontsize 12 font Helvetica x %lf y %lf : Original Standard Deviation\n", (double)(num_benchmarks*WIDTH)/BIGMARK_SCALE, 1.0,13.0); printf("pts\n"); for(i=0;i<num_benchmarks;i++) { if (init_stats[i].bench_stdev!=0.0) { printf("%d %.9f\n",(i*WIDTH)+HALF,log10(init_stats[i].bench_stdev)); } } printf("\nnewcurve color 0.85 0.0 0.0 marktype xbar marksize %f \n", (double)(num_benchmarks*WIDTH)/BIGMARK_SCALE); printf("pts\n"); for(i=0;i<num_benchmarks;i++) { if (init_stats[i].bench_stdev!=0.0) { printf("%d %.9f\n",(i*WIDTH)+HALF,-log10(init_stats[i].bench_stdev)); } } } /* stdev */ printf("\nnewcurve color 0.85 0.85 0.85 marktype xbar marksize %f " "label hjl vjc fontsize 12 font Helvetica x %lf y %lf : Adjusted Standard Deviation\n", (double)(num_benchmarks*WIDTH)/SMALLMARK_SCALE, 1.0,12.0); printf("pts\n"); for(i=0;i<num_benchmarks;i++) { if (initial) { printf("%d %.9f\n",(i*WIDTH)+HALF,log10(init_stats[i].bench_stdev)); } else { printf("%d %.9f\n",(i*WIDTH)+HALF,log10(final_stats[i].bench_stdev)); } } printf("\nnewcurve color 0.85 0.85 0.85 marktype xbar marksize %f\n", (double)(num_benchmarks*WIDTH)/SMALLMARK_SCALE); printf("pts\n"); for(i=0;i<num_benchmarks;i++) { if (initial) { printf("%d %.9f\n",(i*WIDTH)+HALF,-log10(init_stats[i].bench_stdev)); } else { printf("%d %.9f\n",(i*WIDTH)+HALF,-log10(final_stats[i].bench_stdev)); } } for(j=0;j<MAX_MACHINES;j++) { if (!(!machines[j].is_spec2k6&&spec2k6)) { printf("\nnewcurve color %s marktype text fontsize 12 font Helvetica-Bold : %s\n", machine_colors[j],machines[j].mark); printf("label hjl vjc fontsize 12 font Helvetica " "x %lf y %lf : %s\n", // num_benchmarks*0.7,max+max*0.1, ((double)((j/3)+1))*LEGEND_XSCALE+10.0, (((double)((3-(j%3))))*LEGEND_YSCALE)+10.5, machines[j].processor2); printf("pts\n"); for(i=0;i<num_benchmarks;i++) { double result; int valid; if (initial) { result=(double)(init_stats[i].machine_mean[j]-init_stats[i].bench_mean); valid=init_stats[i].machine_mean_valid[j]; } else { result=(double)(final_stats[i].machine_mean[j]-final_stats[i].bench_mean); valid=final_stats[i].machine_mean_valid[j]; } if (valid) { if (result<0.0) { printf("%d %.9f\n",(i*WIDTH)+j+OFFSET, -log10(fabs(result))); } else if (result>0.0) { printf("%d %.9f\n",(i*WIDTH)+j+OFFSET,log10(result)); } else { printf("%d 0.0\n",(i*WIDTH)+j+OFFSET); } } } } } return 0; }
int main(int argc, char **argv) { int i,j; int initial,fixup,spec2k6,legend; int num_benchmarks; char temp_input[BUFSIZ]; parse_command_line(argc,argv, &num_runs,&initial, &legend,&spec2k6,&num_benchmarks); if (initial) fixup=FIXUP_NONE; else fixup=FIXUP_ALL; machines=spec2k_machines; printf("\\begin{table*}[tbp]\n"); printf("\\begin{sf}\n"); printf("\\begin{scriptsize}\n"); printf("\\begin{center}\n"); printf("\\begin{tabular}{|l||r||r|r|r||"); for(i=0;i<REAL_MACHINES;i++) { if (!(!machines[i].is_spec2k6&&spec2k6)) { printf("r|"); } } printf("}\n"); printf("\\hline\n"); printf("Benchmark & "); printf("\\parbox[b]{1.2cm}{\\flushright Overall\\\\Standard\\\\Deviation\\\\(mean)} & "); printf("\\begin{sideways}\\parbox{2cm}{Pin}\\end{sideways} &"); printf("\\begin{sideways}\\parbox{2cm}{Qemu}\\end{sideways} &"); printf("\\begin{sideways}\\parbox{2cm}{Valgrind}\\end{sideways} "); for(i=0;i<REAL_MACHINES;i++) { if (!(!machines[i].is_spec2k6&&spec2k6)) { printf("& "); printf("\\begin{sideways}\\parbox{2cm}{"); printf("%s",machines[i].processor2); printf("\\\\%s",machines[i].processor1); printf("}\\end{sideways} "); } } printf("\\\\\n"); printf("\\hline\n"); our_stats=calloc(sizeof(struct stats),num_benchmarks); for(j=0;j<num_benchmarks;j++) { load_stats(num_runs,spec2k6,our_stats,argv[(j*2)+BENCH_START], argv[(j*2)+BENCH_START+1],argv[TREE_ARG],j,fixup); } for(j=0;j<num_benchmarks;j++) { if (!strcmp("makerand",argv[(j*2)+BENCH_START+1])) { strcpy(temp_input,"mkrnd"); } else if (!strcmp("default",argv[(j*2)+BENCH_START+1])) { strcpy(temp_input," "); } else if (!strcmp("foreman_baseline",argv[(j*2)+BENCH_START+1])) { strcpy(temp_input,"forebase"); } else if (!strcmp("foreman_main",argv[(j*2)+BENCH_START+1])) { strcpy(temp_input,"foremain"); } else if (!strcmp("sss_main",argv[(j*2)+BENCH_START+1])) { strcpy(temp_input,"sss"); } else { strcpy(temp_input,argv[(j*2)+BENCH_START+1]); } printf("%s %s &",argv[(j*2)+BENCH_START],temp_input); /* mean */ print_diff((long long)(our_stats[j].bench_stdev),LO,MID,HI); //print_commas( (long long)(our_stats[j].bench_stdev)); printf(" & "); /* PIN */ if (!our_stats[j].machine_mean_valid[PIN]) { print_blank(); } else { print_diff((long long)(our_stats[j].machine_stdev[PIN]),LO,MID,HI); print_num_points(our_stats[j].num_points[PIN]); } printf(" & "); /* QEMU */ if (!our_stats[j].machine_mean_valid[QEMU]) { print_blank(); } else { print_diff((long long)(our_stats[j].machine_stdev[QEMU]),LO,MID,HI); print_num_points(our_stats[j].num_points[QEMU]); } printf(" & "); if (!our_stats[j].machine_mean_valid[VALGRIND]) { print_blank(); } else { print_diff((long long)(our_stats[j].machine_stdev[VALGRIND]),LO,MID,HI); print_num_points(our_stats[j].num_points[VALGRIND]); } for(i=0;i<REAL_MACHINES;i++) { if (!(!machines[i].is_spec2k6&&spec2k6)) { printf(" & "); if (!our_stats[j].machine_mean_valid[i]) { print_blank(); } else { print_diff((long long)(our_stats[j].machine_stdev[i]),LO,MID,HI); print_num_points(our_stats[j].num_points[i]); } } } printf("\\\\\n"); if (j%5==4) printf("\\hline\n"); } printf("\\hline\n"); printf("\\end{tabular}\n"); printf("\\end{center}\n"); return 0; }