IsFinite
can be substituted with the already exposed
IsNaN
and
IsInfinity
but
IsSubnormal
and
IsNormal
cannot be substituted accurately.
Subnormal is used to check if a value is so small it starts to lose precision (a value working with values smaller than the smallest positive value of a float/double).
I'm not sure why
IsFinite
isn't exposed but
IsNaN
and
IsInfinity
are.