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

Определение

Представляет один вектор указанного числового типа, который подходит для низкоуровневой оптимизации параллельных алгоритмов.Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.

generic <typename T>
 where T : value classpublic value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
public struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
type Vector<'T (requires 'T : struct)> = struct
    interface IFormattable
Public Structure Vector(Of T)
Implements IEquatable(Of Vector(Of T)), IFormattable

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

T

Тип вектора.The vector type. T может быть любым простым числовым типом.T can be any primitive numeric type.

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

Комментарии

Vector<T> является неизменяемой структурой, представляющей один вектор указанного числового типа.Vector<T> is an immutable structure that represents a single vector of a specified numeric type. Количество экземпляров Vector<T> фиксировано, но его верхний предел зависит от регистра ЦП.The count of a Vector<T> instance is fixed, but its upper limit is CPU-register dependent. Он предназначен для использования в качестве стандартного блока для больших алгоритмов векторизинг.It is intended to be used as a building block for vectorizing large algorithms.

Структура Vector<T> обеспечивает поддержку аппаратного ускорения.The Vector<T> structure provides support for hardware acceleration.

В следующей таблице показано, какие простые числовые типы данных и сочетания операций используют встроенные инструкции для ускорения выполнения.The following table shows which primitive numeric data type and operation combination uses intrinsic instructions for faster executions:

Тип-примитивPrimitive type + - * /
sbyte ДаYes ДаYes НетNo НетNo
byte ДаYes ДаYes НетNo НетNo
short ДаYes ДаYes ДаYes НетNo
ushort ДаYes ДаYes НетNo НетNo
int ДаYes ДаYes ДаYes НетNo
uint ДаYes ДаYes НетNo НетNo
long ДаYes ДаYes НетNo НетNo
ulong ДаYes ДаYes НетNo НетNo
float ДаYes ДаYes ДаYes ДаYes
double ДаYes ДаYes ДаYes ДаYes

Конструкторы

Vector<T>(ReadOnlySpan<Byte>)

Конструирует вектор из заданного диапазона байтов, доступного только для чтения.Constructs a vector from the given read-only span of bytes.

Vector<T>(ReadOnlySpan<T>)

Конструирует вектор из заданного ReadOnlySpan<T>.Constructs a vector from the given ReadOnlySpan<T>.

Vector<T>(Span<T>)

Конструирует вектор из заданного Span<T>.Constructs a vector from the given Span<T>.

Vector<T>(T)

Создает вектор с координатами заданного типа.Creates a vector whose components are of a specified type.

Vector<T>(T[])

Создает вектор на основе заданного массива.Creates a vector from a specified array.

Vector<T>(T[], Int32)

Создает вектор на основе заданного массива, начиная с указанной позиции индекса.Creates a vector from a specified array starting at a specified index position.

Свойства

Count

Возвращает количество элементов, хранимых в векторе.Returns the number of elements stored in the vector.

Item[Int32]

Получает элемент по указанному индексу.Gets the element at a specified index.

One

Возвращает вектор, содержащий все единицы.Returns a vector containing all ones.

Zero

Возвращает вектор, содержащий все нули.Returns a vector containing all zeroes.

Методы

CopyTo(Span<Byte>)

Копирует вектор в заданный Span<T>.Copies the vector to the given Span<T>.

CopyTo(Span<T>)

Копирует вектор в заданный диапазон.Copies the vector to the given span. ..

CopyTo(T[])

Копирует экземпляр вектора в заданный массив назначения.Copies the vector instance to a specified destination array.

CopyTo(T[], Int32)

Копирует экземпляр вектора в заданный массив назначения, начиная с указанной позиции индекса.Copies the vector instance to a specified destination array starting at a specified index position.

Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object.

Equals(Vector<T>)

Возвращает значение, показывающее, равен ли данный экземпляр указанному вектору.Returns a value that indicates whether this instance is equal to a specified vector.

GetHashCode()

Возвращает хэш-код для данного экземпляра.Returns the hash code for this instance.

ToString()

Возвращает строковое представление данного вектора, используя форматирование по умолчанию.Returns the string representation of this vector using default formatting.

ToString(String)

Возвращает строковое представление данного вектора, используя заданную строку форматирования для форматирования отдельных элементов.Returns the string representation of this vector using the specified format string to format individual elements.

ToString(String, IFormatProvider)

Возвращает строковое представление данного вектора, используя заданную строку форматирования для форматирования отдельных элементов и заданный поставщик формата для указания форматирования, определяемого языком и региональными параметрами.Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.

TryCopyTo(Span<Byte>)

Пытается скопировать вектор в заданный диапазон байтов.Attempts to copy the vector to the given byte span.

TryCopyTo(Span<T>)

Пытается скопировать вектор в заданный Span<T>.Attempts to copy the vector to the given Span<T>.

Операторы

Addition(Vector<T>, Vector<T>)

Складывает два вектора.Adds two vectors together.

BitwiseAnd(Vector<T>, Vector<T>)

Возвращает новый вектор, выполняя битовую операцию And для всех элементов в двух векторах.Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.

BitwiseOr(Vector<T>, Vector<T>)

Возвращает новый вектор, выполняя битовую операцию Or для всех элементов в двух векторах.Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.

Division(Vector<T>, Vector<T>)

Делит первый вектор на второй.Divides the first vector by the second.

Equality(Vector<T>, Vector<T>)

Возвращает значение, указывающее, равны ли все пары элементов в двух заданных векторах.Returns a value that indicates whether each pair of elements in two specified vectors are equal.

ExclusiveOr(Vector<T>, Vector<T>)

Возвращает новый вектор, выполняя битовую операцию XOr для всех элементов в двух векторах.Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.

Explicit(Vector<T> to Vector<Byte>)

Повторно интерпретирует биты заданного вектора в вектор типа Byte.Reinterprets the bits of the specified vector into a vector of type Byte.

Explicit(Vector<T> to Vector<Double>)

Повторно интерпретирует биты заданного вектора в вектор типа Double.Reinterprets the bits of the specified vector into a vector of type Double.

Explicit(Vector<T> to Vector<Int16>)

Повторно интерпретирует биты заданного вектора в вектор типа Int16.Reinterprets the bits of the specified vector into a vector of type Int16.

Explicit(Vector<T> to Vector<Int32>)

Повторно интерпретирует биты заданного вектора в вектор типа Int32.Reinterprets the bits of the specified vector into a vector of type Int32.

Explicit(Vector<T> to Vector<Int64>)

Повторно интерпретирует биты заданного вектора в вектор типа Int64.Reinterprets the bits of the specified vector into a vector of type Int64.

Explicit(Vector<T> to Vector<SByte>)

Повторно интерпретирует биты заданного вектора в вектор типа SByte.Reinterprets the bits of the specified vector into a vector of type SByte.

Explicit(Vector<T> to Vector<Single>)

Повторно интерпретирует биты заданного вектора в вектор типа Single.Reinterprets the bits of the specified vector into a vector of type Single.

Explicit(Vector<T> to Vector<UInt16>)

Повторно интерпретирует биты заданного вектора в вектор типа UInt16.Reinterprets the bits of the specified vector into a vector of type UInt16.

Explicit(Vector<T> to Vector<UInt32>)

Повторно интерпретирует биты заданного вектора в вектор типа UInt32.Reinterprets the bits of the specified vector into a vector of type UInt32.

Explicit(Vector<T> to Vector<UInt64>)

Повторно интерпретирует биты заданного вектора в вектор типа UInt64.Reinterprets the bits of the specified vector into a vector of type UInt64.

Inequality(Vector<T>, Vector<T>)

Возвращает значение, указывающее, равна ли каждая отдельная пара элементов в двух заданных векторах.Returns a value that indicates whether any single pair of elements in the specified vectors is equal.

Multiply(T, Vector<T>)

Умножает вектор на заданное скалярное значение.Multiplies a vector by a specified scalar value.

Multiply(Vector<T>, T)

Умножает вектор на заданное скалярное значение.Multiplies a vector by a specified scalar value.

Multiply(Vector<T>, Vector<T>)

Возвращает новый вектор, значения которого являются произведением каждой пары элементов в двух заданных векторах.Returns a new vector whose values are the product of each pair of elements in two specified vectors.

OnesComplement(Vector<T>)

Возвращает новый вектор, элементы которого получаются путем принятия дополнения до единицы элементов заданного вектора.Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.

Subtraction(Vector<T>, Vector<T>)

Вычитает второй вектор из первого.Subtracts the second vector from the first.

UnaryNegation(Vector<T>)

Преобразует данный вектор в отрицательный.Negates a given vector.

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