#1563: Provide always-working isnan etc. --------------------------+------------------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: reopened Priority: major | Milestone: Component: Cactus | Version: development version Resolution: | Keywords: --------------------------+------------------------------------------------- Changes (by rhaas):
* status: review => reopened
Comment:
This is becoming ridiculous. I'd consider optimizing out an explicit call to isnan() a compiler bug. Is there a compiler option to turn those back on maybe?
Otherwise, fine with me, if this is what it takes. I'd even consider having CCTK's isnan function (which we *already* provide since the C++ math is inconsistent between compilers) man to CCTK_IEEEisnan. Do we have any idea if/how much using the home-brew CCTK_IEEEIsnan is slower than using (a properly functioning of course) isnan (I expect the later to be a single machine instruction)?
The patch as is lacks support for float which is useful if CCTK_REAL is a 4 byte float rather than the 8 byte double (and also lacks support for long double).