Basically doing:
Code: Select all
bool areTheyTheSame = vector2di(0, 0) == vector2di(0, 1);
This is because vector2d<T> uses the core::equals() method to compare it's components, and this method has been modified to take a tolerance of 1 (!) by default. This also means that doing core::equals(0, 1) will yield true (!).
Having ran out of exclamation marks, I now ask a question to engineer apple. What do you want to do about this?, and will setting the default tolerance to 0 (Or not having any tolerance, as was the case before February) have an adverse effect on your software renderer? (I assume some FP IR() hacks require some tolerance when testing).