--- layout: stdlib-reference --- # TensorView\\.InterlockedExchange ## Description ## Signature
void TensorView<T>.InterlockedExchange(
    uint index,
    int va,
    out int oldVall)
    where T == int;

void TensorView<T>.InterlockedExchange<int N>(
    vector<uint, N> index,
    int val,
    out int oldVal)
    where T == int;

void TensorView<T>.InterlockedExchange(
    uint index,
    uint va,
    out uint oldVall)
    where T == uint;

void TensorView<T>.InterlockedExchange<int N>(
    vector<uint, N> index,
    uint val,
    out uint oldVal)
    where T == uint;

void TensorView<T>.InterlockedExchange(
    uint index,
    uint64_t va,
    out uint64_t oldVall)
    where T == uint64_t;

void TensorView<T>.InterlockedExchange<int N>(
    vector<uint, N> index,
    uint64_t val,
    out uint64_t oldVal)
    where T == uint64_t;

void TensorView<T>.InterlockedExchange(
    uint index,
    int64_t va,
    out int64_t oldVall)
    where T == int64_t;

void TensorView<T>.InterlockedExchange<int N>(
    vector<uint, N> index,
    int64_t val,
    out int64_t oldVal)
    where T == int64_t;

float TensorView<T>.InterlockedExchange(
    uint index,
    float val,
    out float oldVal)
    where T == float;

float TensorView<T>.InterlockedExchange<int N>(
    vector<uint, N> index,
    float val,
    out float oldVal)
    where T == float;

## Generic Parameters #### N : int ## Parameters #### index : uint #### va : int #### oldVall : int #### index : [vector](../vector/index.html)\ #### val : int #### oldVal : int #### va : uint #### oldVall : uint #### val : uint #### oldVal : uint #### va : uint64\_t #### oldVall : uint64\_t #### val : uint64\_t #### oldVal : uint64\_t #### va : int64\_t #### oldVall : int64\_t #### val : int64\_t #### oldVal : int64\_t #### val : float #### oldVal : float ## Availability and Requirements Defined for the following targets: #### cuda Available in all stages.