In Julia generally missing
is favored over NaN
, among other because NaN
work only for floating point types, and because the origin of NaN
s can be hard to trace once they have infected the data.
However, IEEE745 has also signaling NaNs, supported in C++11, but not in Julia at least not “officially”. I found this discussion where also a solution for Linux/x86 is outlined. A problem seems to be that LLVM (still?) does not support hardware exceptions? Is there any updated “insider” information which I have not been able to find? A package for at least Linux/x86?
Having worked with various hardware that signals when something is wrong I presume that the signaling NaNs would be a good and efficient solution in many cases when computations are within floating points.