Reptorian G'MIC Filters

That’s because operators > and < are useless in a vector space, because a vector space is not ordered. So by default, these operators are returning also a boolean vector, when used with two vector-valued operands.

Operators == and != are (extremely) useful to test vector equality, so they always return a boolean value.

If you want to return a vector that test equality of each component, you can write this:

veq(A,B) = !(A-B);

C = veq(A,B);  // == between vector components
D = !veq(A,B); // != between vector components
1 Like