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
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
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[], Int32) |
Создает вектор из указанного массива, начиная с указанной позиции индекса. |
| Vector<T>(T[]) |
Создает вектор из указанного массива. |
Свойства
| Имя | Описание |
|---|---|
| AllBitsSet |
Возвращает новое значение Vector<T> со всеми битами, равными 1. |
| Count |
Возвращает количество элементов, хранящихся в векторе. |
| Indices |
Возвращает новый объект Vector<T> с элементами, заданными для их индекса. |
| IsSupported |
Возвращает значение, указывающее, поддерживается ли |
| Item[Int32] |
Возвращает элемент по указанному индексу. |
| One |
Возвращает вектор, содержащий все. |
| Zero |
Возвращает вектор, содержащий все нули. |
Методы
| Имя | Описание |
|---|---|
| CopyTo(Span<Byte>) |
Копирует вектор в заданный Span<T>. |
| CopyTo(Span<T>) |
Копирует вектор в заданный диапазон. . |
| CopyTo(T[], Int32) |
Копирует экземпляр вектора в указанный целевой массив, начиная с указанной позиции индекса. |
| CopyTo(T[]) |
Копирует экземпляр вектора в указанный целевой массив. |
| Equals(Object) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. |
| Equals(Vector<T>) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному вектору. |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. |
| ToString() |
Возвращает строковое представление этого вектора с помощью форматирования по умолчанию. |
| ToString(String, IFormatProvider) |
Возвращает строковое представление этого вектора с помощью указанной строки форматирования для форматирования отдельных элементов и указанного поставщика формата для определения форматирования, зависяющего от языка и региональных параметров. |
| ToString(String) |
Возвращает строковое представление этого вектора с помощью указанной строки формата для форматирования отдельных элементов. |
| 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) |
Сдвиги (без знака) каждого элемента вектора вправо по указанному количеству. |
Свойства расширения
| Имя | Описание |
|---|---|
| E |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| Epsilon |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| NaN |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| NegativeInfinity |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| NegativeOne |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| NegativeZero |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| Pi |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| PositiveInfinity |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
| Tau |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
Методы расширения
| Имя | Описание |
|---|---|
| As<TFrom,TTo>(Vector<TFrom>) | |
| AsVector128<T>(Vector<T>) |
Переинтерпретирует новый Vector<T>Vector128<T>. |
| AsVector256<T>(Vector<T>) |
Переинтерпретирует новый Vector<T>Vector256<T>. |
| AsVector512<T>(Vector<T>) |
Переинтерпретирует новый Vector<T>Vector512<T>. |
| 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, UIntPtr) |
Сохраняет вектор в заданном месте назначения. |
| StoreUnsafe<T>(Vector<T>, T) |
Сохраняет вектор в заданном месте назначения. |
| ToScalar<T>(Vector<T>) |
Преобразует заданный вектор в скаляр, содержащий значение первого элемента. |
| WithElement<T>(Vector<T>, Int32, T) |
Создает новый Vector<T> элемент с заданным индексом, заданным заданным значением, а остальные элементы имеют то же значение, что и в заданном векторе. |