3 ms·
I didn't dive too deep into the bit-wise implementation details, but overall this looks very promising. The first big issue I would have with Posits is the lac
by McKayDavis 10y ago
I didn't dive too deep into the bit-wise implementation details, but overall this looks very promising.
The first big issue I would have with Posits is the lack of a Not-a-Number (NaN) representation (as indicated on slide 16).
NaN values have the property of making any calculation they are used in also result in in a NaN.
I've found this property of NaNs to be invaluable in many contexts, especially as a no-data value regular data.
For example, this is useful when using bllinear filtering of floating point textures on a GPU -- any time a NaN texel is encountered, the entire fragment is discarded. In this manner, NaN values can be used to mask out a region without introducing a separate texture lookup.
I also love the simple, albeit obtuse, check for NaN:
// Don't remove this if! It's checking if value is a NaN
if (value != value) {
// value is NaN...
}
- sounds 10y agoThe accuracy and dynamic range comparison plots seem to say there are some "NaN" conditions, with the note that it aborts the calculation. It might be worth digging into the bit representation to find out exactly what happens, for instance, when you multiply 0 * infinity. That was a case that supposedly outputs NaN.