1 /*
2 * Copyright 2011 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7 #include "Timer.h"
8 #include <stdio.h>
9
HumanizeMs(double ms)10 SkString HumanizeMs(double ms) {
11 if (ms > 60e+3) return SkStringPrintf("%.3gm", ms/60e+3);
12 if (ms > 1e+3) return SkStringPrintf("%.3gs", ms/1e+3);
13 if (ms < 1e-3) return SkStringPrintf("%.3gns", ms*1e+6);
14 #ifdef SK_BUILD_FOR_WIN
15 if (ms < 1) return SkStringPrintf("%.3gus", ms*1e+3);
16 #else
17 if (ms < 1) return SkStringPrintf("%.3gµs", ms*1e+3);
18 #endif
19 return SkStringPrintf("%.3gms", ms);
20 }
21
HumanizeMs(char * s,int len,double ms)22 int HumanizeMs(char* s, int len, double ms) {
23 if (ms > 60e+3) return snprintf(s, len, "%.3gm", ms / 60e+3);
24 if (ms > 1e+3) return snprintf(s, len, "%.3gs", ms / 1e+3);
25 if (ms < 1e-3) return snprintf(s, len, "%.3gns", ms*1e+6);
26 #ifdef SK_BUILD_FOR_WIN
27 if (ms < 1) return snprintf(s, len, "%.3gus", ms*1e+3);
28 #else
29 if (ms < 1) return snprintf(s, len, "%.3gµs", ms*1e+3);
30 #endif
31 return snprintf(s, len, "%.3gms", ms);
32 }
33