Skip to content

Commit 383e2b0

Browse files
committed
2020-03-16 release
1 parent 0e8fffd commit 383e2b0

26 files changed

+2347
-2015
lines changed

Changelog

+11
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
2020-03-16:
2+
3+
- reworked error handling in std and os libraries: suppressed I/O
4+
exceptions in std FILE functions and return a positive errno value
5+
when it is explicit
6+
- output exception messages to stderr
7+
- added std.loadFile(), std.strerror(), std.FILE.prototype.tello()
8+
- added JS_GetRuntimeOpaque(), JS_SetRuntimeOpaque(), JS_NewUint32()
9+
- updated to Unicode 13.0.0
10+
- misc bug fixes
11+
112
2020-01-19:
213

314
- keep CONFIG_BIGNUM in the makefile

TODO

+3-2
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,6 @@ REPL:
7373
Test262o: 0/11262 errors, 463 excluded
7474
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
7575

76-
Test262: 17/69942 errors, 855 excluded, 581 skipped
77-
test262 commit: 28b4fcca4b1b1d278dfe0cc0e69c7d9d59b31aab
76+
Test262: 22/70040 errors, 860 excluded, 581 skipped
77+
test262 commit: 25c9e334d301944537215caba1d7f44319f3e0da
78+

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2020-01-19
1+
2020-03-16

doc/jsbignum.html

+15-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

doc/jsbignum.pdf

-262 Bytes
Binary file not shown.

doc/jsbignum.texi

+13-16
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ More precisely, the following modifications were made:
5757

5858
@item @code{with operators from} is not supported. Operator overloading is always enabled.
5959

60-
@item The dispatch is not based on a static @code{[[OperatorSet]]} field in all instances. Instead, a dynamic lookup the of the @code{Symbol.operatorSet} property is done. This property is typically added in the prototype of each object.
60+
@item The dispatch is not based on a static @code{[[OperatorSet]]} field in all instances. Instead, a dynamic lookup of the @code{Symbol.operatorSet} property is done. This property is typically added in the prototype of each object.
6161

6262
@item @code{Operators.create(...dictionaries)} is used to create a new OperatorSet object. The @code{Operators} function is supported as an helper to be closer to the TC39 proposal.
6363

@@ -119,7 +119,7 @@ Return the number of trailing zeros in the two's complement binary representatio
119119
@section Introduction
120120

121121
This extension adds the @code{BigFloat} primitive type. The
122-
@code{BigFloat} type represents floating point numbers are in base 2
122+
@code{BigFloat} type represents floating point numbers in base 2
123123
with the IEEE 754 semantics. A floating
124124
point number is represented as a sign, mantissa and exponent. The
125125
special values @code{NaN}, @code{+/-Infinity}, @code{+0} and @code{-0}
@@ -143,15 +143,13 @@ explicit.}. The status flags of the global environment cannot be
143143
read@footnote{The rationale is to avoid side effects for the built-in
144144
operators.}. The precision of the global environment is
145145
@code{BigFloatEnv.prec}. The number of exponent bits of the global
146-
environment is @code{BigFloatEnv.expBits}. If @code{BigFloatEnv.expBits} is
147-
strictly smaller than the maximum allowed number of exponent bits
148-
(@code{BigFloatEnv.expBitsMax}), then the global environment subnormal
149-
flag is set to @code{true}. Otherwise it is set to @code{false};
146+
environment is @code{BigFloatEnv.expBits}. The global environment
147+
subnormal flag is set to @code{true}.
150148

151-
For example, @code{prec = 53} and @code{ expBits = 11} give exactly
152-
the same precision as the IEEE 754 64 bit floating point. The
149+
For example, @code{prec = 53} and @code{ expBits = 11} exactly give
150+
the same precision as the IEEE 754 64 bit floating point format. The
153151
default precision is @code{prec = 113} and @code{ expBits = 15} (IEEE
154-
754 128 bit floating point).
152+
754 128 bit floating point format).
155153

156154
The global floating point environment can only be modified temporarily
157155
when calling a function (see @code{BigFloatEnv.setPrec}). Hence a
@@ -345,9 +343,8 @@ environment. The initial value is @code{113}.
345343

346344
@item expBits
347345
Getter. Return the exponent size in bits of the global floating point
348-
environment assuming an IEEE 754 representation. If @code{expBits <
349-
expBitsMax}, then subnormal numbers are supported. The initial value
350-
is @code{15}.
346+
environment assuming an IEEE 754 representation. The initial value is
347+
@code{15}.
351348

352349
@item setPrec(f, p[, e])
353350
Set the precision of the global floating point environment to @code{p}
@@ -492,7 +489,7 @@ BigDecimal literals are decimal floating point numbers with a trailing
492489

493490
It returns @code{0m} if no parameter is provided. Otherwise the first
494491
parameter is converted to a bigdecimal by using ToString(). Hence
495-
Number value are not converted to their exact numerical value as
492+
Number values are not converted to their exact numerical value as
496493
BigDecimal.
497494

498495
@subsection Properties of the @code{BigDecimal} object
@@ -581,11 +578,11 @@ The following changes are made to the Javascript semantics:
581578

582579
@item The logical xor operator is still available with the @code{^^} operator.
583580

584-
@item The integer division operator can be overloaded by modifying the corresponding operator in @code{BigInt.prototype.[[OperatorSet]]}.
581+
@item The modulo operator (@code{%}) returns the Euclidian remainder (always positive) instead of the truncated remainder.
585582

586-
@item The integer power operator with a non zero negative exponent can be overloaded by modifying the corresponding operator in @code{BigInt.prototype.[[OperatorSet]]}.
583+
@item The integer division operator can be overloaded with @code{Operators.updateBigIntOperators(dictionary)}.
587584

588-
@item The modulo operator (@code{%}) returns the Euclidian remainder (always positive) instead of the truncated remainder.
585+
@item The integer power operator with a non zero negative exponent can be overloaded with @code{Operators.updateBigIntOperators(dictionary)}.
589586

590587
@end itemize
591588

0 commit comments

Comments
 (0)