Simon Brooke
22fa7314d6
Mostly fixing and standardising documentation.
2019-01-20 20:37:44 +00:00
Simon Brooke
0f8bc990f2
Much investigation of bignum problems
...
bignum multiply is still not working, but as bignum read and bignum divide depend on it, it's the problem to hit first.
2019-01-19 16:28:15 +00:00
Simon Brooke
000ae3c392
Not really a unit test, just trying to find where the problem is
2019-01-19 10:55:24 +00:00
Simon Brooke
46a4132823
Made it easier to run individual unit tests
2019-01-18 20:55:03 +00:00
Simon Brooke
b433171fb6
Problem is that reading bignums depends on multiplying bignums...
...
Which doesn't work for the second digit into bignum territory - so it's fine at the boundary...
2019-01-18 14:25:32 +00:00
Simon Brooke
d8991e8823
H'mmm. But although two-cell bignums work, n-cell do not.
...
Both add and print fail with numbers larger than 2^120
2019-01-18 14:09:26 +00:00
Simon Brooke
c74b9cc162
Bignum subtraction does NOT work
...
Also subtraction of large numbers which are not beyond the bignum barrier does not work.
2019-01-18 13:57:41 +00:00
Simon Brooke
c209abb4f9
Added unit tests to establish that bignum addition and print work
...
the bug must be in multiplication.
2019-01-18 13:39:12 +00:00
Simon Brooke
7f93b04b72
Various refactorings around bignum arithmetic
2019-01-17 17:04:14 +00:00
Simon Brooke
d624c671cd
Major refactoring, all tests still pass
...
Bignum issues not yet folly resolved.
2019-01-05 11:42:17 +00:00
Simon Brooke
396e214b5f
Increased maximum memory allocation
2019-01-04 11:24:05 +00:00
Simon Brooke
67443e1d46
OK, adding bignums works; multiplying bignums does not work.
...
There's no evidence of a bug in reading/printing, because the only way I can currently get a number big enough to trigger the supposed bug is by multiplying, which doesn't work.
2019-01-04 11:04:55 +00:00
Simon Brooke
cd509b0668
Merge remote-tracking branch 'origin/feature/all-integers-are-bignums' into feature/all-integers-are-bignums
2019-01-04 10:40:24 +00:00
Simon Brooke
67802a07b8
Now successfully reading/printing 2 cell bignums
...
Something is wrong with n-cell bignums, but let's make haste slowly.
2019-01-04 10:40:15 +00:00
Simon Brooke
9b6a37ebb5
Now successfully reading/printing 2 cell bignums
...
Something is wrong with n-cell bignums, but let's make haste slowly.
2019-01-04 10:39:48 +00:00
Simon Brooke
d9d789fdd0
Now creating the correct internal bignum representation
...
add_integers returns an integer which by inspection of the internal representation is correct, but the print representation is not correct.
2019-01-03 11:21:08 +00:00
Simon Brooke
4295b6e57f
This isn't working, but it's VERY promising.
2019-01-01 15:04:44 +00:00
Simon Brooke
87007362f3
Fixed unit tests which were failing because of the change in formatting integers
2018-12-31 16:29:11 +00:00
Simon Brooke
6d2cf313cb
Very small fix to formatting integers.
2018-12-31 16:24:38 +00:00
Simon Brooke
a02d286ad5
Spotted a bug in car of a stream, and fixed it.
2018-12-31 16:18:39 +00:00
Simon Brooke
8fa71b13da
Merge remote-tracking branch 'origin/feature/all-integers-are-bignums' into feature/all-integers-are-bignums
2018-12-31 16:15:25 +00:00
Simon Brooke
e5f40032e9
Now safely detecting (but not dealing with) integer overflow.
...
Also printing and reading integers with comma separators.
2018-12-31 16:15:14 +00:00
Simon Brooke
cad703f218
Now safely detecting (but not dealing with) integer overflow.
2018-12-31 16:11:55 +00:00
Simon Brooke
72ab4af20e
Seem to have fixed the 'oblist getting lost' problem.
2018-12-31 14:43:47 +00:00
Simon Brooke
e7dffcad2c
Not really making progress.
2018-12-30 19:07:07 +00:00
Simon Brooke
02fe5669d8
Complete reworking of the REPL
...
which is good in itself, but not what I was meant to be working on.
2018-12-30 17:56:15 +00:00
Simon Brooke
47f4b4c7f7
Bug was in integer_to_string; all tests now pass.
2018-12-30 12:07:38 +00:00
Simon Brooke
87b5b1afe8
Fixed failing test
2018-12-30 11:14:50 +00:00
Simon Brooke
61573d85d9
/all-integers-are-bignums: broken, but I don't know why.
2018-12-30 11:10:14 +00:00
Simon Brooke
489f008044
Printing of bignums basically done, not tested.
2018-12-29 23:44:28 +00:00
Simon Brooke
342f0308d3
The beginning of bignums is in place, tests still pass.
2018-12-29 22:30:07 +00:00
Simon Brooke
c21a762413
Much better GC, still a few things being missed.
2018-12-29 20:34:31 +00:00
Simon Brooke
2ec5d37305
Noticed that my notes files weren't being rendered by github
...
Because .txt, not .md
2018-12-29 16:39:20 +00:00
Simon Brooke
7b126ea979
Garbage collection now much better, not good
...
There's clearly still a lot of things getting incremented but not decremented.
2018-12-29 09:35:29 +00:00
Simon Brooke
ad806de656
Freeing vector-space objects, apparently good.
...
Not freeing enough cons-space objects, though!
2018-12-29 08:23:26 +00:00
Simon Brooke
40e1f3ca64
Whitespace only changes
2018-12-29 07:40:01 +00:00
Simon Brooke
8231c74bae
Various fixes while trying to make defun!
work
...
It still doesn't, but I think it's VERY close!
2018-12-28 22:41:00 +00:00
Simon Brooke
a2afbe030f
Merge branch 'release/0.0.4' into develop
2018-12-28 22:36:43 +00:00
Simon Brooke
2d5fc4a202
Upversioned, README updated
2018-12-28 22:36:26 +00:00
Simon Brooke
3d2d680041
Merge branch 'feature/stack-in-vector-space' into develop
2018-12-28 21:33:49 +00:00
Simon Brooke
570634bc43
Success! All tests pass.
2018-12-28 21:33:35 +00:00
Simon Brooke
96dad29f91
Good news: only one test failing. Bad news: it's nlambda.
2018-12-28 21:21:11 +00:00
Simon Brooke
e52ccce0eb
Much progress! Half the unit tests pass.
2018-12-28 15:50:37 +00:00
Simon Brooke
75abfb4050
Much better debugging, but it still doesn't work
2018-12-27 21:37:38 +00:00
Simon Brooke
3d5c27cb10
Horribly broken, may have to rethink.
2018-12-26 21:10:24 +00:00
Simon Brooke
9937f344dc
Major refactoring. Major problems!
...
On the right path but it doesn't work yet.
2018-12-26 20:30:14 +00:00
Simon Brooke
ae8ba67ed7
Better exceptions, investigation on failure to read/print wide chars.
2018-12-25 15:32:53 +00:00
Simon Brooke
9ff2f14c7d
Reverse
2018-12-25 14:44:38 +00:00
Simon Brooke
9e5af35aa0
Read negative numbers
2018-12-25 13:51:15 +00:00
Simon Brooke
6ee9f9b59a
Begun work on bignums; changed integer size to 64 bits
...
I'm fairly sure the size of a long int on my machines is 64 bit anyway, but for portability it needs to be explicit.
2018-12-25 13:18:37 +00:00