Get rid of "comparison between signed and unsigned" warning.
Get rid of "comparison of unsigned expression < 0 is always false" warning.
Clarify macro arguments.