/* * Copyright (C) NHR@FAU, University Erlangen-Nuremberg. * All rights reserved. This file is part of nusif-solver. * Use of this source code is governed by a MIT style * license that can be found in the LICENSE file. */ #include #include #include #include #include "progress.h" static double _end; static int _current; void initProgress(double end) { _end = end; _current = 0; printf("[ ]"); fflush(stdout); } void printProgress(double current) { int new = (int)rint((current / _end) * 10.0); if (new > _current) { char progress[11]; _current = new; progress[0] = 0; for (int i = 0; i < 10; i++) { if (i < _current) { sprintf(progress + strlen(progress), "#"); } else { sprintf(progress + strlen(progress), " "); } } printf("\r[%s]", progress); } fflush(stdout); } void stopProgress() { printf("\n"); fflush(stdout); }