Method YShuffleX3Insert_Core
- Namespace
- Zyl.VectorTraits.Impl
- Assembly
- VectorTraits.dll
YShuffleX3Insert_Core<T, TIdx>(IVectorTraits, Vector<T>, Vector<T>, Vector<T>, Vector<T>, (Vector<TIdx> args0, Vector<TIdx> args1, Vector<TIdx> args2, Vector<TIdx> args3, Vector<TIdx> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):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 Vector<T> YShuffleX3Insert_Core<T, TIdx>(this IVectorTraits athis, Vector<T> back, Vector<T> vector0, Vector<T> vector1, Vector<T> vector2, (Vector<TIdx> args0, Vector<TIdx> args1, Vector<TIdx> args2, Vector<TIdx> args3, Vector<TIdx> args4) args) where T : struct where TIdx : struct
Parameters
athisIVectorTraitsThis object.
backVector<T>The background vector (背景向量).
vector0Vector<T>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<T>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<T>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<TIdx> args0, Vector<TIdx> args1, Vector<TIdx> args2, Vector<TIdx> args3, Vector<TIdx> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<T>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
Type Parameters
TThe element type of the input parameter (输入参数的元素类型).
TIdxThe element type of the indices parameter (索引参数的元素类型).
Exceptions
- NotSupportedException
These element types(
T,TIdx) are not supported.
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<float>, Vector<float>, Vector<float>, Vector<float>, (Vector<int> args0, Vector<int> args1, Vector<int> args2, Vector<int> args3, Vector<int> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<float> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<float> back, Vector<float> vector0, Vector<float> vector1, Vector<float> vector2, (Vector<int> args0, Vector<int> args1, Vector<int> args2, Vector<int> args3, Vector<int> args4) args)
Parameters
athisIVectorTraitsbackVector<float>The background vector (背景向量).
vector0Vector<float>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<float>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<float>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<int> args0, Vector<int> args1, Vector<int> args2, Vector<int> args3, Vector<int> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<float>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<double>, Vector<double>, Vector<double>, Vector<double>, (Vector<long> args0, Vector<long> args1, Vector<long> args2, Vector<long> args3, Vector<long> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<double> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<double> back, Vector<double> vector0, Vector<double> vector1, Vector<double> vector2, (Vector<long> args0, Vector<long> args1, Vector<long> args2, Vector<long> args3, Vector<long> args4) args)
Parameters
athisIVectorTraitsbackVector<double>The background vector (背景向量).
vector0Vector<double>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<double>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<double>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<long> args0, Vector<long> args1, Vector<long> args2, Vector<long> args3, Vector<long> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<double>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<sbyte>, Vector<sbyte>, Vector<sbyte>, Vector<sbyte>, (Vector<sbyte> args0, Vector<sbyte> args1, Vector<sbyte> args2, Vector<sbyte> args3, Vector<sbyte> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<sbyte> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<sbyte> back, Vector<sbyte> vector0, Vector<sbyte> vector1, Vector<sbyte> vector2, (Vector<sbyte> args0, Vector<sbyte> args1, Vector<sbyte> args2, Vector<sbyte> args3, Vector<sbyte> args4) args)
Parameters
athisIVectorTraitsbackVector<sbyte>The background vector (背景向量).
vector0Vector<sbyte>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<sbyte>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<sbyte>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<sbyte> args0, Vector<sbyte> args1, Vector<sbyte> args2, Vector<sbyte> args3, Vector<sbyte> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<sbyte>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<byte>, Vector<byte>, Vector<byte>, Vector<byte>, (Vector<byte> args0, Vector<byte> args1, Vector<byte> args2, Vector<byte> args3, Vector<byte> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<byte> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<byte> back, Vector<byte> vector0, Vector<byte> vector1, Vector<byte> vector2, (Vector<byte> args0, Vector<byte> args1, Vector<byte> args2, Vector<byte> args3, Vector<byte> args4) args)
Parameters
athisIVectorTraitsbackVector<byte>The background vector (背景向量).
vector0Vector<byte>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<byte>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<byte>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<byte> args0, Vector<byte> args1, Vector<byte> args2, Vector<byte> args3, Vector<byte> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<byte>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<short>, Vector<short>, Vector<short>, Vector<short>, (Vector<short> args0, Vector<short> args1, Vector<short> args2, Vector<short> args3, Vector<short> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<short> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<short> back, Vector<short> vector0, Vector<short> vector1, Vector<short> vector2, (Vector<short> args0, Vector<short> args1, Vector<short> args2, Vector<short> args3, Vector<short> args4) args)
Parameters
athisIVectorTraitsbackVector<short>The background vector (背景向量).
vector0Vector<short>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<short>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<short>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<short> args0, Vector<short> args1, Vector<short> args2, Vector<short> args3, Vector<short> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<short>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<ushort>, Vector<ushort>, Vector<ushort>, Vector<ushort>, (Vector<ushort> args0, Vector<ushort> args1, Vector<ushort> args2, Vector<ushort> args3, Vector<ushort> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<ushort> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<ushort> back, Vector<ushort> vector0, Vector<ushort> vector1, Vector<ushort> vector2, (Vector<ushort> args0, Vector<ushort> args1, Vector<ushort> args2, Vector<ushort> args3, Vector<ushort> args4) args)
Parameters
athisIVectorTraitsbackVector<ushort>The background vector (背景向量).
vector0Vector<ushort>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<ushort>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<ushort>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<ushort> args0, Vector<ushort> args1, Vector<ushort> args2, Vector<ushort> args3, Vector<ushort> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<ushort>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<int>, Vector<int>, Vector<int>, Vector<int>, (Vector<int> args0, Vector<int> args1, Vector<int> args2, Vector<int> args3, Vector<int> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<int> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<int> back, Vector<int> vector0, Vector<int> vector1, Vector<int> vector2, (Vector<int> args0, Vector<int> args1, Vector<int> args2, Vector<int> args3, Vector<int> args4) args)
Parameters
athisIVectorTraitsbackVector<int>The background vector (背景向量).
vector0Vector<int>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<int>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<int>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<int> args0, Vector<int> args1, Vector<int> args2, Vector<int> args3, Vector<int> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<int>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<uint>, Vector<uint>, Vector<uint>, Vector<uint>, (Vector<uint> args0, Vector<uint> args1, Vector<uint> args2, Vector<uint> args3, Vector<uint> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<uint> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<uint> back, Vector<uint> vector0, Vector<uint> vector1, Vector<uint> vector2, (Vector<uint> args0, Vector<uint> args1, Vector<uint> args2, Vector<uint> args3, Vector<uint> args4) args)
Parameters
athisIVectorTraitsbackVector<uint>The background vector (背景向量).
vector0Vector<uint>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<uint>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<uint>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<uint> args0, Vector<uint> args1, Vector<uint> args2, Vector<uint> args3, Vector<uint> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<uint>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<long>, Vector<long>, Vector<long>, Vector<long>, (Vector<long> args0, Vector<long> args1, Vector<long> args2, Vector<long> args3, Vector<long> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<long> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<long> back, Vector<long> vector0, Vector<long> vector1, Vector<long> vector2, (Vector<long> args0, Vector<long> args1, Vector<long> args2, Vector<long> args3, Vector<long> args4) args)
Parameters
athisIVectorTraitsbackVector<long>The background vector (背景向量).
vector0Vector<long>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<long>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<long>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<long> args0, Vector<long> args1, Vector<long> args2, Vector<long> args3, Vector<long> args4)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector<long>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Insert_Core(IVectorTraits, Vector<ulong>, Vector<ulong>, Vector<ulong>, Vector<ulong>, (Vector<ulong> args0, Vector<ulong> args1, Vector<ulong> args2, Vector<ulong> args3, Vector<ulong> args4))
Core calculation for shuffle and insert on 3 vectors (在3个向量上进行换位并插入的核心计算). Its arguments are derived from YShuffleX3Insert_Args (其参数来源于 YShuffleX3Insert_Args).
Mnemonic: rt[i] := (0<=indices[i] && indices[i]<(Count*3))?( element_ref(indices[i], vector0, vector1, vector2) ):back[i].
[CLSCompliant(false)]
public static Vector<ulong> YShuffleX3Insert_Core(this IVectorTraits athis, Vector<ulong> back, Vector<ulong> vector0, Vector<ulong> vector1, Vector<ulong> vector2, (Vector<ulong> args0, Vector<ulong> args1, Vector<ulong> args2, Vector<ulong> args3, Vector<ulong> args4) args)
Parameters
athisIVectorTraitsbackVector<ulong>The background vector (背景向量).
vector0Vector<ulong>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector<ulong>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector<ulong>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector<ulong> args0, Vector<ulong> args1, Vector<ulong> args2, Vector<ulong> args3, Vector<ulong> args4)The arguments(参数). Derived from YShuffleKernel_Args .