Settings

Theme

CasNum

github.com

287 points by aebtebeten 15 hours ago · 41 comments

Reader

ggm 14 hours ago

  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.
layer8 an hour ago

The implementation could be simplified to only use a compass: https://en.wikipedia.org/wiki/Mohr%E2%80%93Mascheroni_theore...

rablackburn 10 hours ago

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.

  • 0x0mer 6 hours ago

    Thank you so much! I'm really happy you could relate :)

    And definitely feeling the love and the warm inner glow!!

0x0mer 14 hours ago

Thanks for posting, means a lot! :) I'd be happy to know how you stumbled upon it

  • lagrange77 14 hours ago

    > 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

tingletech 14 hours ago

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

thebeardisred 5 hours ago

"Think of these as your ISA." Thank you good Sir for truly naming this in the clearest, most precise semiotics.

nmaleki 11 hours ago

I am really curious how this compares to https://github.com/rubenvannieuwpoort/reals

  • 0x0mer 6 hours ago

    I'd guess that CasNum would be, how do I put this? not as performant

danilor 13 hours ago

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!

  • 0x0mer 13 hours ago

    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)

flir 13 hours ago

Well that's just lovely.

george_max 6 hours ago

Haha, cool project and README!

mtsolitary 13 hours ago

Tried to use it to solve a quintic equation and it didn’t work :(

ko2026 14 hours ago

Coolest thing I've seen in a while Well done!

random_duck 14 hours ago

I have no idea what is going on here...

measurablefunc 12 hours ago

Nice job but I'd like to see it implemented w/ polynomial rings & quotients.

  • 0x0mer 3 hours ago

    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 :)

brcmthrowaway 13 hours ago

Was Claude used?

  • 0x0mer 13 hours ago

    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

user3939382 12 hours ago

Why is GitHub asking me for a login to view a public repo link? What is this LinkedIn now?

  • macintux 12 hours ago

    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.

    • hedora 7 hours ago

      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.

typon 11 hours ago

Like an oasis in a desert of LLM slop. Thanks I enjoyed this README

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection