Table of Contents

Method YShuffleX3Kernel

Namespace
Zyl.VectorTraits
Assembly
VectorTraits.dll

YShuffleX3Kernel(Vector128<float>, Vector128<float>, Vector128<float>, Vector128<int>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

public static Vector128<float> YShuffleX3Kernel(Vector128<float> vector0, Vector128<float> vector1, Vector128<float> vector2, Vector128<int> indices)

Parameters

vector0 Vector128<float>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<float>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<float>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<int>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<float>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<double>, Vector128<double>, Vector128<double>, Vector128<long>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

public static Vector128<double> YShuffleX3Kernel(Vector128<double> vector0, Vector128<double> vector1, Vector128<double> vector2, Vector128<long> indices)

Parameters

vector0 Vector128<double>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<double>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<double>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<long>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<double>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<sbyte>, Vector128<sbyte>, Vector128<sbyte>, Vector128<sbyte>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

[CLSCompliant(false)]
public static Vector128<sbyte> YShuffleX3Kernel(Vector128<sbyte> vector0, Vector128<sbyte> vector1, Vector128<sbyte> vector2, Vector128<sbyte> indices)

Parameters

vector0 Vector128<sbyte>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<sbyte>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<sbyte>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<sbyte>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<sbyte>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<byte>, Vector128<byte>, Vector128<byte>, Vector128<byte>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

public static Vector128<byte> YShuffleX3Kernel(Vector128<byte> vector0, Vector128<byte> vector1, Vector128<byte> vector2, Vector128<byte> indices)

Parameters

vector0 Vector128<byte>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<byte>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<byte>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<byte>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<byte>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<short>, Vector128<short>, Vector128<short>, Vector128<short>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

public static Vector128<short> YShuffleX3Kernel(Vector128<short> vector0, Vector128<short> vector1, Vector128<short> vector2, Vector128<short> indices)

Parameters

vector0 Vector128<short>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<short>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<short>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<short>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<short>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<ushort>, Vector128<ushort>, Vector128<ushort>, Vector128<ushort>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

[CLSCompliant(false)]
public static Vector128<ushort> YShuffleX3Kernel(Vector128<ushort> vector0, Vector128<ushort> vector1, Vector128<ushort> vector2, Vector128<ushort> indices)

Parameters

vector0 Vector128<ushort>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<ushort>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<ushort>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<ushort>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<ushort>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<int>, Vector128<int>, Vector128<int>, Vector128<int>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

public static Vector128<int> YShuffleX3Kernel(Vector128<int> vector0, Vector128<int> vector1, Vector128<int> vector2, Vector128<int> indices)

Parameters

vector0 Vector128<int>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<int>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<int>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<int>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<int>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<uint>, Vector128<uint>, Vector128<uint>, Vector128<uint>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

[CLSCompliant(false)]
public static Vector128<uint> YShuffleX3Kernel(Vector128<uint> vector0, Vector128<uint> vector1, Vector128<uint> vector2, Vector128<uint> indices)

Parameters

vector0 Vector128<uint>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<uint>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<uint>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<uint>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<uint>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<long>, Vector128<long>, Vector128<long>, Vector128<long>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

public static Vector128<long> YShuffleX3Kernel(Vector128<long> vector0, Vector128<long> vector1, Vector128<long> vector2, Vector128<long> indices)

Parameters

vector0 Vector128<long>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<long>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<long>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<long>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<long>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also

YShuffleX3Kernel(Vector128<ulong>, Vector128<ulong>, Vector128<ulong>, Vector128<ulong>)

Only shuffle on 3 vectors (在3个向量上进行仅换位). Creates a new vector by selecting values from an input vectors using a set of indices (通过使用一组索引从输入向量集中选择值,来创建一个新向量). If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).

[CLSCompliant(false)]
public static Vector128<ulong> YShuffleX3Kernel(Vector128<ulong> vector0, Vector128<ulong> vector1, Vector128<ulong> vector2, Vector128<ulong> indices)

Parameters

vector0 Vector128<ulong>

The input vector 0 from which values are selected (从中选择值的输入向量0).

vector1 Vector128<ulong>

The input vector 1 from which values are selected (从中选择值的输入向量1).

vector2 Vector128<ulong>

The input vector 2 from which values are selected (从中选择值的输入向量2).

indices Vector128<ulong>

The per-element indices used to select a value from vectors (用于从输入向量集中选择值的每个元素索引).

Returns

Vector128<ulong>

A new vector containing the values from input vectors selected by the given indices (一个新向量,其中包含给定 indices 从输入向量集中选择的值).

See Also