<!DOCTYPE html>
<!--
Copyright (c) 2013 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<link rel="import" href="/base/base.html">
<script>
'use strict';

/**
 * @fileoverview Helper functions for use in selection_analysis files.
 */
tv.exportTo('tv.c.analysis', function() {
  function tsString(ts) {
    return Number(tsRound(ts))
        .toLocaleString(undefined, { minimumFractionDigits: 3 }) + ' ms';
  }

  function tsRound(ts) {
    return Math.round(ts * 1000.0) / 1000.0;
  }

  return {
    tsString: tsString,
    tsRound: tsRound
  };
});
</script>
