I'm compiling a program with gcc's -Wall flag. I do a comparison (with an unsigned int) on Mat::cols and Mat::rows at some point and get a warning about comparing signed and unsigned ints. Although it's not a big deal to cast this away, I'm curious as to what the rationale behind a Mat that has a negative size is.
Logically, a matrix can't be any emptier than an empty matrix (with 0 rows and 0 cols), so what would a matrix with -1 rows or -1 cols mean?