Commit Graph

784 Commits

Author SHA1 Message Date
Simon Forman d2048a3846 Some notebooks. 2023-02-01 14:54:07 -08:00
Simon Forman 28fa767593 Messing around with C. 2023-02-01 14:23:54 -08:00
Simon Forman 109cddae12 Readline support would be nice. 2022-10-17 17:51:12 -07:00
Simon Forman ec5036bf63 This and that. 2022-10-15 20:04:27 -07:00
Simon Forman 74f936efa0 Cleanup and refactoring.
Bug when subtracting identical numbers.  It gives

    [false 0]

When it should be

    [false]

or better yet

    [true]

eh?
2022-10-15 11:05:17 -07:00
Simon Forman 062b01da55 That seems to work: addition and subtraction. 2022-10-15 09:52:58 -07:00
Simon Forman c130026895 Mostly done with addition and subtraction. 2022-10-14 21:01:18 -07:00
Simon Forman 0b4b79f884 Not quite as smooth as I'd hoped. 2022-10-14 20:36:50 -07:00
Simon Forman 6ade65ef0c Subtraction seems to work now. 2022-10-14 17:52:31 -07:00
Simon Forman 9ba9d055ac Progress. 2022-10-13 23:10:41 -07:00
Simon Forman 8bedb77462 Adding like-sign bigints in Joy. 2022-10-11 11:37:38 -07:00
Simon Forman e7f4a021fe Misc stuff. 2022-10-10 22:28:50 -07:00
Simon Forman 5b852e7964 Minor cleanup. 2022-10-10 22:23:19 -07:00
Simon Forman b48419ec1a Add two lists of digits. 2022-10-10 20:32:57 -07:00
Simon Forman 756e1829d9 I think I got it.
Whew!  Think slow and steady FTW.  Don't get ahead of yourself.  Put the
non-recursive parts in the non-recursive branch, duh.
2022-10-10 20:26:59 -07:00
Simon Forman 2cf2b56751 Dang it... 2022-10-10 18:39:35 -07:00
Simon Forman 92ffefd6f0 Minor cleanup. 2022-10-06 18:11:24 -07:00
Simon Forman bad1a909c7 Just for me...
(That's how you look all clever, but it's a dick move removing the
commentary like that.)
2022-10-06 15:36:16 -07:00
Simon Forman e085218490 Bisect for the win! 2022-10-06 15:34:34 -07:00
Simon Forman 1007cceab5 find_greatest()
I think it's ready to use...
2022-10-06 15:31:24 -07:00
Simon Forman d8b346958a Finish lil_divmod. 2022-10-06 08:04:54 -07:00
Simon Forman c07a9e3ed9 One more lil bug squash.
Subsidiary functions...

Fuzz FTW.
2022-10-05 12:31:35 -07:00
Simon Forman 0e283f1052 Div Mod of same sign ints.
That seems to be that.
2022-10-05 12:21:46 -07:00
Simon Forman 634ff157bc Flush out and squash some bugs. 2022-10-05 12:19:39 -07:00
Simon Forman df42bbcb7d I think I figured something out... 2022-10-05 10:16:47 -07:00
Simon Forman 339852a435 Kinda sorta not really working,
as in broken.

This is getting out of hand.
2022-10-05 09:15:41 -07:00
Simon Forman 0ee3d00537 Almost got it... 2022-10-05 08:49:35 -07:00
Simon Forman 70ea2c3f53 Divmod, yeah? 2022-10-05 08:27:01 -07:00
Simon Forman e2f8d236cc Minor cleanup.
I almost can't believe I did it.  I guess I thought it would be harder
or more involved.  Maybe divmod will be a pill?

Kinda relaxing after wasting the weekend nerd-sniped by curses.
2022-10-04 22:21:58 -07:00
Simon Forman 233f7431d6 Copyright and executable bit 2022-10-04 22:19:14 -07:00
Simon Forman 918e77b678 Minor cleanup. 2022-10-04 22:18:22 -07:00
Simon Forman beafe3aff0 Minor cleanup; multiplication.
I forgot to commit after cleanup but before implementing multiplication
so this commit is kind of a mess.

Anyway, it works.  :D
2022-10-04 22:06:49 -07:00
Simon Forman 217adaa318 test_Subtraction_large_from_small 2022-10-04 16:41:09 -07:00
Simon Forman 4cea474166 I guess subtraction works!? 2022-10-04 16:28:43 -07:00
Simon Forman 70b8bbdc0e Adding two negative numbers. 2022-10-04 12:10:32 -07:00
Simon Forman 0333c3c522 That was easy! Add BigInts of the same sign. 2022-10-04 12:05:41 -07:00
Simon Forman 0817dcf4b1 Red... (Green, Refactor)
TDD FTW!
2022-10-04 11:37:55 -07:00
Simon Forman 21bd4bcfd3 Not using ctypes; test_twice_min 2022-10-04 11:31:40 -07:00
Simon Forman 151c580721 Minor cleanup. 2022-10-04 11:21:07 -07:00
Simon Forman 9ccc92d04c Fix import. 2022-10-04 11:20:55 -07:00
Simon Forman f0b6f4036a BitInt start; unittest. 2022-10-04 11:20:14 -07:00
Simon Forman 53bea5f59b That was easy...
but it breaks associativity or is it commutivity?

Anyway you can't add THREE or more things in one expression (yet)
because adding OberonInt objects returns a two-tuple.

I could adjust the semantics of ObInt to accept such two-tuples and do
add_with_carry() but that's probably more trouble than it's worth.

Just gotta be careful with math expressions, eh?
2022-10-04 08:53:32 -07:00
Simon Forman 690f157ac8 Switch to double-underscore method names.
Worry about type conversions later.
2022-10-04 08:49:40 -07:00
Simon Forman e2f107d1bb Subtraction. 2022-10-04 08:47:39 -07:00
Simon Forman 6ecf681d3a BigInts in terms of Oberon Ints
Oberon RISC has Two's Complement 32-bit ints with carry.

So far so good.
2022-10-04 08:32:04 -07:00
Simon Forman 56fdf1eb18 Minor cleanup. 2022-09-28 22:07:28 -07:00
Simon Forman abddda47da Minor cleanup.
Functional Programming FTW!
2022-09-28 21:56:53 -07:00
Simon Forman 61bcf3588a Apparently this is redundant.
Discovered by running `nim doc joy.nim`, compiling doesn't flag it.
2022-09-28 21:22:19 -07:00
Simon Forman ec46cb6a2b Clear out old docs; update defs.txt. 2022-09-28 18:28:25 -07:00
Simon Forman cdec813b24 I had to model it in Python
before writing it in OCaml.
2022-09-28 18:21:13 -07:00