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 |
Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов. |
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>. |
Применяется к
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру