Exemplo n.º 1
0
void
progress(uproc_io_stream *stream, const char *new_label, double percent)
{
    static const char *label;
    static double last_percent;
    if (new_label) {
        last_percent = -1.0;
        label = new_label;
    }
    if (percent < 0.0 || last_percent >= 100.0 ||
        (!new_label && fabs(percent - last_percent) < 0.05 &&
         percent < 100.0)) {
        return;
    }
    char bar[PROGRESS_WIDTH + 1] = "";
    int p = percent / 100.0 * PROGRESS_WIDTH;
    for (int i = 0; i < PROGRESS_WIDTH; i++) {
        bar[i] = i < p ? '#' : ' ';
    }
    uproc_io_printf(stream, "\r%s: [%s] %5.1f%%", label, bar, percent);
    if (percent >= 100.0) {
        uproc_io_printf(stream, "\n");
    }
    last_percent = percent;
}
Exemplo n.º 2
0
void uproc_features_print(uproc_io_stream *stream)
{
    uproc_io_printf(stream, "libuproc version %s\n", uproc_features_version());
    uproc_io_printf(stream, "zlib:   %s\n", uproc_features_zlib_version());
    uproc_io_printf(stream, "OpenMP: %d\n", uproc_features_openmp());
    uproc_io_printf(stream, "mmap:   %s\n",
                    uproc_features_mmap() ? "yes" : "no");
}