Alex Lam S.L
|
87119e44a0
|
fix corner case in sign propagation (#3696)
- migrate de-facto functionality to `evaluate`
fixes #3695
|
2020-01-28 22:44:18 +08:00 |
|
Alex Lam S.L
|
41a6eb892a
|
fix corner case in evaluate (#3685)
fixes #3684
|
2020-01-16 01:51:37 +08:00 |
|
Alex Lam S.L
|
91d87ae663
|
fix corner case in unsafe_math (#3683)
fixes #3682
|
2020-01-15 04:05:58 +08:00 |
|
Alex Lam S.L
|
14c35739dd
|
fix corner case in unsafe_math (#3677)
fixes #3676
|
2020-01-08 10:28:10 +08:00 |
|
Alex Lam S.L
|
78c8efd851
|
fix corner case in evaluate (#3656)
fixes #3655
|
2019-12-29 21:16:53 +08:00 |
|
Alex Lam S.L
|
af310ba2d0
|
fix corner case in evaluate (#3654)
fixes #3653
|
2019-12-29 02:50:57 +00:00 |
|
Alex Lam S.L
|
d9cd3d33c8
|
enhance evaluate (#3649)
|
2019-12-28 20:26:15 +00:00 |
|
Alex Lam S.L
|
48a0f6fe41
|
enhance unsafe_math (#3603)
|
2019-11-25 21:14:13 +08:00 |
|
Alex Lam S.L
|
644f65feca
|
fix corner case in unsafe_math (#3594)
fixes #3593
|
2019-11-18 13:44:13 +08:00 |
|
Alex Lam S.L
|
d1b2ecec27
|
refine precision limits on unsafe_math (#3589)
|
2019-11-17 01:16:42 +08:00 |
|
Alex Lam S.L
|
22a09ea7c5
|
fix corner case in unsafe_math (#3548)
fixes #3547
|
2019-10-29 17:06:57 +08:00 |
|
Alex Lam S.L
|
f38e31bd1e
|
fix corner case in evaluate (#3540)
fixes #3539
|
2019-10-28 19:56:42 +08:00 |
|
Alex Lam S.L
|
2f3b460212
|
fix & enhance unsafe_math (#3537)
closes #3535
fixes #3536
|
2019-10-28 13:37:08 +08:00 |
|
Alex Lam S.L
|
a270ba6b59
|
fix corner cases in unsafe_math (#3532)
fixes #3531
|
2019-10-27 08:25:11 +08:00 |
|
Alex Lam S.L
|
50a578c1f6
|
compress arithmetic expressions further (#3529)
|
2019-10-27 03:07:07 +08:00 |
|
Alex Lam S.L
|
22cea023d1
|
improve numeral compression (#3108)
|
2018-04-28 02:47:49 +08:00 |
|
Alex Lam S.L
|
257ddc3bdb
|
improve compression of undefined, NaN & Infinitiy (#1748)
- migrate transformation logic from `OutputStream` to `Compressor`
- always turn `undefined` into `void 0` (unless `unsafe`)
- always keep `NaN` except when avoiding local variable redefinition
- introduce `keep_infinity` to suppress `1/0` transform, except when avoiding local variable redefinition
supersedes #1723
fixes #1730
|
2017-04-01 03:02:14 +08:00 |
|
Alex Lam S.L
|
7cb1adf455
|
remove paranthesis for -(x*y) (#1732)
|
2017-03-30 16:09:00 +08:00 |
|
Alex Lam S.L
|
f71f4905b0
|
fix is_number() on += (#1714)
fixes #1710
|
2017-03-28 17:08:16 +08:00 |
|
Alex Lam S.L
|
18059cc94f
|
compress numerical expressions (#1513)
safe operations
- `a === b` => `a == b`
- `a + -b` => `a - b`
- `-a + b` => `b - a`
- `a+ +b` => `+b+a`
associative operations
(bit-wise operations are safe, otherwise `unsafe_math`)
- `a + (b + c)` => `(a + b) + c`
- `(n + 2) + 3` => `5 + n`
- `(2 * n) * 3` => `6 * n`
- `(a | 1) | (2 | d)` => `(3 | a) | b`
fixes #412
|
2017-03-03 18:04:32 +08:00 |
|
philippsimon
|
ee6c9fabb7
|
Fix: Uglified Number.prototype functions on big numbers
|
2016-03-14 12:41:06 +01:00 |
|