I agree that posits overflow and underflow, if you define those terms carefully. A magnitude greater than
maxPos can legitimately round down to magnitude
maxPos. That is, if you had one more bit after the LSB, you could represent another factor of
uSeed higher, so values in [
maxPos,
uSeed) do not overflow. Beyond that, yes, that should probably be considered overflow and the behavior is to saturate to
maxPos. A debugger should flag when that happens so it can be more easily eliminated in finished code. Saturation at least preserves the sign of the too-large value.
The situation for minPos is symmetric to that for maxPos.
I'll attach two screenshots from Every Bit Counts: Posit Computing that cover this topic.
John