Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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