diff --git a/package-lock.json b/package-lock.json index 82f21bde..44c8977e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "SEE LICENSE IN LICENSE.md", "devDependencies": { - "@tc39/ecma262-biblio": "=2.1.2669", + "@tc39/ecma262-biblio": "2.1", "ecmarkup": "^18.1.1" } }, @@ -181,9 +181,9 @@ } }, "node_modules/@tc39/ecma262-biblio": { - "version": "2.1.2669", - "resolved": "https://registry.npmjs.org/@tc39/ecma262-biblio/-/ecma262-biblio-2.1.2669.tgz", - "integrity": "sha512-Dk4YGgO2D6xKaXj0MCq4hvZ0HtPVFQOVhc+eJAZegPsHvqaitBz7JaPyZpNkMyOmXhcx4AovUpn8a0t5Qw+g7g==", + "version": "2.1.2672", + "resolved": "https://registry.npmjs.org/@tc39/ecma262-biblio/-/ecma262-biblio-2.1.2672.tgz", + "integrity": "sha512-S4AVovjzgm9cq1O2Odn7y+OqZ3LNKVGzhd5zVggueFogQyQPw8mpaIzdGxqrm7jmkRtnggO9i+NY5g23GCBXNg==", "dev": true }, "node_modules/@tootallnate/once": { diff --git a/package.json b/package.json index 4be52003..0edd8fbb 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "homepage": "https://tc39.es/proposal-decimal/", "devDependencies": { - "@tc39/ecma262-biblio": "=2.1.2669", + "@tc39/ecma262-biblio": "2.1", "ecmarkup": "^18.1.1" } } diff --git a/spec.emu b/spec.emu index 353e25c7..998b1eef 100644 --- a/spec.emu +++ b/spec.emu @@ -27,50 +27,50 @@ location: https://github.com/tc39/proposal-decimal/ -

The Decimal Object

+

The Decimal128 Object

Introduction

-

Decimal values, as specified here, are intended represent base-10 (decimal) numbers. ECMAScript, and many other languages, default to representing numbers in base-2 (binary). The conversion of a decimal digit string to a Number is usually inexact; the Number representing the initial decimal digit string is only approximately correct.

-

Decimal values defined in this section are IEEE-754 Decimal128 values. The full spectrum of values defined by Decimal128 are available here, including NaN and positive and negative infinity. (NB: The values NaN and both infinities, available here, are distinct from the built-in NaN, *Infinity* and *-Infinity* values that arise from the 64-bit binarry IEEE arithmetic used outside of the Decimal universe.) Decimal128 is a floating-point format whose range of values allows up to 34 significant digits and an exponent ranging from -6143 to 6144.

+

Decimal128 values, as specified here, are intended represent base-10 (decimal) numbers. ECMAScript, and many other languages, default to representing numbers in base-2 (binary). The conversion of a decimal digit string to a Number is usually inexact; the Number representing the initial decimal digit string is only approximately correct.

+

Decimal128 values defined in this section are IEEE-754 Decimal128 values. The full spectrum of values defined by Decimal128 are available here, including NaN and positive and negative infinity. (NB: The values NaN and both infinities, available here, are distinct from the built-in NaN, *Infinity* and *-Infinity* values that arise from the 64-bit binarry IEEE arithmetic used outside of the Decimal128 universe.) Decimal128 is a floating-point format whose range of values allows up to 34 significant digits and an exponent ranging from -6143 to 6144.

A rounding mode is one of the values *"ceil"*, *"floor"*, *"expand"*, *"trunc"*, *"halfEven"*, *"halfExpand"*, *"halfCeil"*, *"halfFloor"*, and *"halfTrunc"*.

A digit is one of the values *"0"*, *"1"*, *"2"*, *"3"*, *"4"*, *"5"*, *"6"*, *"7"*, *"8"*, and *"9"*

A decimal string is a string whose syntax is that of a sequence of digits followed by, optionally, a *"."* and a sequence of digits.

A signed decimal string is a decimal string optionally preceded by a *"-"* (dash).

An exponential string is a string whose syntax is a decimal string whose mathematical value is at least 0 but less than 9, followed by an *"E"*, optionally a "-" (minus), and a sequence of digits.

A signed exponential string is an exponential string optionally precided by a *"-"* (dash).

-

The mathematical value of a Decimal object *d*, provided *d* is finite and not NaN, is the rational number *coefficient* of *d* multiplied by 10 raised to the power of the *exponent* of *d*. If *d* is infinite, the mathematical value of *d* is -∞ is *d* is negative and ∞ otherwise. If *d* is NaN, the mathematical value of *d* is undefined.

+

The mathematical value of a Decimal128 object *d*, provided *d* is finite and not NaN, is the rational number *coefficient* of *d* multiplied by 10 raised to the power of the *exponent* of *d*. If *d* is infinite, the mathematical value of *d* is -∞ is *d* is negative and ∞ otherwise. If *d* is NaN, the mathematical value of *d* is undefined.

-

The Decimal Constructor

-

The constructor for the Decimal object takes a single argument. If the argument is not a String, throw a *TypeError*. The String argument must match one of the following four valid syntaxes:

+

The Decimal128 Constructor

+

The constructor for the Decimal128 object takes a single argument. If the argument is not a String, throw a *TypeError*. The String argument must match one of the following four valid syntaxes:

- + + + - - - "." + + + "." - - -? + + -? - - - "." + + + "." - + [+-]? - "." + "." - [-+]? + [-+]? @@ -83,98 +83,83 @@ location: https://github.com/tc39/proposal-decimal/

If *_x_* does not match any of these syntaxes, throw a *SyntaxError*.

Multiple leading zeros will be reduced to a single zero.

- -

Function Properties of the Decimal Object

- -

Decimal.add ( _x_ , _y_ [ , _options_ ] )

+
+ +

Properties of the Decimal128 Prototype

+ +

Decimal128.prototype.isNegative

+

A property indicating whether *this* value is negative. The possible values are *undefined*, *true*, or *false*.

+ +

The value of this property is intended to be *undefined* only when *this* Decimal128 value is NaN. In all other cases, this property should be either *true* or *false*.

+
+
+ +

Decimal128.prototype.isNaN

+

A property indicating whether *this* value represents a Decimal128 NaN value. The possible values are *true* and *false*.

+
+ +

Decimal128.prototype.coefficient

+

A property for the coefficient of *this* value. The possible values are *undefined* and a non-negative BigInt value.

+ +

The value for this property is intended to be *undefined* only when *this* value is either infinite or NaN.

+
+
+ +

Decimal128.prototype.exponent

+

A property for the exponent of *this* value. The possible values are *undefined* and a Number that is an integer.

+ +

The value of this property is *undefined* only when *this* decimal value is either infinite or NaN.

+
+
+ +

Decimal128.prototype.add ( _x_ )

Adds *this* value and *_x_*. Returns a fresh result, regardless of the mathematical value of *this* value or *_x_*. Neither *this* value nor *_x_* is modified.

-

If _x_ is not an instance of the Decimal object, then a *TypeError* will be thrown.

+

If _x_ is not an instance of the Decimal128 object, then a *TypeError* will be thrown.

Returns the result of adding the current Decimal128 value to _x_.

If _options_ is specified and _roundingMode_ is a property of _options_, then Get(_options_, *roundingMode*) must be a rounding mode. If Get(_options_, *roundingMode*) is not a rounding mode, a *RangeError* will be thrown. The addition will be carried out according to the specified rounding mode.

- -

Decimal.subtract ( _x_ , _y_[ , _options_ ] )

+ +

Decimal128.prototype.subtract ( _x_ )

Subtracts *_x_* from *this* value. Returns a fresh result, regardless of the mathematical value of *_x_*. Neither *this* value nor *_x_* is modified.

-

Returns the result of subtracting _x_ from the current Decimal value, which must be a Decimal object.

+

Returns the result of subtracting _x_ from the current Decimal128 value, which must be a Decimal128 object.

If _options_ is specified and _roundingMode_ is a property of _options_, then Get(_options_, *roundingMode*) must be a rounding mode. If Get(_options_, *roundingMode*) is not a rounding mode, throw a *RangeError* exception. The subtraction will be carried out according to the specified rounding mode.

- -

Decimal.multiply ( _x_ , _y_ [ , _options_ ] )

-

Multiplies *_x_* value by *_y_*. Returns a fresh result, regardless of the mathematical value of *this* value or that of *_x_*. Neither argument is modified.

- -

Returns the result of multiplying _x_ from the current Decimal value, which must be a Decimal object.

-

If _options_ is specified and _roundingMode_ is a property of _options_, then Get(_options_, *roundingMode*) must be a rounding mode. If Get(_options_, *roundingMode*) is not a rounding mode, a *RangeError* will be thrown. The multiplication will be carried out according to the specified rounding mode.

-
-
- -

Decimal.multiplyAndAdd ( _x_ , _y_ , _z_ [ , _options_ ] )

-

Multiplies *_x_* by *_y_* and adds that result to *_z_*. This operation can be understood as computing the product of the mathematical value of *_x_* with that of *_y_* and adding that product to the mathematical value of *_z_*, proceeding as though infinitely many digits throughout. It is thus not always the same as separately computing the product of two Decimal objects and then multiplying. Returns a fresh result. No argument is modified.

+ +

Decimal128.prototype.multiply ( _x_ )

+

Multiplies *this* value by *_x_*. Returns a fresh result, regardless of the mathematical value of *this* value or that of *_x_*. Neither argument is modified.

-

Returns the result of multiplying _x_ from the current Decimal value, which must be a Decimal object.

+

Returns the result of multiplying *this* value with _x_, which must be a Decimal128 object.

If _options_ is specified and _roundingMode_ is a property of _options_, then Get(_options_, *roundingMode*) must be a rounding mode. If Get(_options_, *roundingMode*) is not a rounding mode, a *RangeError* will be thrown. The multiplication will be carried out according to the specified rounding mode.

- -

Decimal.divide ( _x_ , _y_ [ , _options_ ] )

-

Divides *_x_* by *_y_*, both of which are supposed to be Decimal objects (otherwise a *TypeError* will be thrown). Returns a fresh result. Neither argument is modified.

+ +

Decimal128.prototype.divide ( _x_ )

+

Divides *this* value by *_y_*, which is supposed to be a Decimal128 object (otherwise a *TypeError* will be thrown). Returns a fresh result. Neither *this* value nor *_x_* is modified.

-

Returns the result of multiplying _x_ from the current Decimal value, which must be a Decimal object.

+

Returns the result of multiplying _x_ from the current Decimal128 value, which must be a Decimal128 object.

If _options_ is specified and _roundingMode_ is a property of _options_, then Get(_options_, *roundingMode*) must be a rounding mode. If Get(_options_, *roundingMode*) is not a rounding mode, a *RangeError* will be thrown. The multiplication will be carried out according to the specified rounding mode.

- -

Decimal.remainder ( _x_ , _y_ , [ , _options_ ] )

-

Computes the remainder of dividing *_x_* value by *_y_*. The sign of the result is the sign of *_x*. Returns a fresh result.

+ +

Decimal128.prototype.remainder ( _x_ )

+

Computes the remainder of dividing *this_ value by *_x_*. The sign of the result is the sign of *this* value. Returns a fresh result.

- -

Decimal.abs ( _x_ )

-

Returns the absolute value of *_x_*. The result is fresh and *_x_, even if the mathematical value of *_x_ is positive. *_x_ is not modified.

-
- -

Decimal.cmp ( _x_ [ , _options_ ] )

-

Compares the mathematical value of *x* value with the mathematical value of *_y_*, which is supposed to be a Decimal object. If *_x_* is not a Decimal object, throws a *TypeError*. Return *-1*𝔽, *+0*𝔽, or *1*𝔽 is the mathematical value of the *this* value value is, respectively, less than, equal to, or strictly greater than the mathematical value of *_x_*.

+ +

Decimal128.cmp ( _x_ )

+

Compares the mathematical value of *this* value with the mathematical value of *_x_*, which is supposed to be a Decimal128 object. If *_x_* is not a Decimal128 object, throws a *TypeError*. Return *-1*𝔽, *+0*𝔽, or *1*𝔽 is the mathematical value of the *this* value value is, respectively, less than, equal to, or strictly greater than the mathematical value of *_x_*.

- 1. If _x_ is not a Decimal object, then + 1. If _x_ is not a Decimal128 object, then 1. throw a *TypeError* exception. - 1. If [*this*][[isNaN]] or [*_x_*][[isNaN]] is **true**, then - 1. return **undefined**. + 1. If [*this*][[isNaN]] or [*_x_*][[isNaN]] is *true*, then + 1. return *undefined*.
-
-
- -

Properties of the Decimal Prototype

- -

Decimal.prototype.isNegative

-

A property indicating whether *this* value is negative. The possible values are **undefined**, **true**, or **false**.

- -

The value of this property is intended to be **undefined** only when *this* Decimal value is NaN. In all other cases, this property should be either **true** or **false**.

-
-
- -

Decimal.prototype.isNaN

-

A property indicating whether *this* value represents a Decimal128 NaN value. The possible values are **true** and **false**.

-
- -

Decimal.prototype.coefficient

-

A property for the coefficient of *this* value. The possible values are **undefined** and a non-negative BigInt value.

- -

The value for this property is intended to be **undefined** only when *this* value is either infinite or NaN.

-
-
- -

Decimal.prototype.exponent

-

A property for the exponent of *this* value. The possible values are **undefined** and a Number that is an integer.

- -

The value of this property is **undefined** only when *this* decimal value is either infinite or NaN.

-
-
-

Decimal.prototype.round ( _mode_ )

+

Decimal128.prototype.round ( _mode_ )

Rounds *this* value according to the specified rounding mode, returning a fresh result.

If _mode_ is not a String, throw a *TypeError* exception.

@@ -182,23 +167,15 @@ location: https://github.com/tc39/proposal-decimal/
-

Decimal.prototype.normalize ( )

-

Returns a fresh Decimal object whose mathematical value is the same as that of *this* value but which is normal.

+

Decimal128.prototype.normalize ( )

+

Returns a fresh Decimal128 object whose mathematical value is the same as that of *this* value but which is normal.

-

Decimal.prototype.toString ( )

-

Renders *this* value as a signed decimal string.

-
- -

Decimal.prototype.toExponential ( )

-

Renders *this* value as a signed exponential string.

-
- -

Decimal.prototype.toFixed ( _n_ [ , _options_ ] )

-

Renders *this* value as a signed exponential string but with exactly *_n_* digits after the decimal point. If specified, the rounding mode in `_options_` will be used to determine the result in case *this* value, if rendered as a signed decimal string, has more than *_n_* digits after the decimal point.

+

Decimal128.prototype.toString ( [ _options_ ] )

+

Renders *this* value as a signed decimal string. _options_, is defined, is supposed to be a plain object. If _options_ has the property *numDecimal128Digits* and the value of that property is a non-negative Number, the return value will be a string that has exactly that many digits after the decimal point, possibly with the addition of trailing zeros.

-

Decimal.prototype.valueOf ( _x_ )

+

Decimal128.prototype.valueOf ( _x_ )

Throw *TypeError*.

diff --git a/spec.html b/spec.html index 84cd7e9c..16621fce 100644 --- a/spec.html +++ b/spec.html @@ -1557,7 +1557,7 @@ }); let sdoMap = JSON.parse(`{}`); -let biblio = JSON.parse(`{"refsByClause":{"sec-decimal-intro":["_ref_0","_ref_6","_ref_7","_ref_8","_ref_9","_ref_10","_ref_11","_ref_12","_ref_13"],"sec-decimal.cmp":["_ref_1","_ref_35","_ref_36","_ref_37"],"sec-decimal.prototype.tostring":["_ref_2"],"sec-decimal.prototype.toexponential":["_ref_3"],"sec-decimal.prototype.tofixed":["_ref_4","_ref_5","_ref_41"],"sec-decimal.add":["_ref_14","_ref_15","_ref_16","_ref_17"],"sec-decimal.subtract":["_ref_18","_ref_19","_ref_20","_ref_21"],"sec-decimal.multiply":["_ref_22","_ref_23","_ref_24","_ref_25"],"sec-decimal.multiplyAndAdd":["_ref_26","_ref_27","_ref_28","_ref_29","_ref_30"],"sec-decimal.divide":["_ref_31","_ref_32","_ref_33"],"sec-decimal.abs":["_ref_34"],"sec-decimal-method-round":["_ref_38","_ref_39"],"sec-decimal.prototype.normalize":["_ref_40"]},"entries":[{"type":"clause","id":"sec-scope","titleHTML":"Scope","number":"1"},{"type":"clause","id":"ieee-754-2019","titleHTML":"IEEE 754-2019","number":"2.1","referencingIds":["_ref_0"]},{"type":"clause","id":"sec-normative-references","titleHTML":"Normative References","number":"2"},{"type":"term","term":"rounding mode","id":"dfn-rounding-mode","referencingIds":["_ref_15","_ref_16","_ref_17","_ref_19","_ref_20","_ref_21","_ref_23","_ref_24","_ref_25","_ref_28","_ref_29","_ref_30","_ref_31","_ref_32","_ref_33","_ref_38","_ref_39","_ref_41"]},{"type":"term","term":"digit","id":"dfn-digit","referencingIds":["_ref_6","_ref_7"]},{"type":"term","term":"decimal string","id":"dfn-decimal-string","referencingIds":["_ref_8","_ref_9"]},{"type":"term","term":"signed decimal string","id":"dfn-signed-decimal-string","referencingIds":["_ref_2","_ref_5"]},{"type":"term","term":"exponential string","id":"dfn-exponential-string","referencingIds":["_ref_11"]},{"type":"term","term":"signed exponential string","id":"dfn-signed-exponential-string","referencingIds":["_ref_3","_ref_4"]},{"type":"term","term":"mathematical value","id":"dfn-mathematical-value","referencingIds":["_ref_1","_ref_10","_ref_12","_ref_13","_ref_14","_ref_18","_ref_22","_ref_26","_ref_27","_ref_34","_ref_35","_ref_36","_ref_37","_ref_40"]},{"type":"clause","id":"sec-decimal-intro","titleHTML":"Introduction","number":""},{"type":"clause","id":"sec-the-decimal-constructor","titleHTML":"The Decimal Constructor","number":"3.1"},{"type":"clause","id":"sec-decimal.add","title":"Decimal.add ( x , y [ , options ] )","titleHTML":"Decimal.add ( x , y [ , options ] )","number":"3.2.1"},{"type":"clause","id":"sec-decimal.subtract","title":"Decimal.subtract ( x , y[ , options ] )","titleHTML":"Decimal.subtract ( x , y[ , options ] )","number":"3.2.2"},{"type":"clause","id":"sec-decimal.multiply","title":"Decimal.multiply ( x , y [ , options ] )","titleHTML":"Decimal.multiply ( x , y [ , options ] )","number":"3.2.3"},{"type":"clause","id":"sec-decimal.multiplyAndAdd","title":"Decimal.multiplyAndAdd ( x , y , z [ , options ] )","titleHTML":"Decimal.multiplyAndAdd ( x , y , z [ , options ] )","number":"3.2.4"},{"type":"clause","id":"sec-decimal.divide","title":"Decimal.divide ( x , y [ , options ] )","titleHTML":"Decimal.divide ( x , y [ , options ] )","number":"3.2.5"},{"type":"clause","id":"sec-decimal.remainder","title":"Decimal.remainder ( x , y , [ , options ] )","titleHTML":"Decimal.remainder ( x , y , [ , options ] )","number":"3.2.6"},{"type":"clause","id":"sec-decimal.abs","title":"Decimal.abs ( x )","titleHTML":"Decimal.abs ( x )","number":"3.2.7"},{"type":"clause","id":"sec-decimal.cmp","title":"Decimal.cmp ( x [ , options ] )","titleHTML":"Decimal.cmp ( x [ , options ] )","number":"3.2.8"},{"type":"clause","id":"sec-decimal-function-properties","titleHTML":"Function Properties of the Decimal Object","number":"3.2"},{"type":"clause","id":"sec-the-decimal-object","titleHTML":"The Decimal Object","number":"3"},{"type":"clause","id":"sec-decimal.prototype.isnegative","titleHTML":"Decimal.prototype.isNegative","number":"4.1"},{"type":"clause","id":"sec-decimal.prototype.isnan","titleHTML":"Decimal.prototype.isNaN","number":"4.2"},{"type":"clause","id":"sec-decimal.prototype.coefficient","titleHTML":"Decimal.prototype.coefficient","number":"4.3"},{"type":"clause","id":"sec-decimal.prototype.exponent","titleHTML":"Decimal.prototype.exponent","number":"4.4"},{"type":"clause","id":"sec-decimal-method-round","title":"Decimal.prototype.round ( mode )","titleHTML":"Decimal.prototype.round ( mode )","number":"4.5"},{"type":"clause","id":"sec-decimal.prototype.normalize","titleHTML":"Decimal.prototype.normalize ( )","number":"4.6"},{"type":"clause","id":"sec-decimal.prototype.tostring","titleHTML":"Decimal.prototype.toString ( )","number":"4.7"},{"type":"clause","id":"sec-decimal.prototype.toexponential","titleHTML":"Decimal.prototype.toExponential ( )","number":"4.8"},{"type":"clause","id":"sec-decimal.prototype.tofixed","title":"Decimal.prototype.toFixed ( n [ , options ] )","titleHTML":"Decimal.prototype.toFixed ( n [ , options ] )","number":"4.9"},{"type":"clause","id":"sec-decimal.prototype.valueof","title":"Decimal.prototype.valueOf ( x )","titleHTML":"Decimal.prototype.valueOf ( x )","number":"4.10"},{"type":"clause","id":"sec-decimal-prototype-properties","titleHTML":"Properties of the Decimal Prototype","number":"4"},{"type":"clause","id":"sec-copyright-and-software-license","title":"Copyright & Software License","titleHTML":"Copyright & Software License","number":"A"}]}`); +let biblio = JSON.parse(`{"refsByClause":{"sec-decimal-intro":["_ref_0","_ref_3","_ref_4","_ref_5","_ref_6","_ref_7","_ref_8","_ref_9","_ref_10"],"sec-decimal.prototype.cmp":["_ref_1","_ref_26","_ref_27","_ref_28"],"sec-decimal.prototype.tostring":["_ref_2"],"sec-decimal.prototype.add":["_ref_11","_ref_12","_ref_13","_ref_14"],"sec-decimal.prototype.subtract":["_ref_15","_ref_16","_ref_17","_ref_18"],"sec-decimal.prototype.multiply":["_ref_19","_ref_20","_ref_21","_ref_22"],"sec-decimal.prototype.divide":["_ref_23","_ref_24","_ref_25"],"sec-decimal-method-round":["_ref_29","_ref_30"],"sec-decimal.prototype.normalize":["_ref_31"]},"entries":[{"type":"clause","id":"sec-scope","titleHTML":"Scope","number":"1"},{"type":"clause","id":"ieee-754-2019","titleHTML":"IEEE 754-2019","number":"2.1","referencingIds":["_ref_0"]},{"type":"clause","id":"sec-normative-references","titleHTML":"Normative References","number":"2"},{"type":"term","term":"rounding mode","id":"dfn-rounding-mode","referencingIds":["_ref_12","_ref_13","_ref_14","_ref_16","_ref_17","_ref_18","_ref_20","_ref_21","_ref_22","_ref_23","_ref_24","_ref_25","_ref_29","_ref_30"]},{"type":"term","term":"digit","id":"dfn-digit","referencingIds":["_ref_3","_ref_4"]},{"type":"term","term":"decimal string","id":"dfn-decimal-string","referencingIds":["_ref_5","_ref_6"]},{"type":"term","term":"signed decimal string","id":"dfn-signed-decimal-string","referencingIds":["_ref_2"]},{"type":"term","term":"exponential string","id":"dfn-exponential-string","referencingIds":["_ref_8"]},{"type":"term","term":"signed exponential string","id":"dfn-signed-exponential-string"},{"type":"term","term":"mathematical value","id":"dfn-mathematical-value","referencingIds":["_ref_1","_ref_7","_ref_9","_ref_10","_ref_11","_ref_15","_ref_19","_ref_26","_ref_27","_ref_28","_ref_31"]},{"type":"clause","id":"sec-decimal-intro","titleHTML":"Introduction","number":""},{"type":"clause","id":"sec-the-decimal-constructor","titleHTML":"The Decimal128 Constructor","number":"3.1"},{"type":"clause","id":"sec-the-decimal-object","titleHTML":"The Decimal128 Object","number":"3"},{"type":"clause","id":"sec-decimal.prototype.isnegative","titleHTML":"Decimal128.prototype.isNegative","number":"4.1"},{"type":"clause","id":"sec-decimal.prototype.isnan","titleHTML":"Decimal128.prototype.isNaN","number":"4.2"},{"type":"clause","id":"sec-decimal.prototype.coefficient","titleHTML":"Decimal128.prototype.coefficient","number":"4.3"},{"type":"clause","id":"sec-decimal.prototype.exponent","titleHTML":"Decimal128.prototype.exponent","number":"4.4"},{"type":"clause","id":"sec-decimal.prototype.add","title":"Decimal128.prototype.add ( x )","titleHTML":"Decimal128.prototype.add ( x )","number":"4.5"},{"type":"clause","id":"sec-decimal.prototype.subtract","title":"Decimal128.prototype.subtract ( x )","titleHTML":"Decimal128.prototype.subtract ( x )","number":"4.6"},{"type":"clause","id":"sec-decimal.prototype.multiply","title":"Decimal128.prototype.multiply ( x )","titleHTML":"Decimal128.prototype.multiply ( x )","number":"4.7"},{"type":"clause","id":"sec-decimal.prototype.divide","title":"Decimal128.prototype.divide ( x )","titleHTML":"Decimal128.prototype.divide ( x )","number":"4.8"},{"type":"clause","id":"sec-decimal.prototype.remainder","title":"Decimal128.prototype.remainder ( x )","titleHTML":"Decimal128.prototype.remainder ( x )","number":"4.9"},{"type":"clause","id":"sec-decimal.prototype.cmp","title":"Decimal128.cmp ( x )","titleHTML":"Decimal128.cmp ( x )","number":"4.10"},{"type":"clause","id":"sec-decimal-method-round","title":"Decimal128.prototype.round ( mode )","titleHTML":"Decimal128.prototype.round ( mode )","number":"4.11"},{"type":"clause","id":"sec-decimal.prototype.normalize","titleHTML":"Decimal128.prototype.normalize ( )","number":"4.12"},{"type":"clause","id":"sec-decimal.prototype.tostring","title":"Decimal128.prototype.toString ( [ options ] )","titleHTML":"Decimal128.prototype.toString ( [ options ] )","number":"4.13"},{"type":"clause","id":"sec-decimal.prototype.valueof","title":"Decimal128.prototype.valueOf ( x )","titleHTML":"Decimal128.prototype.valueOf ( x )","number":"4.14"},{"type":"clause","id":"sec-decimal-prototype-properties","titleHTML":"Properties of the Decimal128 Prototype","number":"4"},{"type":"clause","id":"sec-copyright-and-software-license","title":"Copyright & Software License","titleHTML":"Copyright & Software License","number":"A"}]}`); ;let usesMultipage = false