Sign checking in NUM2UINT?

I was wondering if NUM2UINT and NUM2SIZET perform any checking of the
sign of the source Ruby value? What happens if I call NUM2UINT and the
original number stored in VALUE is larger than max of int? Are errors
raised or would it be just like a normal cast from signed to unsigned?

I tried looking at the source code and it appeared to me that when
converting from a BigNum there are sign and max checking. But it wasn’t
so clear when converting from a FixNum.

Any insight?