void status_print(void) { int percent_value; char s_percent[32]; percent_value = -1; if (options.flags & FLG_STATUS_CHK) percent_value = status.progress; else if (status_get_progress) percent_value = status_get_progress(); s_percent[0] = 0; if (percent_value >= 0) sprintf(s_percent, status.pass ? " %d%% %d/3" : " %d%%", percent_value, status.pass); else if (status.pass) sprintf(s_percent, " %d/3", status.pass); if (options.flags & FLG_STDOUT) status_print_stdout(s_percent); else status_print_cracking(s_percent); }
void status_print(void) { int percent_value, hund_percent = 0; char s_percent[32]; percent_value = -1; if (options.flags & FLG_STATUS_CHK) percent_value = status.progress; else if (status_get_progress) percent_value = status_get_progress(&hund_percent); s_percent[0] = 0; if (percent_value >= 0 && hund_percent >= 0) sprintf(s_percent, status.pass ? " %d.%02d%% (%d)" : " %d.%02d%%", percent_value, hund_percent, status.pass); else if (status.pass) sprintf(s_percent, " (%d)", status.pass); if (options.flags & FLG_STDOUT) status_print_stdout(s_percent); #ifdef HAVE_MPI else { status_print_cracking(s_percent); if (mpi_p > 1 && (options.flags & FLG_STATUS_CHK)) { int sum_percent; percent_value = 100 * percent_value + hund_percent; MPI_Allreduce(&percent_value, &sum_percent, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD); hund_percent = (sum_percent / mpi_p) % 100; percent_value = (sum_percent / mpi_p) / 100; s_percent[0] = 0; if (percent_value >= 0 && hund_percent >= 0) sprintf(s_percent, status.pass ? " %d.%02d%% (%d)" : " %d.%02d%%", percent_value, hund_percent, status.pass); else if (status.pass) sprintf(s_percent, " (%d)", status.pass); status_print_total(s_percent); } } #else else