void Update(bigtime_t position, bigtime_t duration) { if (!LockLooper()) return; if (position != -1) { position /= 1000000L; duration /= 1000000L; if (position == fPosition && duration == fDuration) { UnlockLooper(); return; } fPosition = position; fDuration = duration; } char positionText[32]; duration_to_string(fPosition, positionText, sizeof(positionText)); char durationText[32]; duration_to_string(fDuration, durationText, sizeof(durationText)); char text[64]; snprintf(text, sizeof(text), "%s / %s", positionText, durationText); SetText(text); UnlockLooper(); }
void test_progress(const test_instance & test) override { auto elapsed = clock::now() - test.start_time; auto iterations = compute_iteration_count(test); std::cout << "\rExecuting test... " << unit::none(iterations) << "iterations (" << duration_to_string(elapsed) << ") " << std::flush; }
void test_finished(const test_instance & test) override { std::cout << "\nExecuting test... OK (" << duration_to_string(test.test_duration) << ")" << std::endl; if (test.tclass.size_dependent) { std::cout << " - average throughput = " << unit::byte_per_second(compute_average_throughput(test)) << std::endl; } std::cout << " - average frequency = " << unit::hertz(compute_average_frequency(test)) << std::endl; std::cout << " - total iterations = " << unit::none(compute_iteration_count(test)) << std::endl; }
void setup_finished(const test_instance & test) override { std::cout << "Setting up test... OK (" << duration_to_string(test.setup_duration) << ")" << std::endl; }
void pause(std::chrono::duration<int> duration) override { std::cout << std::endl << "Wait " << duration_to_string(duration) << std::endl << std::endl; }
void cleanup_finished(const test_instance & test) override { std::cout << "Cleaning up... OK (" << duration_to_string(test.cleanup_duration) << ")" << std::endl; }