• jabjoe@feddit.uk
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    As a programmer who grew up without a FPU (Archimedes/Acorn), I have never liked float. But I thought this war had been lost a long time ago. Floats are everywhere. I’ve not done graphics for a bit, but I never saw a graphics card that took any form of fixed point. All geometry you load in is in floats. The shaders all work in floats.

    Briefly ARM MCU work was non-float, but loads of those have float support now.

    I mean you can tell good low level programmers because of how they feel about floats. But the battle does seam lost. There is lots of bit of technology that has taken turns I don’t like. Sometimes the market/bazaar has spoken and it’s wrong, but you still have to grudgingly go with it or everything is too difficult.

    • ZILtoid1991@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      Floats make a lot of math way simpler, especially for audio, but then you run into the occasional NaN error.

      • jabjoe@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 months ago

        On the PS3 cell processor vector units, any NaN meant zero. Makes life easier if there is errors in the data.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        7 months ago

        Even float4. You get +/- 0, 0.5, 1, 1.5, 2, 3, Inf, and two values for NaN.

        Come to think of it, the idea of -NaN tickles me a bit. “It’s not a number, but it’s a negative not a number”.

        • zaphod@feddit.de
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          7 months ago

          I think you got that wrong, you got +Inf, -Inf and two NaNs, but they’re both just NaN. As you wrote signed NaN makes no sense, though technically speaking they still have a sign bit.

          • frezik@midwest.social
            link
            fedilink
            arrow-up
            1
            ·
            7 months ago

            Right, there’s no -NaN. There are two different values of NaN. Which is why I tried to separate that clause, but maybe it wasn’t clear enough.

  • davidgro@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    Serious answer: Posits seem cool, like they do most of what floats do, but better (in a given amount of space). I think supporting them in hardware would be awesome, but of course there’s a chicken and egg problem there with supporting them in programming languages.

    • Chadus_Maximus@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      7 months ago

      May I propose a dedicated circuit (analog because you can only ever approximate their value) that stores and returns transcendental/irrational numbers exclusively? We can just assume they’re going to be whatever value we need whenever we need them.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        Wouldn’t noise in the circuit mean it’d only be reliable to certain level of precision, anyway?

        • Chadus_Maximus@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          7 months ago

          I mean, every irrational number used in computation is reliable to a certain level of precision. Just because the current (heh) methods aren’t precise enough doesn’t mean they’ll never be.

    • smeg@feddit.uk
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 months ago

      Do we even have a good way of encoding them in real life without computers?

  • Blackmist@feddit.uk
    link
    fedilink
    English
    arrow-up
    0
    ·
    7 months ago

    I know this is in jest, but if 0.1+0.2!=0.3 hasn’t caught you out at least once, then you haven’t even done any programming.