• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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