Method YShuffleX3Kernel_Core
- Namespace
- Zyl.VectorTraits.Impl
- Assembly
- VectorTraits.dll
YShuffleX3Kernel_Core<T, TIdx>(IWVectorTraits128, Vector128<T>, Vector128<T>, Vector128<T>, (Vector128<TIdx> args0, Vector128<TIdx> args1, Vector128<TIdx> args2, Vector128<TIdx> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[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> YShuffleX3Kernel_Core<T, TIdx>(this IWVectorTraits128 athis, Vector128<T> vector0, Vector128<T> vector1, Vector128<T> vector2, (Vector128<TIdx> args0, Vector128<TIdx> args1, Vector128<TIdx> args2, Vector128<TIdx> args3) args) where T : struct where TIdx : struct
Parameters
athisIWVectorTraits128This object.
vector0Vector128<T>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<T>The input vector 1 from which values are selected (从中选择值的输入向量1).
vector2Vector128<T>The input vector 2 from which values are selected (从中选择值的输入向量2).
args(Vector128<TIdx> args0, Vector128<TIdx> args1, Vector128<TIdx> args2, Vector128<TIdx> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<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
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<float>, Vector128<float>, Vector128<float>, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2, Vector128<int> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[CLSCompliant(false)]
public static Vector128<float> YShuffleX3Kernel_Core(this IWVectorTraits128 athis, Vector128<float> vector0, Vector128<float> vector1, Vector128<float> vector2, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2, Vector128<int> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<float>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<float>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<float>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<int> args0, Vector128<int> args1, Vector128<int> args2, Vector128<int> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<float>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<double>, Vector128<double>, Vector128<double>, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2, Vector128<long> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[CLSCompliant(false)]
public static Vector128<double> YShuffleX3Kernel_Core(this IWVectorTraits128 athis, Vector128<double> vector0, Vector128<double> vector1, Vector128<double> vector2, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2, Vector128<long> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<double>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<double>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<double>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<long> args0, Vector128<long> args1, Vector128<long> args2, Vector128<long> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<double>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<sbyte>, Vector128<sbyte>, Vector128<sbyte>, (Vector128<sbyte> args0, Vector128<sbyte> args1, Vector128<sbyte> args2, Vector128<sbyte> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
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_Core(this IWVectorTraits128 athis, Vector128<sbyte> vector0, Vector128<sbyte> vector1, Vector128<sbyte> vector2, (Vector128<sbyte> args0, Vector128<sbyte> args1, Vector128<sbyte> args2, Vector128<sbyte> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<sbyte>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<sbyte>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<sbyte>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<sbyte> args0, Vector128<sbyte> args1, Vector128<sbyte> args2, Vector128<sbyte> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<sbyte>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<byte>, Vector128<byte>, Vector128<byte>, (Vector128<byte> args0, Vector128<byte> args1, Vector128<byte> args2, Vector128<byte> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[CLSCompliant(false)]
public static Vector128<byte> YShuffleX3Kernel_Core(this IWVectorTraits128 athis, Vector128<byte> vector0, Vector128<byte> vector1, Vector128<byte> vector2, (Vector128<byte> args0, Vector128<byte> args1, Vector128<byte> args2, Vector128<byte> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<byte>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<byte>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<byte>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<byte> args0, Vector128<byte> args1, Vector128<byte> args2, Vector128<byte> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<byte>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<short>, Vector128<short>, Vector128<short>, (Vector128<short> args0, Vector128<short> args1, Vector128<short> args2, Vector128<short> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[CLSCompliant(false)]
public static Vector128<short> YShuffleX3Kernel_Core(this IWVectorTraits128 athis, Vector128<short> vector0, Vector128<short> vector1, Vector128<short> vector2, (Vector128<short> args0, Vector128<short> args1, Vector128<short> args2, Vector128<short> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<short>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<short>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<short>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<short> args0, Vector128<short> args1, Vector128<short> args2, Vector128<short> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<short>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<ushort>, Vector128<ushort>, Vector128<ushort>, (Vector128<ushort> args0, Vector128<ushort> args1, Vector128<ushort> args2, Vector128<ushort> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
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_Core(this IWVectorTraits128 athis, Vector128<ushort> vector0, Vector128<ushort> vector1, Vector128<ushort> vector2, (Vector128<ushort> args0, Vector128<ushort> args1, Vector128<ushort> args2, Vector128<ushort> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<ushort>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<ushort>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<ushort>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<ushort> args0, Vector128<ushort> args1, Vector128<ushort> args2, Vector128<ushort> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<ushort>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<int>, Vector128<int>, Vector128<int>, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2, Vector128<int> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[CLSCompliant(false)]
public static Vector128<int> YShuffleX3Kernel_Core(this IWVectorTraits128 athis, Vector128<int> vector0, Vector128<int> vector1, Vector128<int> vector2, (Vector128<int> args0, Vector128<int> args1, Vector128<int> args2, Vector128<int> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<int>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<int>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<int>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<int> args0, Vector128<int> args1, Vector128<int> args2, Vector128<int> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<int>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<uint>, Vector128<uint>, Vector128<uint>, (Vector128<uint> args0, Vector128<uint> args1, Vector128<uint> args2, Vector128<uint> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
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_Core(this IWVectorTraits128 athis, Vector128<uint> vector0, Vector128<uint> vector1, Vector128<uint> vector2, (Vector128<uint> args0, Vector128<uint> args1, Vector128<uint> args2, Vector128<uint> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<uint>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<uint>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<uint>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<uint> args0, Vector128<uint> args1, Vector128<uint> args2, Vector128<uint> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<uint>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<long>, Vector128<long>, Vector128<long>, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2, Vector128<long> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
Mnemonic: rt[i] := element_ref(indices[i], vector0, vector1, vector2). Conditions: 0<=indices[i] && indices[i]<(Count*3).
[CLSCompliant(false)]
public static Vector128<long> YShuffleX3Kernel_Core(this IWVectorTraits128 athis, Vector128<long> vector0, Vector128<long> vector1, Vector128<long> vector2, (Vector128<long> args0, Vector128<long> args1, Vector128<long> args2, Vector128<long> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<long>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<long>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<long>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<long> args0, Vector128<long> args1, Vector128<long> args2, Vector128<long> args3)The arguments(参数). Derived from YShuffleKernel_Args .
Returns
- Vector128<long>
A new vector containing the values from input vectors selected by the given
indices(一个新向量,其中包含给定indices从输入向量集中选择的值).
- See Also
YShuffleX3Kernel_Core(IWVectorTraits128, Vector128<ulong>, Vector128<ulong>, Vector128<ulong>, (Vector128<ulong> args0, Vector128<ulong> args1, Vector128<ulong> args2, Vector128<ulong> args3))
Core calculation for only shuffle on 3 vectors (在3个向量上进行仅换位的核心计算). Its arguments are derived from YShuffleX3Kernel_Args (其参数来源于 YShuffleX3Kernel_Args).
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_Core(this IWVectorTraits128 athis, Vector128<ulong> vector0, Vector128<ulong> vector1, Vector128<ulong> vector2, (Vector128<ulong> args0, Vector128<ulong> args1, Vector128<ulong> args2, Vector128<ulong> args3) args)
Parameters
athisIWVectorTraits128vector0Vector128<ulong>The input vector 0 from which values are selected (从中选择值的输入向量0).
vector1Vector128<ulong>The input vector 1 from which values are selected (从中选择值的输入向量0).
vector2Vector128<ulong>The input vector 2 from which values are selected (从中选择值的输入向量1).
args(Vector128<ulong> args0, Vector128<ulong> args1, Vector128<ulong> args2, Vector128<ulong> args3)The arguments(参数). Derived from YShuffleKernel_Args .