Post #2797249
2026-04-14 21:04 UTC
@Doomed_Daniel@mastodon.gamedev.place @lisyarus@mastodon.gamedev.place I agree that contraction should not be enabled unconditionally; Rust is an example of a language that doesn't do that - it follows IEEE 754 strictly. IEEE 754 does not explicitly allow contractions. In fact it has language that prohibits these by default, which C doesn't follow (clang will synthesize fma unconditionally without optimizations when supported)
Replies (1)
-
@Doomed_Daniel@mastodon.gamedev.place 2026-04-14 21:25
@zeux@mastodon.gamedev.place @lisyarus@mastodon.gamedev.place IEEE 754 at least seems to allow this as long as it can be switched off, doesn't require it to be disabled by default - or at least that's what the C/C++ standards and/or compilerwriters think (GCC is extra fun because it only allows using -ffp-contract but ignores the FP_CONTRACT pragma)