I can make the following list of Float16 values but it generates NaNs as well. I can also get rid of NaN’s. But is there a ready built way to enumerate through all non-NaN values of Float16?
FLOAT16_UNIQS = reinterpret.(Float16, UInt16.(0:2^16-1))
i have trouble understanding the underlying repreaentation of float 16. On wikipedia is says that it only need 15bit in practice so I must be missing something. Clearly exponents of 0 will always be 0 so alot of values are “wasted” but I can seem to find the pattern on which UInt8 gets converted to NaN when reinterpreted as Float16