frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Comparing floating-point numbers (2012)

https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
26•sph•12mo ago

Comments

LegionMammal978•12mo ago
I'd argue that any equality comparison of floating-point numbers is asking for trouble, unless you're specifically working with small dyadic fractions (using exact comparison) or testing a purely heuristic 'closeness' condition (using fuzzy comparison).

Of course, inequalities show up in a lot more places, but are similarly fraught with difficulty, since mathematical statements may fail to translate to floating-point inequalities. E.g., in computational geometry, people have written entire papers about optimizing correct orientation predicates [0], since the naive method can easily break at small angles. This sort of thing is what often shows up as tiny seams in 3D video-game geometry.

[0] https://www.cs.cmu.edu/~quake/robust.html

mtklein•12mo ago
My preferred way to compare floats as being interchangeably equivalent in unit tests is

    bool equiv(float x, float y) {
        return (x <= y && y <= x)
            || (x != x && y != y);
    }
This handles things like ±0 and NaNs (while NaNs can't be IEEE-754-equal per se, they're almost always interchangeable), and convinces -Wfloat-equal you kinda know what you're doing. Also everything visually lines up real neat and tidy, which I find makes it easy to remember.

Outside unit tests... I haven't really encountered many places where float equality is actually what I want to test. It's usually some < or <= condition instead.

sph•11mo ago
I have built a production Javascript library with decent amounts of users that incorporates the following hack to deal with float error (avert your eyes if you're sensitive):

  // 1.2 - 1.0 === 0.19999999999999996
  // fixFloatError(1.2 - 1.0) === 0.2
  var fixFloatError = function (n) {
    return parseFloat(n.toPrecision(12));
  };
It felt correct at the time, but after reading the article, I cringe at how fundamentally broken it is. I got away with it because the library is used to convert betting odds, which are mostly small floating point numbers, so the error is often < 10^-12.

Hardware Attestation as Monopoly Enabler

https://grapheneos.social/@GrapheneOS/116550899908879585
824•ChuckMcM•7h ago•309 comments

Local AI needs to be the norm

https://unix.foo/posts/local-ai-needs-to-be-norm/
506•cylo•7h ago•250 comments

Running local models on an M4 with 24GB memory

https://jola.dev/posts/running-local-models-on-m4
53•shintoist•1h ago•32 comments

Incident Report: CVE-2024-YIKES

https://nesbitt.io/2026/02/03/incident-report-cve-2024-yikes.html
369•miniBill•7h ago•90 comments

Obsidian plugin was abused to deploy a remote access trojan

https://cyber.netsecops.io/articles/obsidian-plugin-abused-in-campaign-to-deploy-phantom-pulse-rat/
56•cmbailey•2h ago•25 comments

Make America AI Ready: Strengths, Weaknesses, and Recommendations

https://blog.citp.princeton.edu/2026/05/05/make-america-ai-ready-strengths-weaknesses-and-recomme...
8•Kye•48m ago•1 comments

Ask HN: What are you working on? (May 2026)

118•david927•7h ago•424 comments

First tunnel element of the Fehmarnbelt Tunnel immersed

https://www.arup.com/en-us/news/first-fehmarnbelt-tunnel-element-lowered/
36•robin_reala•3d ago•9 comments

Guy Goma's Accidental BBC Interview Lives on After 20 Years

https://www.nytimes.com/2026/05/06/business/media/bbc-guy-goma-interview.html
39•nxobject•2d ago•9 comments

PS3 Emulator Devs Politely Ask That People Stop Flooding It with AI PRs

https://kotaku.com/playstation-3-emulator-devs-politely-ask-that-people-stop-flooding-it-with-ai-...
50•stalfosknight•1h ago•15 comments

Traces Of Humanity

https://tracesofhumanity.org/hello-world/
125•alex77456•7h ago•19 comments

The people preserving the scientific practice of bird banding

https://thenarwhal.ca/bird-banding-ontario/
28•bookofjoe•3d ago•0 comments

Maryland citizens hit with $2B power grid upgrade for out-of-state AI

https://www.tomshardware.com/tech-industry/artificial-intelligence/maryland-citizens-slapped-with...
124•lemonberry•3h ago•47 comments

I returned to AWS and was reminded why I left

http://fourlightyears.blogspot.com/2026/05/i-returned-to-aws-and-was-reminded-hard.html
649•andrewstuart•1d ago•471 comments

Stop MitM on the first SSH connection, on any VPS or cloud provider

https://www.joachimschipper.nl/Stop%20MITM%20on%20the%20first%20SSH%20connection,%20on%20any%20VP...
74•JoachimSchipper•2d ago•43 comments

Eight More 8-bit Era Microprocessors (2024)

https://thechipletter.substack.com/p/eight-more-8-bit-era-microprocessors
46•klelatti•2d ago•12 comments

You Need AI That Reduces Maintenance Costs

https://www.jamesshore.com/v2/blog/2026/you-need-ai-that-reduces-your-maintenance-costs
5•cratermoon•1h ago•0 comments

The locals don't know

https://www.quarter--mile.com/The-Locals-Dont-Know
95•herbertl•8h ago•66 comments

Lakebase architecture delivers faster Postgres writes

https://www.databricks.com/blog/how-lakebase-architecture-delivers-5x-faster-postgres-writes
90•sp_from_db•2d ago•25 comments

Idempotency is easy until the second request is different

https://blog.dochia.dev/blog/idempotency/
277•ludovicianul•3d ago•174 comments

What's a mathematician to do? (2010)

https://mathoverflow.net/questions/43690/whats-a-mathematician-to-do
149•ipnon•13h ago•73 comments

Louis Rossmann offers to pay legal fees for a threatened OrcaSlicer developer

https://www.tomshardware.com/3d-printing/louis-rossmann-tells-3d-printer-maker-bambu-lab-to-go-bl...
461•iancmceachern•10h ago•245 comments

James Schuyler's Genius

https://yalereview.org/article/james-schuylers-genius
5•Thevet•2d ago•0 comments

Show HN: An index of indie web/blog indexes

https://theindex.fyi
93•rocketpastsix•12h ago•32 comments

Think Linear Algebra (2023)

https://allendowney.github.io/ThinkLinearAlgebra/index.html
161•tamnd•15h ago•17 comments

Task Paralysis and AI

https://g5t.de/articles/20260510-task-paralysis-and-ai/index.html
192•MrGilbert•18h ago•105 comments

Space Cadet Pinball on Linux

https://brennan.io/2026/05/09/pinball-and-escrow/
310•jandeboevrie•13h ago•103 comments

Walking slower? Your ears, not your knees, might be the problem

https://www.wsj.com/health/wellness/hearing-loss-walking-speed-iphone-study-c53c482a
82•marc__1•1d ago•62 comments

Spain has become one of Europe’s cheapest power markets

https://janrosenow.substack.com/p/spain-just-became-one-of-europes
142•marc__1•8h ago•115 comments

Shunting-Yard Animation

https://somethingorotherwhatever.com/shunting-yard-animation/
57•s1291•9h ago•16 comments