Поделиться через


Vector128<T> Структура

Определение

Представляет 128-разрядный вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов.

generic <typename T>
 where T : value classpublic value class Vector128 : IEquatable<System::Runtime::Intrinsics::Vector128<T>>
generic <typename T>
public value class Vector128 : IEquatable<System::Runtime::Intrinsics::Vector128<T>>
public readonly struct Vector128<T> : IEquatable<System.Runtime.Intrinsics.Vector128<T>> where T : struct
public readonly struct Vector128<T> : IEquatable<System.Runtime.Intrinsics.Vector128<T>>
type Vector128<'T (requires 'T : struct)> = struct
type Vector128<'T> = struct
Public Structure Vector128(Of T)
Implements IEquatable(Of Vector128(Of T))

Параметры типа

T

Тип элементов в векторе.

Наследование
Vector128<T>
Реализации

Свойства

AllBitsSet

Возвращает новый Vector128<T> со всеми битами, для которых задано значение 1.

Count

Возвращает количество объектов T, содержащихся в Vector128<T>.

Indices

Представляет 128-разрядный вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов.

IsSupported

Возвращает значение, указывающее, поддерживается ли T .

Item[Int32]

Получает элемент с указанным индексом.

One

Возвращает новый Vector128<T> объект со всеми элементами, инициализированными в один.

Zero

Возвращает новый объект Vector128<T>, все элементы которого инициализированы нулевыми значениями.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему экземпляру.

Equals(Vector128<T>)

Определяет, равен ли указанный объект Vector128<T> текущему экземпляру.

GetHashCode()

Получает хэш-код для экземпляра.

ToString()

Преобразует текущий экземпляр в эквивалентное ему строковое представление.

Операторы

Addition(Vector128<T>, Vector128<T>)

Добавляет два вектора для вычисления их суммы.

BitwiseAnd(Vector128<T>, Vector128<T>)

Вычисляет побитовые и двух векторов.

BitwiseOr(Vector128<T>, Vector128<T>)

Вычисляет побитовое значение или двух векторов.

Division(Vector128<T>, T)

Делит вектор на скаляр для вычисления частного элемента.

Division(Vector128<T>, Vector128<T>)

Делит два вектора для вычисления их частного.

Equality(Vector128<T>, Vector128<T>)

Сравнивает два вектора, чтобы определить, равны ли все элементы.

ExclusiveOr(Vector128<T>, Vector128<T>)

Вычисляет исключающее значение или двух векторов.

Inequality(Vector128<T>, Vector128<T>)

Сравнивает два вектора, чтобы определить, не равны ли какие-либо элементы.

LeftShift(Vector128<T>, Int32)

Сдвигает каждый элемент вектора влево на указанную величину.

Multiply(T, Vector128<T>)

Умножает вектор на скаляр для вычисления их продукта.

Multiply(Vector128<T>, T)

Умножает вектор на скаляр для вычисления их продукта.

Multiply(Vector128<T>, Vector128<T>)

Умножает два вектора для вычисления их элементного продукта.

OnesComplement(Vector128<T>)

Вычисляет дополнение к единицам вектора.

RightShift(Vector128<T>, Int32)

Сдвигает (со знаком) каждый элемент вектора вправо на указанную величину.

Subtraction(Vector128<T>, Vector128<T>)

Вычитает два вектора, чтобы вычислить их разницу.

UnaryNegation(Vector128<T>)

Вычисляет унарное отрицание вектора.

UnaryPlus(Vector128<T>)

Возвращает заданный вектор без изменений.

UnsignedRightShift(Vector128<T>, Int32)

Сдвигает (без знака) каждый элемент вектора вправо на указанную величину.

Методы расширения

As<T,U>(Vector128<T>)

Переинтерпретирует Vector128<T> типа TFrom как новый Vector128<T> типа TTo.

AsByte<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа Byte.

AsDouble<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа Double.

AsInt16<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа Int16.

AsInt32<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа Int32.

AsInt64<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа Int64.

AsNInt<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128<T>.

AsNUInt<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128<T>.

AsSByte<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа SByte.

AsSingle<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа Single.

AsUInt16<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа UInt16.

AsUInt32<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа UInt32.

AsUInt64<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector128 типа UInt64.

AsVector<T>(Vector128<T>)

Переинтерпретирует Vector128<T> как новый Vector<T>.

CopyTo<T>(Vector128<T>, T[])

Копирует в Vector128<T> заданный массив.

CopyTo<T>(Vector128<T>, T[], Int32)

Копирует в Vector128<T> заданный массив, начиная с указанного индекса.

CopyTo<T>(Vector128<T>, Span<T>)

Копирует в Vector128<T> заданный диапазон.

ExtractMostSignificantBits<T>(Vector128<T>)

Извлекает наиболее значимый бит из каждого элемента в векторе.

GetElement<T>(Vector128<T>, Int32)

Получает элемент с указанным индексом.

GetLower<T>(Vector128<T>)

Возвращает значение нижних 64 бит в качестве нового Vector64<T>.

GetUpper<T>(Vector128<T>)

Получает значение верхних 64 бит в качестве нового Vector64<T>.

Store<T>(Vector128<T>, T*)

Сохраняет вектор в заданном месте назначения.

StoreAligned<T>(Vector128<T>, T*)

Сохраняет вектор в заданном выровненном месте назначения.

StoreAlignedNonTemporal<T>(Vector128<T>, T*)

Сохраняет вектор в заданном выровненном месте назначения.

StoreUnsafe<T>(Vector128<T>, T)

Сохраняет вектор в заданном месте назначения.

StoreUnsafe<T>(Vector128<T>, T, UIntPtr)

Сохраняет вектор в заданном месте назначения.

ToScalar<T>(Vector128<T>)

Преобразует заданный вектор в скаляр, содержащий значение первого элемента.

ToVector256<T>(Vector128<T>)

Преобразует заданный вектор в новый Vector256<T> с нижними 128 битами, равными значению заданного вектора, и верхними 128 битами, равными нулю.

ToVector256Unsafe<T>(Vector128<T>)

Преобразует заданный вектор в новый Vector256<T> с нижними 128 битами, равными значению заданного вектора, и неинициализированными верхними 128 битами.

TryCopyTo<T>(Vector128<T>, Span<T>)

Пытается скопировать в Vector<T> заданный диапазон.

WithElement<T>(Vector128<T>, Int32, T)

Создает новый Vector128<T> с элементом по указанному индексу, для которого задано указанное значение, а остальные элементы получают то же значение, что и в данном векторе.

WithLower<T>(Vector128<T>, Vector64<T>)

Создает новый Vector128<T> с нижними 64 битами, для которых задано указанное значение, и верхними 64 битами, для которых задано же значение, что и в указанном векторе.

WithUpper<T>(Vector128<T>, Vector64<T>)

Создает новый Vector128<T> с верхними 64 битами, для которых задано указанное значение, и нижними 64 битами, для которых задано то же значение, что и в указанном векторе.

Применяется к