Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: charted/lib/locale/format.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « charted/lib/layout/src/treemap_layout.dart ('k') | charted/lib/locale/format/number_format.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: charted/lib/locale/format.dart
diff --git a/charted/lib/locale/format.dart b/charted/lib/locale/format.dart
deleted file mode 100644
index 64b4396a6a732245278801c942d957f825398e7e..0000000000000000000000000000000000000000
--- a/charted/lib/locale/format.dart
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
-
-library charted.locale.format;
-
-import 'dart:math' as math;
-import 'package:intl/intl.dart';
-import 'package:charted/locale/locale.dart';
-import 'package:charted/core/utils.dart';
-
-part 'format/number_format.dart';
-part 'format/time_format.dart';
-
-typedef String NumberFormatFunction(num x, [int precision]);
-
-/**
- * Returns a new format function with the given string specifier.
- * The format specifier is modeled after Python 3.1's built-in format
- * specification mini-language.
- *
- * The general form of a specifier is:
- * [​[fill]align][sign][symbol][0][width][,][.precision][type]
- *
- * @see <a href="http://docs.python.org/release/3.1.3/library/string.html#formatspec">Python format specification mini-language</a>
- */
-FormatFunction format(String specifier, [Locale locale = null]) {
- if (locale == null) {
- locale = new EnUsLocale();
- }
- return locale.numberFormat.format(specifier);
-}
-
-
-/*
- * Class for computing the SI format prefix for the given value.
- */
-class FormatPrefix {
- // SI scale units in increments of 1000.
- static const List unitPrefixes = const
- ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];
-
- Function _scale;
- String _symbol;
-
- FormatPrefix(num value, [int precision = 0]) {
- var i = 0;
- if (value < 0) {
- value *= -1;
- }
- if (precision > 0) {
- value = _roundToPrecision(value, _formatPrecision(value, precision));
- }
-
- // Determining SI scale of the value in increment of 1000.
- i = 1 + (1e-12 + math.log(value) / math.LN10).floor();
- i = math.max(-24, math.min(24,
- ((i - 1) / 3).floor() * 3));
- i = 8 + (i / 3).floor();
-
- // Sets the scale and symbol of the value.
- var k = math.pow(10, (8 - i).abs() * 3);
- _scale = i > 8 ? (d) => d / k : (d) => d * k;
- _symbol = unitPrefixes[i];
- }
-
- _formatPrecision(num x, num p) {
- return p - (x != 0 ? (math.log(x) / math.LN10).ceil() : 1);
- }
-
- /** Returns the value of x rounded to the nth digit. */
- _roundToPrecision(num x, num n) {
- return n != 0 ?
- (x * (n = math.pow(10, n))).round() / n : x.round();
- }
-
- /** Returns the SI prefix for the value. */
- get symbol => _symbol;
-
- /** Returns the scale for the value corresponding to the SI prefix. */
- get scale => _scale;
-}
« no previous file with comments | « charted/lib/layout/src/treemap_layout.dart ('k') | charted/lib/locale/format/number_format.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698