Settings

Theme

CasNum

github.com

333 points by aebtebeten 2 months ago · 43 comments

Reader

ggm 2 months 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.
rablackburn 2 months 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 2 months ago

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

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

tingletech 2 months 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

0x0mer 2 months ago

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

  • lagrange77 2 months 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

layer8 2 months ago

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

measurablefunc 2 months ago

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

  • 0x0mer 2 months 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 :)

nmaleki 2 months ago

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

  • 0x0mer 2 months ago

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

danilor 2 months 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 2 months 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 2 months ago

Well that's just lovely.

thebeardisred 2 months ago

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

mtsolitary 2 months ago

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

ko2026 2 months ago

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

user3939382 2 months ago

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

  • macintux 2 months 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 2 months 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.

george_max 2 months ago

Haha, cool project and README!

brcmthrowaway 2 months ago

Was Claude used?

  • 0x0mer 2 months 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

random_duck 2 months ago

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

typon 2 months 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