John Benediktsson
a8b3642c8c
math.parser: make float-parse:point a fixnum.
2015-07-30 18:16:31 -07:00
John Benediktsson
b3323c15bd
math.parser: some inline, some fixnum+fast, some disable tests.
2015-07-30 17:59:21 -07:00
Jon Harper
8d827b2772
math.parser: support >bin and >oct for floats
...
This is for symmetry with "0o1p0", "0b1p0", bin> and hex> which
all already work
2015-07-30 11:04:51 -07:00
Jon Harper
4d8cb81cab
math.parser: add tests/docs for floats 0b 0x bin> float> since they work
2015-07-30 11:04:51 -07:00
Jon Harper
09af182db7
math.parser, don't take infinite time to parse huge exponents
2015-07-30 11:04:51 -07:00
Jon Harper
dce2ca1366
math.parser: don't lose precision in make-float-bin-exponent
2015-07-30 11:04:51 -07:00
John Benediktsson
c6fad4aa61
math.ratios: moving to core.
2015-07-30 10:31:00 -07:00
Jon Harper
53efceb0ad
math.integers, comment and simplify bignum/f
...
change the "while" that could only execute once to "when"
change the f/loop word name to "mantissa-and-guard" since it's what it
computes
change the check against 2^53 to be explicit
2015-07-26 12:33:56 -07:00
Jon Harper
5424ad5586
math.integers, bignum/f, improve performance.
...
This changes avoids looping many times if the denominator is a power of
2. After this change, the implementation matches the linked sbcl
algorithm. This was probably a mistake done when porting the algorithm.
Basically, as an optimization, all trailing zeros are removed from the
base2 representation of the denominator to have smaller bignums to
divide. But the previous factor implementation didn't take this into
account when making the initial guess of the shift of the numerator to
obtain a result in the range [2^54-1,2^53]. The loop would then correct
the initial guess by a factor of 2 at each iteration, so it would run as
many iteration as the denominator base2 power reduction, instead of only
a few times. For pathological cases, the speed up is huge (10^4):
1 1000 2^ bignum/f
2015-07-26 12:33:55 -07:00
Jon Harper
cc6d90a096
math.integers, fix bignum/f for results in ]0x1.0p-1022,0x0.4p-1022]
2015-07-26 12:33:55 -07:00
John Benediktsson
296974a057
math.parser: remove digits>integer.
2015-07-19 19:18:47 -07:00
John Benediktsson
16c93c7874
math.parser: simplify fix-float.
2015-07-19 17:20:37 -07:00
John Benediktsson
0dbc5e7d67
math.parser: simplify { integer ratio } >base.
2015-07-19 16:57:45 -07:00
John Benediktsson
89e3cc511e
math: moving >fraction to math.
2015-07-19 16:57:45 -07:00
John Benediktsson
4cda3fe7c4
math.parser: re-use number-parse and float-parse objects.
2015-07-19 09:58:17 -07:00
Doug Coleman
d2ab2e6dd1
math.parser.tests: Fix whitespace.
2015-07-17 15:19:39 -07:00
John Benediktsson
c7868226d0
math.parser: simplify using member-eq?.
2015-07-16 09:55:33 -07:00
John Benediktsson
33a62c7f9d
math.parser: with-radix-char quot shouldn't get called with ``f``.
2015-07-16 08:51:58 -07:00
John Benediktsson
e280bafabe
math.parser: remove unnecessary with-no-radix, thanks @jonenst!
2015-07-16 07:35:51 -07:00
John Benediktsson
f6f596f40f
math.parser: okay time for sleep, maybe this works, sorry git history.
2015-07-14 22:48:08 -07:00
John Benediktsson
5b58e1d3e8
math.parser: fix a regression.
2015-07-14 22:05:25 -07:00
John Benediktsson
94bb834eae
math.parser: fix ``"-.5" dec>``.
2015-07-14 20:16:34 -07:00
John Benediktsson
866b40271d
math.parser: fix "most-negative-fixnum number>string string>number fixnum?".
2015-07-14 20:03:33 -07:00
Doug Coleman
43d6f1d3e2
factor: Retrying on the unit tests. Also normalize some syntax with FUNCTION:.
2015-07-02 17:28:17 -07:00
Doug Coleman
59f3b1ea57
Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
...
Needs a bit more work.
This reverts commit 7e54cc2824
.
2015-07-02 13:47:06 -07:00
Doug Coleman
7e54cc2824
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
2015-07-02 11:36:08 -07:00
Doug Coleman
999aa7c897
factor: clean up spaces in -tests files
2015-07-02 10:34:01 -07:00
Doug Coleman
e3cb325040
factor: clean up whitespace in -docs files
2015-07-02 10:31:22 -07:00
Doug Coleman
69ee8b9190
core, basis: Don't use the IN: foo.private feature and undocument it.
...
It only works well when you are loading code dynamically.
2015-06-30 08:51:07 -07:00
Björn Lindqvist
ed702209ce
VM: fix bignum>fixnum-strict conversion, previously most-negative-fixnum
...
>bignum bignum>fixnum-strict didn't work
2015-06-29 08:19:42 +02:00
Doug Coleman
44e8e7b344
primitives: Change PRIMITIVE: to check that the word is in that vocabulary and the stack effect is correct.
...
Use PRIMITIVE: in core/ and basis/
2015-06-25 18:02:03 -07:00
John Benediktsson
7dfe023854
math.integers: add some more tests for bit?.
2015-06-17 20:23:21 -07:00
John Benediktsson
621b50a8e5
cpu: enable bit-test intrinsic for fixnum-bit?.
2015-06-17 19:11:10 -07:00
John Benediktsson
db9cfeeae2
math.integers: simplify fixnum-bit?.
2015-06-17 18:42:11 -07:00
John Benediktsson
ed786070e2
math.integers: fixnum-bit? should not use fixnum-shift-fast.
2015-06-17 08:22:00 -07:00
John Benediktsson
ccddbebf94
math.parser: slightly faster ((pow)).
2015-06-11 20:04:44 -07:00
John Benediktsson
d60d098c11
math.integers: speedup to fixnum-bit?.
2015-06-07 11:08:57 -07:00
John Benediktsson
2c3492a916
minor cleanup to some docs.
2015-05-13 16:09:14 -07:00
John Benediktsson
9033a28c09
math.parser: simplify store-exponent.
2014-11-29 14:31:23 -08:00
John Benediktsson
38bc43b968
math.parser: whoops, this part shouldn't have been committed.
2014-11-29 12:54:48 -08:00
John Benediktsson
cbba812d7e
math.parser: remove float>string, speedup format-float.
2014-11-29 12:47:57 -08:00
Doug Coleman
632ee276e1
core: Remove trailing whitespace.
2014-10-31 01:14:31 -07:00
John Benediktsson
53a9c43b31
math.parser: fix docs for >base and base>.
2014-06-07 12:05:52 -07:00
John Benediktsson
24ad4e9424
math: remove out-of-fixnum-range error.
2014-06-07 09:50:50 -07:00
John Benediktsson
eeaa91d6c1
vm: using bignum>fixnum-strict in integer>fixnum-strict.
2014-06-07 09:46:05 -07:00
John Benediktsson
309ce3aa69
math: adding a simple test for bignum_square.
2014-06-06 10:58:58 -07:00
John Benediktsson
57f9d78892
improve help by linking to types directly.
2014-05-23 20:20:15 -07:00
John Benediktsson
98935b7f15
docs: change ``{ $quotation "( x -- y )" }`` to ``{ $quotation ( x -- y ) }``.
2014-05-18 20:09:10 -07:00
John Benediktsson
ede21dfb56
math: fix docs for next-power-of-2 and some tests.
2014-02-06 17:23:54 -08:00
John Benediktsson
63514bbbf8
math: fix quot stack effect in unless-zero.
2014-01-07 08:25:18 -08:00