The problem with floating point comparison is not that it's nondeterministic, it's that what should be the same number may have different representations, often with different rounding behavior as well, so depending on the exact operations you use to arrive at it, it may not compare as equal, hence the need for the epsilon trick.
If all you're comparing is the result from the same operations, you _may_ be fine using equality, but you should really know that you're never getting a number from an uncontrolled source.
Curious on what languages have a hard time saying Libre.
Every latin-derived language (which are most of the western languages) can pronounce it naturally, and even English speakers can approximate it well enough to be understood (even though they're incapable of pronouncing the non-retroflex `r`).
The "bre" in "libre" is pronounced similarly to "zebra". Kinda. It'll get you in the ballpark, which is good enough for an Anglo.
"This Hour has 22 Minutes" had a great sketch where both a Francophone (Gavin Crawford impersonating Chantal Hebert) and an Anglo (I forget who) were stumbling over proper nouns from the opposite language. The joke was that both were trying too hard to pronounce things "properly". It came off as inauthentic and awkward.
On the inside, but not on the outside. Web Components standardize the interface for components to interact like MCP standardized the protocol but the server itself can be in and language. You can't just mix Solid, React and Vue components together but you can use any web component in a Lit app.
If all you're comparing is the result from the same operations, you _may_ be fine using equality, but you should really know that you're never getting a number from an uncontrolled source.
reply