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