Drop || and && logical operators from SIMDWrappers.h
From !3179 (comment 4706079):
Looks like |
and ||
are implemented in exactly the same way, so we should drop one of them, and consistently use the other one.
Note that we should make sure that the 'dropped' one is really never used, which a-priori it could still be because of implicit conversions to the native
type in case they support the 'dropped' operation -- if so, then the 'dropped' operation should be explicitly marked as =delete
for mask_v
so that the conversion + native one is not considered an option by the compiler....
Now, the question is: should we use |
or ||
for these operations? A-priori I tend to lean towards ||
as in the scalar case it would be a logical or
-- and thus this may be read as the mask corresponding to the logical or two arguments, but is is implemented as bitwise or
-- so why do something complicated and not pick |
? (as you can see, I'm flexible and I can argue both ways ;-)
Maybe it's simpler to go for |
as otherwise one may get confused about short-circuiting behaviour.
what about !
vs ^
?