Each bit of result is corresponding bit of a if corresponding bit of c is 0.

gentype bitselect(gentype a,
                  gentype b,
                  gentype c)
halfn bitselect (halfn a, halfn b,
              halfn c)      // if half extension enabled

Description

Each bit of result is corresponding bit of a if corresponding bit of c is 0. Otherwise it is the corresponding bit of b.

Notes

If an implementation extends this specification to support IEEE-754 flags or exceptions, then all built-in relational functions shall proceed without raising the invalid floating-point exception when one or more of the operands are NaNs.

The built-in relational functions are extended with cl_khr_fp16 to include versions that take half, and half{2|3|4|8|16} as arguments.

The argment type gentype can be char, charn, uchar, ucharn, short, shortn, ushort, ushortn, int, intn, uint, uintn, long, longn, ulong, ulongn, float, floatn, double, and doublen.

Also see

Specification