string elapsed_time_to_str()

in src/hit/common.cpp [16:32]


    string elapsed_time_to_str(timepoint start, timepoint end, TimeScale ts) {
        auto elapsed_ms = static_cast<double>(elapsed_time_in_ms(start, end));
        stringstream buffer;
        double ms_per_sec = 1000;
        double ms_per_min = 60 * ms_per_sec;
        double ms_per_hour = 60 * ms_per_min;
        if (ts == TS_MS || (ts == TS_DYNAMIC && elapsed_ms < ms_per_sec)) {
            buffer << setprecision(8) << elapsed_ms << " ms";
        } else if (ts == TS_SEC || (ts == TS_DYNAMIC && elapsed_ms < ms_per_min)) {
            buffer << setprecision(3) << elapsed_ms / ms_per_sec << " seconds";
        } else if (ts == TS_MIN || (ts == TS_DYNAMIC && elapsed_ms < ms_per_hour)) {
            buffer << setprecision(3) << elapsed_ms / ms_per_min << " minutes";
        } else {
            buffer << setprecision(3) << elapsed_ms / ms_per_hour << " hours";
        }
        return buffer.str();
    }