warp.atomic\_cas ================ .. function:: warp._src.lang.atomic_cas(arr: Array[Any], i: Int, compare: Any, value: Any) -> Any .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i]`` if ``arr[i]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: Array[Any], i: Int, j: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j]`` if ``arr[i,j]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: Array[Any], i: Int, j: Int, k: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j,k]`` if ``arr[i,j,k]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: Array[Any], i: Int, j: Int, k: Int, l: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j,k,l]`` if ``arr[i,j,k,l]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: FabricArray[Any], i: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i]`` if ``arr[i]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: FabricArray[Any], i: Int, j: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j]`` if ``arr[i,j]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: FabricArray[Any], i: Int, j: Int, k: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j,k]`` if ``arr[i,j,k]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: FabricArray[Any], i: Int, j: Int, k: Int, l: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j,k,l]`` if ``arr[i,j,k,l]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: IndexedFabricArray[Any], i: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i]`` if ``arr[i]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: IndexedFabricArray[Any], i: Int, j: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j]`` if ``arr[i,j]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: IndexedFabricArray[Any], i: Int, j: Int, k: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j,k]`` if ``arr[i,j,k]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices. .. function:: warp._src.lang.atomic_cas(arr: IndexedFabricArray[Any], i: Int, j: Int, k: Int, l: Int, compare: Any, value: Any) -> Any :noindex: .. hlist:: :columns: 8 * Kernel Atomically compare and swap ``value`` with ``arr[i,j,k,l]`` if ``arr[i,j,k,l]`` equals ``compare``, and return the old value. The operation is only atomic on a per-component basis for vectors and matrices.