forked from jtobey/javascript-bignum
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
51 lines (33 loc) · 1.69 KB
/
Copy pathTODO
File metadata and controls
51 lines (33 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
TODO:
* Fix (expt 0 0) in maint branches as per the example in R6RS.
* Backport fix: (angle 1.0) must be inexact.
* Decimal: Test and debug.
* Leemon Baird BigInt wrapper: optimize. Add exactIntegerSqrt.
* Provide a choice among different implementations of complex numbers
and inexact reals.
* Support primitive numbers as exact values using conditionals,
typeof, and lifting as in js-numbers.
* Create integer and rational implementations using the GMP plug-in.
Consider hybrid implementations with runtime optimal threshold
discovery, since the plugin may be out-of-process, incurring 100x
per-call overhead. Implement lazy evaluation using expression
objects that batch operations into scripts.
* Consider avoidance or mitigation of GMP calls to abort(),
division-by-zero, square-root-of-negative, anything else?
* Add MPFR functions to the GMP plugin. Create a high-precision
inexact number implementation on MPFR.
* Reimplement the performance benefit of using Number.prototype for
inexact, but make it optional.
* Implement (rnrs arithmetic bitwise) functions.
* Think about what to do with "#e1@1".
* Consider supporting a configuration where inexact reals are returned
as primitive numbers but Number.prototype is not used.
* Consider supporting primitive numbers as exact values using
Number.prototype.
* Avoid "x in y" out of concern for Object.prototype use.
* Consider supporting continuation-passing style for the benefit of
Scheme(?) and PPAPI.
* Consider merging the plugin architecture into D. Yoo's js-numbers.
* Consider type implementations that dynamically measure usage and
change representations on-the-fly to improve performance (run-time
optimization).