CasNum
github.com F.A.Q
Q: buT cAN iT rUn dOOm?
A: It can't really "run" anything, its a number.
Q: Is it fast?
A: Define "fast". If you mean "faster than copying Euclid by hand", then yes, dramatically.
Q: Why did you make this?
A: I wanted arbitrary precision arithmetic, but I also wanted to feel something.
I can relate. Expecially the 3rd one.Haha thank you! I'm glad to hear!
The implementation could be simplified to only use a compass: https://en.wikipedia.org/wiki/Mohr%E2%80%93Mascheroni_theore...
Fantastic comedic writing (and project, of course). It had me guffawing.
To add my own "most relatable" quote to this thread:
> As always, please save any important work before running anything I ever write.
:')
But really I just want to add to the cacophony of appreciation in this thread :)
0x0mer, I hope you feel the love from this reaction and can bask in that warm inner glow for years to come.
Thank you so much! I'm really happy you could relate :)
And definitely feeling the love and the warm inner glow!!
Thanks for posting, means a lot! :) I'd be happy to know how you stumbled upon it
> CasNum (Compass and straightedge Number) is a library that implements arbitrary precision arithmetic using compass and straightedge constructions. Arbitrary precision arithmetic, now with 100% more Euclid. Featuring a functional modified Game Boy emulator where every ALU opcode is implemented entirely through geometric constructions.
Awesome :D
Thank you! :)
Cool. I just learned of compass and straight edge calculations from this video on doubling a cube https://www.youtube.com/watch?v=96LbF8nn05c from Ben Syversen's channel a couple of months ago
"Think of these as your ISA." Thank you good Sir for truly naming this in the clearest, most precise semiotics.
I am really curious how this compares to https://github.com/rubenvannieuwpoort/reals
I'd guess that CasNum would be, how do I put this? not as performant
This is so nice!!
I'm wondering how hard would it be to extend it to include the whole game state plus all the ROM into the plane at the same time, and have it compute the next step from that!
That's a good question :)
I was wondering about this myself, it feels and probably is possible, and I have some ideas on how to do it. Though, on the one hand it would be cool if the entire GB was emulated using compass-and-straightedge, but OTOH, it would be less "pure" and a little more "forced" than just simulating the ALU, if you get what I mean.
One idea I had is trying to draw the graphics of the game using compass-and-straightedge constructions (i.e., using circles and lines to draw approximately the GB graphics)
Well that's just lovely.
Thank you!
Haha, cool project and README!
Thank you!
Tried to use it to solve a quintic equation and it didn’t work :(
Sadly this feature request was denied by Abel-Ruffini :(
Not completely though. Merely for almost all quintics.
Coolest thing I've seen in a while Well done!
Thank you! :)
Nice job but I'd like to see it implemented w/ polynomial rings & quotients.
It is implemented with polynomial rings!
I use SageMath to find minimal polynomials and solve the constructions algebraically. The reason I say that the library is only "arbitrary precision" and not exact/symbolic is that I use approximation in order to distinguish between points. I believe the "correct" way to implement this as exact would have been to save for each number its minimal polynomial and some interval that contains it and distinguishes it from the other roots of its minimal polynomial. It shouldn't be too much work to incorporate this, maybe I will do it some day :)
Was Claude used?
The only part of the code that was written by AI is the graphics window visualizing the constructions (i.e., the points, lines and circles) and I used codex
Why is GitHub asking me for a login to view a public repo link? What is this LinkedIn now?
That's strange. I just tested in a private tab (Safari) and wasn't asked to log in. Hopefully this isn't some A/B testing fiendishness.
A while back, they started aggressively rate limiting non-logged-in users.
I rarely login, because I don’t want to be a supply chain attack vector, but I guess that’s bad for someone’s promotion metrics.
Anyway, don’t host documentation there, and if you do, put it on one big page. If I read two paragraphs, think, then read the next page and so on, it bans me after about 5 clicks.
Them A/B testing “make it all private” would disappoint me, but not surprise me.
Like an oasis in a desert of LLM slop. Thanks I enjoyed this README
Happy to hear! :)