Major: Support for the X86 Sse family instruction set; supplement all vector methods for Vector128/Vector256; also provides innovative vector methods such as check floating number (YIsNaN, YIsInfinity), sign (YCopySign, YSign) (支持 x86的Sse系列指令集; 为 Vector128/Vector256 补充全部的向量方法; 还提供了 浮点数判断(YIsNaN, YIsinfinity)、符号判断(YCopySign, YSign) 等原创的向量方法).
Provides the CPU model info (提供CPU型号信息). VectorEnvironment adds members: CpuModelName, CpuFlags, CpuDetectionCommand, CpuDetectionException, CpuDetectionResult .
Provides information about the supported instruction set (提供所支持的指令集信息). e.g. VectorEnvironment.SupportedInstructionSets, IBaseTraits.UsedInstructionSets
Provides arrays of fixed length (提供固定长度的数组). e.g. FixedArray2, FixedArray4 ...
BitMath changed from static to abstract class. Add namespace Zyl.VectorTraits.Numerics, add some math functions (BitMath从静态类改为抽象类. 新增名称空间 Zyl.VectorTraits.Numerics, 增加一些的数学函数).
Add tool program (增加工具程序): UpdateBenchmarkResults.
Optimized hardware acceleration of ExtractMostSignificantBits methods in the Arm architecture (优化ExtractMostSignificantBits方法在Arm架构的硬件加速). For 8~64 bit types.
Dot①: Computes the dot product of two vectors (计算两个向量的点积).
Mnemonic: rt := left[0]*right[0] + left[1]*right[1] + left[2]*right[2] + ... + left[Count-1]*right[Count-1] .
Equals: Compares two vectors to determine if they are equal on a per-element basis (比较两个向量,确定它们每个元素是否相称).
Mnemonic: rt := to_mask(left == right).
EqualsAll: Compares two vectors to determine if all elements are equal (比较两个向量以判定所有元素是否相称).
Mnemonic: rt := (left[0] == right[0]) && (left[1] == right[1]) && ... && (left[Count-1] == right[Count-1]).
EqualsAny: Compares two vectors to determine if any elements are equal (比较两个向量以判定任一元素是否相称).
Mnemonic: rt := (left[0] == right[0]) || (left[1] == right[1]) || ... || (left[Count-1] == right[Count-1]).
GreaterThanAll: Compares two vectors to determine if all elements are greater (比较两个向量以判定所有元素是否大于).
Mnemonic: rt := (left[0] > right[0]) && (left[1] > right[1]) && ... && (left[Count-1] > right[Count-1]).
GreaterThanAny: Compares two vectors to determine if any elements are greater (比较两个向量以判定任一元素是否大于).
Mnemonic: rt := (left[0] > right[0]) || (left[1] > right[1]) || ... || (left[Count-1] > right[Count-1]).
GreaterThanOrEqual: Compares two vectors to determine which is greater or equal on a per-element basis (比较两个向量,在每个元素的底子上确定哪个更大或等于).
Mnemonic: rt := to_mask(left >= right).
GreaterThanOrEqualAll: Compares two vectors to determine if all elements are greater or equal (比较两个向量以判定所有元素是否大于或等于).
Mnemonic: rt := (left[0] >= right[0]) && (left[1] >= right[1]) && ... && (left[Count-1] >= right[Count-1]).
GreaterThanOrEqualAny: Compares two vectors to determine if any elements are greater or equal (比较两个向量以判定任一元素是否大于或等于).
Mnemonic: rt := (left[0] >= right[0]) || (left[1] >= right[1]) || ... || (left[Count-1] >= right[Count-1]).
LessThanAll: Compares two vectors to determine if all elements are less (比较两个向量以判定所有元素是否小于).
Mnemonic: rt := (left[0] < right[0]) && (left[1] < right[1]) && ... && (left[Count-1] < right[Count-1]).
LessThanAny: Compares two vectors to determine if any elements are less (比较两个向量以判定任一元素是否小于).
Mnemonic: rt := (left[0] < right[0]) || (left[1] < right[1]) || ... || (left[Count-1] < right[Count-1]).
LessThanOrEqual: Compares two vectors to determine which is less or equal on a per-element basis (比较两个向量,在每个元素的底子上确定哪个更小或等于).
Mnemonic: rt := to_mask(left >i)&1)) .
<ul>YIsEvenInteger: Determines if a element represents an even integral number (确定元素是否为偶数整数).
Mnemonic: rt := to_mask(isEvenInteger(value)) .YIsFinite: Determines if a element is finite. It contains zero, subnormal, and normal. It does not contain infinity, NaN (确定元素是否为有限值. 它包含 零、次正规数、正规数. 它不含无穷大、非数).
Mnemonic: rt := to_mask(isFinite(value)) .YIsInfinity: Determines if a element is infinite (确定元素是否为无穷大).
Mnemonic: rt := to_mask(isInfinity(value)) .YIsInfinityOrNaN: Determines if a element is infinite or NaN (确定元素是否为无穷大或非数).
Mnemonic: rt := to_mask(isInfinityOrNaN(value)) .YIsInteger: Determines if a element represents an integral number (确定元素是否为整数).
Mnemonic: rt := to_mask(isInteger(value)) .YIsNaN: Determines if a element is NaN (确定元素是否为非数).
Mnemonic: rt := to_mask(isNaN(value)) .YIsNegative: Determines if a element represents a negative number or negative zero (确定元素是否为负数或负零).
Mnemonic: rt := to_mask(isNegative(value)) = to_mask((value