An equivalence for
Floats which is reflexive (treats all
NaNs as equivalent), and treats
0.0 as not equivalent; it behaves the same as java.lang.Float.compare.
Because the behaviour of
Floats specified by IEEE is not consistent with behaviors required of an equivalence relation for
NaN (it is not reflexive), there are two equivalences defined for
StrictEquiv, which is reflexive, and
IeeeEquiv, which is consistent with IEEE spec and floating point operations defined in scala.math.
This equivalence may be preferable for collections.