News for hackers. Stuff that matters.
Re:EABitTricks.h by electroly on Monday December 19, 2022 @11:13AM (#34053751)
Take a look at the C header <ieee754.h>. It's not on all systems but it provides a union for type punning between a double and its decomposed parts. IEEE754_DOUBLE_BIAS is provided for bias correction. The same are available for floats.

(Unfortunately, the "not on all systems" part is why I don't use it, but instead copy the union and the constant verbatim into the project if I need it.)

Re:EABitTricks.h by asveikau on Monday December 19, 2022 @01:04PM (#34055312)
I thought that type punning via union is against the standard.

I personally do not think it should be ... It's a very handy tool.

Re:EABitTricks.h by electroly on Monday December 19, 2022 @02:24PM (#34056415)
I think it may be a GNU extension to explicitly allow it, but I'm no language lawyer. This header is from glibc; it may explain why it's not available on some platforms.
Re:EABitTricks.h by saagarjha on Monday December 19, 2022 @05:21PM (#34058588)
It’s legal in C.
Re:EABitTricks.h by asveikau on Monday December 19, 2022 @07:47PM (#34060028)
I think you're right. Most of the top google results seem to be from people who can't mentally separate c and c++. So when i tried to look it up around the time of the comment, i didn't get clear answers.