| Index: sdk/lib/core/num.dart
|
| diff --git a/sdk/lib/core/num.dart b/sdk/lib/core/num.dart
|
| index a1ff2474aa8bdb9c96212b2544af14ac5c637e1c..b5e42cbbf82dca417a50e24d005f8855129c5ffa 100644
|
| --- a/sdk/lib/core/num.dart
|
| +++ b/sdk/lib/core/num.dart
|
| @@ -27,9 +27,11 @@ abstract class num implements Comparable {
|
| * Truncating division operator.
|
| *
|
| * The result of the truncating division [:a ~/ b:] is equivalent to
|
| - * [:(a / b).truncate():].
|
| + * [:(a / b).truncate().toInt():].
|
| */
|
| - num operator ~/(num other);
|
| + // TODO(floitsch): this is currently not true: bignum1 / bignum2 will return
|
| + // NaN, whereas bignum1 ~/ bignum2 will give the correct result.
|
| + int operator ~/(num other);
|
|
|
| /** Negate operator. */
|
| num operator -();
|
| @@ -78,6 +80,13 @@ abstract class num implements Comparable {
|
| */
|
| num truncate();
|
|
|
| + /**
|
| + * Clamps [this] to be in the range [lowerLimit]-[upperLimit]. The comparison
|
| + * is done using [compareTo] and therefore takes [:-0.0:] into account.
|
| + * It also implies that [double.NaN] is treated as the maximal double value.
|
| + */
|
| + num clamp(num lowerLimit, num upperLimit);
|
| +
|
| /** Truncates this [num] to an integer and returns the result as an [int]. */
|
| int toInt();
|
|
|
| @@ -91,32 +100,32 @@ abstract class num implements Comparable {
|
| double toDouble();
|
|
|
| /**
|
| - * Converts a [num] to a string representation with [fractionDigits]
|
| - * digits after the decimal point.
|
| + * Converts [this] to a string representation with [fractionDigits] digits
|
| + * after the decimal point.
|
| + *
|
| + * The parameter [fractionDigits] must be an integer satisfying:
|
| + * [:0 <= fractionDigits <= 20:].
|
| */
|
| String toStringAsFixed(int fractionDigits);
|
|
|
| /**
|
| - * Converts a [num] to a string in decimal exponential notation with
|
| + * Converts [this] to a string in decimal exponential notation with
|
| * [fractionDigits] digits after the decimal point.
|
| + *
|
| + * If [fractionDigits] is given then it must be an integer satisfying:
|
| + * [:0 <= fractionDigits <= 20:]. Without the parameter the returned string
|
| + * uses the shortest number of digits that accurately represent [this].
|
| */
|
| - String toStringAsExponential(int fractionDigits);
|
| + String toStringAsExponential([int fractionDigits]);
|
|
|
| /**
|
| - * Converts a [num] to a string representation with [precision]
|
| - * significant digits.
|
| + * Converts [this] to a string representation with [precision] significant
|
| + * digits.
|
| + *
|
| + * The parameter [precision] must be an integer satisfying:
|
| + * [:1 <= precision <= 21:].
|
| */
|
| String toStringAsPrecision(int precision);
|
|
|
| - /**
|
| - * Converts a [num] to a string representation in the given [radix].
|
| - *
|
| - * The [num] in converted to an [int] using [toInt]. That [int] is
|
| - * then converted to a string representation with the given
|
| - * [radix]. In the string representation, lower-case letters are
|
| - * used for digits above '9'.
|
| - *
|
| - * The [radix] argument must be an integer between 2 and 36.
|
| - */
|
| - String toRadixString(int radix);
|
| +
|
| }
|
|
|