Vector<T> Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов.
generic <typename T>
where T : value classpublic value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
generic <typename T>
public value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
public struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable
type Vector<'T (requires 'T : struct)> = struct
interface IFormattable
type Vector<'T> = struct
interface IFormattable
Public Structure Vector(Of T)
Implements IEquatable(Of Vector(Of T)), IFormattable
Параметры типа
- T
Тип элементов в векторе.
T
может быть любым примитивным числовым типом.
- Наследование
- Реализации
Комментарии
Vector<T> — это неизменяемая структура, представляющая один вектор указанного числового типа. Число экземпляров Vector<T> исправлено, но его верхний предел зависит от регистра ЦП. Он предназначен для векторизации больших алгоритмов и поэтому не может использоваться непосредственно в качестве произвольного вектора длины или тензора.
Структура Vector<T> обеспечивает поддержку аппаратного ускорения.
Термин примитивных числовых типов данных, в этой статье, относится к числовым типам данных, которые напрямую поддерживаются ЦП и имеют инструкции, которые могут управлять этими типами данных.
Конструкторы
Vector<T>(ReadOnlySpan<Byte>) |
Создает вектор из заданного диапазона байтов только для чтения. |
Vector<T>(ReadOnlySpan<T>) |
Создает вектор из заданного ReadOnlySpan<T>. |
Vector<T>(Span<T>) |
Создает вектор из заданного Span<T>. |
Vector<T>(T) |
Создает вектор, компоненты которого имеют указанный тип. |
Vector<T>(T[]) |
Создает вектор из указанного массива. |
Vector<T>(T[], Int32) |
Создает вектор из указанного массива, начиная с указанной позиции индекса. |
Свойства
AllBitsSet |
Возвращает новый Vector<T> со всеми битами, равными 1. |
Count |
Возвращает количество элементов, хранящихся в векторе. |
Indices |
Возвращает новый Vector<T> с элементами, заданными для их индекса. |
IsSupported |
Возвращает значение, указывающее, поддерживается ли |
Item[Int32] |
Возвращает элемент по указанному индексу. |
One |
Возвращает вектор, содержащий все. |
Zero |
Возвращает вектор, содержащий все нули. |
Методы
CopyTo(Span<Byte>) |
Копирует вектор в заданный Span<T>. |
CopyTo(Span<T>) |
Копирует вектор в заданный диапазон. . |
CopyTo(T[]) |
Копирует экземпляр вектора в указанный целевой массив. |
CopyTo(T[], Int32) |
Копирует экземпляр вектора в указанный целевой массив, начиная с указанной позиции индекса. |
Equals(Object) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. |
Equals(Vector<T>) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному вектору. |
GetHashCode() |
Возвращает хэш-код для этого экземпляра. |
ToString() |
Возвращает строковое представление этого вектора с помощью форматирования по умолчанию. |
ToString(String) |
Возвращает строковое представление этого вектора с помощью указанной строки формата для форматирования отдельных элементов. |
ToString(String, IFormatProvider) |
Возвращает строковое представление этого вектора с помощью указанной строки форматирования для форматирования отдельных элементов и указанного поставщика формата для определения форматирования, зависяющего от языка и региональных параметров. |
TryCopyTo(Span<Byte>) |
Пытается скопировать вектор в заданный диапазон байтов. |
TryCopyTo(Span<T>) |
Пытается скопировать вектор в заданный Span<T>. |
Операторы
Addition(Vector<T>, Vector<T>) |
Добавляет два вектора вместе. |
BitwiseAnd(Vector<T>, Vector<T>) |
Возвращает новый вектор, выполняя побитовую операцию |
BitwiseOr(Vector<T>, Vector<T>) |
Возвращает новый вектор, выполняя побитовую операцию |
Division(Vector<T>, T) |
Делит вектор скалярным для вычисления квотиента для каждого элемента. |
Division(Vector<T>, Vector<T>) |
Делит первый вектор на второй. |
Equality(Vector<T>, Vector<T>) |
Возвращает значение, указывающее, равны ли каждая пара элементов в двух указанных векторах. |
ExclusiveOr(Vector<T>, Vector<T>) |
Возвращает новый вектор, выполняя побитовую операцию |
Explicit(Vector<T> to Vector<Byte>) |
Повторно интерпретирует биты указанного вектора вектор типа Byte. |
Explicit(Vector<T> to Vector<Double>) |
Повторно интерпретирует биты указанного вектора вектор типа Double. |
Explicit(Vector<T> to Vector<Int16>) |
Повторно интерпретирует биты указанного вектора вектор типа Int16. |
Explicit(Vector<T> to Vector<Int32>) |
Повторно интерпретирует биты указанного вектора вектор типа Int32. |
Explicit(Vector<T> to Vector<Int64>) |
Повторно интерпретирует биты указанного вектора вектор типа Int64. |
Explicit(Vector<T> to Vector<IntPtr>) |
Повторно интерпретирует биты исходного вектора в вектор целых чисел собственного размера. |
Explicit(Vector<T> to Vector<SByte>) |
Повторно интерпретирует биты указанного вектора вектор типа SByte. |
Explicit(Vector<T> to Vector<Single>) |
Повторно интерпретирует биты указанного вектора вектор типа Single. |
Explicit(Vector<T> to Vector<UInt16>) |
Повторно интерпретирует биты указанного вектора вектор типа UInt16. |
Explicit(Vector<T> to Vector<UInt32>) |
Повторно интерпретирует биты указанного вектора вектор типа UInt32. |
Explicit(Vector<T> to Vector<UInt64>) |
Повторно интерпретирует биты указанного вектора вектор типа UInt64. |
Explicit(Vector<T> to Vector<UIntPtr>) |
Повторно интерпретирует биты исходного вектора в вектор собственного размера без знака целых чисел. |
Inequality(Vector<T>, Vector<T>) |
Возвращает значение, указывающее, равна ли любая одна пара элементов в указанных векторах. |
LeftShift(Vector<T>, Int32) |
Сдвигает каждый элемент вектора влево на указанный объем. |
Multiply(T, Vector<T>) |
Умножает вектор на указанное скалярное значение. |
Multiply(Vector<T>, T) |
Умножает вектор на указанное скалярное значение. |
Multiply(Vector<T>, Vector<T>) |
Возвращает новый вектор, значения которого являются продуктом каждой пары элементов в двух указанных векторах. |
OnesComplement(Vector<T>) |
Возвращает новый вектор, элементы которого получаются путем принятия дополнения одного из элементов указанного вектора. |
RightShift(Vector<T>, Int32) |
Сдвигает (подписанный) каждый элемент вектора вправо по указанному количеству. |
Subtraction(Vector<T>, Vector<T>) |
Вычитает второй вектор из первого. |
UnaryNegation(Vector<T>) |
Отрицает заданный вектор. |
UnaryPlus(Vector<T>) |
Возвращает заданный вектор без изменений. |
UnsignedRightShift(Vector<T>, Int32) |
Сдвиги (без знака) каждого элемента вектора вправо по указанному количеству. |
Методы расширения
As<TFrom,TTo>(Vector<TFrom>) | |
GetElement<T>(Vector<T>, Int32) |
Возвращает элемент по указанному индексу. |
Store<T>(Vector<T>, T*) |
Сохраняет вектор в заданном месте назначения. |
StoreAligned<T>(Vector<T>, T*) |
Сохраняет вектор в заданном выровненном месте назначения. |
StoreAlignedNonTemporal<T>(Vector<T>, T*) |
Сохраняет вектор в заданном выровненном месте назначения. |
StoreUnsafe<T>(Vector<T>, T) |
Сохраняет вектор в заданном месте назначения. |
StoreUnsafe<T>(Vector<T>, T, UIntPtr) |
Сохраняет вектор в заданном месте назначения. |
ToScalar<T>(Vector<T>) |
Преобразует заданный вектор в скаляр, содержащий значение первого элемента. |
WithElement<T>(Vector<T>, Int32, T) |
Создает новый Vector<T> с элементом по указанному индексу, заданному указанному значению, а остальные элементы имеют то же значение, что и в заданном векторе. |
AsVector128<T>(Vector<T>) |
Переинтерпретирует Vector<T> как новую Vector128<T>. |
AsVector256<T>(Vector<T>) |
Переинтерпретирует Vector<T> как новую Vector256<T>. |
AsVector512<T>(Vector<T>) |
Переинтерпретирует Vector<T> как новую Vector512<T>. |