int main (int argc, char **argv) { uint32 i, j, size; float *joined_precision = NULL; prgname = argv[0]; if (argc == 1) { fprintf(stderr, "%s:\n", prgname); fprintf(stderr, "Usage: <rp_file>+\n"); exit(1); } joined_precision = (float*)calloc(11, sizeof(float)); if (joined_precision == NULL) error(E_NOMEM); size = argc -1; for (i=1; i<argc; i++) { float *precision = read_precision(argv[i]); for (j=0; j<11; j++) { joined_precision[j] += precision[j]/size; } free(precision); } for (i=0; i<11; i++) { printf("%d %.4f\n", i*10, joined_precision[i]); } free(joined_precision); return 0; }
void read_parameters(int *n_threads,char *mode,int *precision, double *x,char *option, int argc, char **argv) { if(argc < 5) error_message(NOT_ENOUGH_PARAMETERS); /* Leitura do primeiro parametro (número de núcleos) */ *n_threads = read_ncores(argv[1]); /* Leitura do segundo parametro (modo)*/ *mode = read_mode(argv[2]); /* leitura do terceiro parametro (precisão) */ *precision = read_precision(argv[3]); /* Leitura do quarto paraemetro (x) */ *x = read_value(argv[4]); /* Leitura do quinto parametro OPCIONAL */ if(argc == 6) *option = read_optional_parameter(argv[5]); }
void read_flag(const char **fmt, t_form *form, va_list *list) { while (is_flag(**fmt)) { if (**fmt == '#') form->diese = 1; else if (**fmt == '0') form->zero = 1; else if (**fmt == ' ') form->space = 1; else if (**fmt == '-') form->moin = 1; else if (**fmt == '+') form->plus = 1; else if (**fmt == '.') read_precision(fmt, form, list); else if (ft_isdigit(**fmt) || **fmt == '*') read_longueur(fmt, form, list); else read_flag_size(fmt, form); (*fmt)++; } }