Table of Contents

Method YShuffleInsert_Core

Namespace
Zyl.VectorTraits.Impl
Assembly
VectorTraits.dll

YShuffleInsert_Core<T, TIdx>(IWVectorTraits128, Vector128<T>, Vector128<T>, (Vector128<TIdx> args0, Vector128<TIdx> args1, Vector128<TIdx> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[Obsolete("It is only suitable for unit testing because it contains branching statements and has poor performance. In general, it is recommended to use the non-generic version of the methods (因它含有分支语句, 性能较差, 仅适用于单元测试. 一般情况下, 建议使用非泛型版方法).")]
[CLSCompliant(false)]
public static Vector128<T> YShuffleInsert_Core<T, TIdx>(this IWVectorTraits128 athis, Vector128<T> back, Vector128<T> vector, (Vector128<TIdx> args0, Vector128<TIdx> args1, Vector128<TIdx> args2) args) where T : struct where TIdx : struct

Parameters

athis IWVectorTraits128

This object.

back Vector128<T>

The background vector (背景向量).

vector Vector128<T>

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

args (Vector128<TIdx> args0, Vector128<TIdx> args1, Vector128<TIdx> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<T>

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

Type Parameters

T

The element type of the input parameter (输入参数的元素类型).

TIdx

The element type of the indices parameter (索引参数的元素类型).

Exceptions

NotSupportedException

These element types(T, TIdx) are not supported.

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<float>, Vector128<float>, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<float> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<float> back, Vector128<float> vector, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<float>

The background vector (背景向量).

vector Vector128<float>

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

args (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<float>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<double>, Vector128<double>, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<double> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<double> back, Vector128<double> vector, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<double>

The background vector (背景向量).

vector Vector128<double>

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

args (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<double>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<sbyte>, Vector128<sbyte>, (Vector128<sbyte> args0, Vector128<sbyte> args1, Vector128<sbyte> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<sbyte> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<sbyte> back, Vector128<sbyte> vector, (Vector128<sbyte> args0, Vector128<sbyte> args1, Vector128<sbyte> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<sbyte>

The background vector (背景向量).

vector Vector128<sbyte>

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

args (Vector128<sbyte> args0, Vector128<sbyte> args1, Vector128<sbyte> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<sbyte>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<byte>, Vector128<byte>, (Vector128<byte> args0, Vector128<byte> args1, Vector128<byte> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<byte> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<byte> back, Vector128<byte> vector, (Vector128<byte> args0, Vector128<byte> args1, Vector128<byte> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<byte>

The background vector (背景向量).

vector Vector128<byte>

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

args (Vector128<byte> args0, Vector128<byte> args1, Vector128<byte> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<byte>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<short>, Vector128<short>, (Vector128<short> args0, Vector128<short> args1, Vector128<short> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<short> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<short> back, Vector128<short> vector, (Vector128<short> args0, Vector128<short> args1, Vector128<short> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<short>

The background vector (背景向量).

vector Vector128<short>

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

args (Vector128<short> args0, Vector128<short> args1, Vector128<short> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<short>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<ushort>, Vector128<ushort>, (Vector128<ushort> args0, Vector128<ushort> args1, Vector128<ushort> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<ushort> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<ushort> back, Vector128<ushort> vector, (Vector128<ushort> args0, Vector128<ushort> args1, Vector128<ushort> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<ushort>

The background vector (背景向量).

vector Vector128<ushort>

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

args (Vector128<ushort> args0, Vector128<ushort> args1, Vector128<ushort> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<ushort>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<int>, Vector128<int>, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<int> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<int> back, Vector128<int> vector, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<int>

The background vector (背景向量).

vector Vector128<int>

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

args (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<int>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<uint>, Vector128<uint>, (Vector128<uint> args0, Vector128<uint> args1, Vector128<uint> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<uint> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<uint> back, Vector128<uint> vector, (Vector128<uint> args0, Vector128<uint> args1, Vector128<uint> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<uint>

The background vector (背景向量).

vector Vector128<uint>

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

args (Vector128<uint> args0, Vector128<uint> args1, Vector128<uint> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<uint>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<long>, Vector128<long>, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<long> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<long> back, Vector128<long> vector, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<long>

The background vector (背景向量).

vector Vector128<long>

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

args (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<long>

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

See Also

YShuffleInsert_Core(IWVectorTraits128, Vector128<ulong>, Vector128<ulong>, (Vector128<ulong> args0, Vector128<ulong> args1, Vector128<ulong> args2))

Core calculation for shuffle and insert (换位并插入的核心计算). Its arguments are derived from YShuffleInsert_Args (其参数来源于 YShuffleInsert_Args). Mnemonic: rt[i] := (0<=indices[i] && indices[i]<Count)?( vector[indices[i]] ):back[i].

[CLSCompliant(false)]
public static Vector128<ulong> YShuffleInsert_Core(this IWVectorTraits128 athis, Vector128<ulong> back, Vector128<ulong> vector, (Vector128<ulong> args0, Vector128<ulong> args1, Vector128<ulong> args2) args)

Parameters

athis IWVectorTraits128
back Vector128<ulong>

The background vector (背景向量).

vector Vector128<ulong>

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

args (Vector128<ulong> args0, Vector128<ulong> args1, Vector128<ulong> args2)

The arguments(参数). Derived from YShuffleInsert_Args .

Returns

Vector128<ulong>

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

See Also