by adding the value of to the contents of
. This function supports 32- and 64-bit unsigned integer operands, and 32-bit signed integer operands. atomicMin() computes the new value written to
by taking the minimum of the value of and the contents of
. This function supports 32-bit signed and unsigned integer operands. atomicMax() computes the new value written to
by taking the maximum of the value of and the contents of
. This function supports 32-bit signed and unsigned integer operands. atomicIncWrap() computes the new value written to
by adding one to the contents of
, and then forcing the result to zero if and only if the incremented value is greater than or equal to . This function supports only 32-bit unsigned integer operands. atomicDecWrap() computes the new value written to
by subtracting one from the contents of
, and then forcing the result to -1 if the original value read from
was either zero or greater than . This function supports only 32-bit unsigned integer operands. atomicAnd() computes the new value written to
by performing a bitwise and of the value of and the contents of
. This function supports 32-bit signed and unsigned integer operands. atomicOr() computes the new value written to
by performing a bitwise or of the value of and the contents of
. This function supports 32-bit signed and unsigned integer operands. atomicXor() computes the new value written to
by performing a bitwise exclusive or of the value of and the contents of
. This function supports 32-bit signed and unsigned integer operands. atomicExchange() uses the value of as the value written to
. This function supports 32- and 64-bit unsigned integer operands and 32-bit signed integer operands. atomicCompSwap() compares the value of and the contents of
. If the values are equal, is written to
; otherwise, the original contents of