summaryrefslogtreecommitdiff
path: root/doc/quickjs.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/quickjs.texi')
-rw-r--r--doc/quickjs.texi51
1 files changed, 4 insertions, 47 deletions
diff --git a/doc/quickjs.texi b/doc/quickjs.texi
index 34ddf35..83294e8 100644
--- a/doc/quickjs.texi
+++ b/doc/quickjs.texi
@@ -24,10 +24,6 @@ ES2023 specification
@footnote{@url{https://tc39.es/ecma262/2023 }}
including modules, asynchronous generators, proxies and BigInt.
-It supports mathematical extensions such as big decimal float float
-numbers (BigDecimal), big binary floating point numbers (BigFloat),
-and operator overloading.
-
@section Main Features
@itemize
@@ -47,8 +43,6 @@ features from the upcoming ES2024 specification
@item Garbage collection using reference counting (to reduce memory usage and have deterministic behavior) with cycle removal.
-@item Mathematical extensions: BigDecimal, BigFloat, operator overloading, bigint mode, math mode.
-
@item Command line interpreter with contextual colorization and completion implemented in Javascript.
@item Small built-in standard library with C library wrappers.
@@ -123,10 +117,6 @@ source is @code{import}.
@item --script
Load as ES6 script (default=autodetect).
-@item --bignum
-Enable the bignum extensions: BigDecimal object, BigFloat object and
-the @code{"use math"} directive.
-
@item -I file
@item --include file
Include an additional file.
@@ -193,21 +183,8 @@ when the @code{-fno-x} options are used.
@item -fno-[eval|string-normalize|regexp|json|proxy|map|typedarray|promise|bigint]
Disable selected language features to produce a smaller executable file.
-@item -fbignum
-Enable the bignum extensions: BigDecimal object, BigFloat object and
-the @code{"use math"} directive.
-
@end table
-@section @code{qjscalc} application
-
-The @code{qjscalc} application is a superset of the @code{qjs}
-command line interpreter implementing a Javascript calculator with
-arbitrarily large integer and floating point numbers, fractions,
-complex numbers, polynomials and matrices. The source code is in
-@file{qjscalc.js}. More documentation and a web version are available at
-@url{http://numcalc.com}.
-
@section Built-in tests
Run @code{make test} to run the few built-in tests included in the
@@ -301,25 +278,6 @@ ECMA402 (Internationalization API) is not supported.
@end itemize
-@subsection Mathematical extensions
-
-The mathematical extensions are fully backward compatible with
-standard Javascript. See @code{jsbignum.pdf} for more information.
-
-@itemize
-
-@item @code{BigDecimal} support: arbitrary large floating point numbers in base 10.
-
-@item @code{BigFloat} support: arbitrary large floating point numbers in base 2.
-
-@item Operator overloading.
-
-@item The directive @code{"use bigint"} enables the bigint mode where integers are @code{BigInt} by default.
-
-@item The directive @code{"use math"} enables the math mode where the division and power operators on integers produce fractions. Floating point literals are @code{BigFloat} by default and integers are @code{BigInt} by default.
-
-@end itemize
-
@section Modules
ES6 modules are fully supported. The default name resolution is the
@@ -1105,12 +1063,11 @@ binary properties.
The full Unicode library weights about 45 KiB (x86 code).
-@section BigInt, BigFloat, BigDecimal
+@section BigInt
-BigInt, BigFloat and BigDecimal are implemented with the @code{libbf}
-library@footnote{@url{https://bellard.org/libbf}}. It weights about 90
-KiB (x86 code) and provides arbitrary precision IEEE 754 floating
-point operations and transcendental functions with exact rounding.
+BigInts are represented using binary two's complement notation. An
+additional short bigint value is used to optimize the performance on
+small BigInt values.
@chapter License