Commit graph

201 commits

Author SHA1 Message Date
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