Compares lane by lane: each lane of the result is 1 where the lane of a is equal to the lane of b, else 0. The result has the lane type, not bool; pass it to get_mask to get one bit per lane.
a := set(4, cast(s32) 3);
b := a;
b.data[2] = 9;
same := a == b;
assert(same.data[0] == 1 && same.data[2] == 0);
assert(get_mask(a < b) == 4);
assert(get_mask(a == cast(s32) 3) == 15);For float lanes a NaN is unequal to everything, itself included.
operator== :: (a: $T/SIMD_Array, b: T) -> T
Parameters
- a: $T/SIMD_Array
- b: T
Returns
- T
operator== :: (a: $T/SIMD_Array, factor: a.type) -> T
Compares every lane with factor: each lane of the result is 1 where the lane is equal to factor, else 0. The result has the lane type, not bool; pass it to get_mask to get one bit per lane.
Parameters
- a: $T/SIMD_Array
- factor: a.type
Returns
- T
a := set(4, cast(s32) 3);
assert(get_mask(a == cast(s32) 3) == 15);