Vector<T> Estrutura

Definição

Representa um vetor simples de um tipo numérico especificado que é adequado para a otimização de nível baixo de algoritmos paralelos.

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

Parâmetros de tipo

T

O tipo dos elementos no vetor. T pode ser qualquer tipo numérico primitivo.

Herança
Vector<T>
Implementações

Comentários

Vector<T> é uma estrutura imutável que representa um único vetor de um tipo numérico especificado. A contagem de Vector<T> instâncias é fixa, mas seu limite superior é dependente do registro de CPU. Ele deve ser usado como um bloco de construção para vetorizar algoritmos grandes e, portanto, não pode ser usado diretamente como um vetor de comprimento arbitrário ou tensor.

A Vector<T> estrutura fornece suporte para aceleração de hardware.

O termo tipo de dados numéricos primitivos neste artigo refere-se a tipos de dados numéricos que têm suporte direto da CPU e têm instruções que podem manipular esses tipos de dados.

Construtores

Vector<T>(ReadOnlySpan<Byte>)

Constrói um vetor com base no intervalo de bytes somente leitura especificado.

Vector<T>(ReadOnlySpan<T>)

Constrói um vetor com base no ReadOnlySpan<T> especificado.

Vector<T>(Span<T>)

Constrói um vetor com base no Span<T> especificado.

Vector<T>(T)

Cria um vetor cujos componentes são de um tipo especificado.

Vector<T>(T[])

Cria um vetor de uma matriz especificada.

Vector<T>(T[], Int32)

Cria um vetor de uma matriz especificada, começando em uma posição de índice especificada.

Propriedades

AllBitsSet

Obtém um novo Vector<T> com todos os bits definidos como 1.

Count

Retorna o número de elementos armazenados no vetor.

Indices

Representa um vetor simples de um tipo numérico especificado que é adequado para a otimização de nível baixo de algoritmos paralelos.

IsSupported

Obtém um valor que indica se T há suporte.

Item[Int32]

Obtém o elemento em um índice especificado.

One

Retorna um vetor que contém todos os índices.

Zero

Retorna um vetor que contém todos os zeros.

Métodos

CopyTo(Span<Byte>)

Copia o vetor para o Span<T> especificado.

CopyTo(Span<T>)

Copia o vetor para o intervalo especificado. .

CopyTo(T[])

Copia a instância de vetor para uma matriz de destino especificada.

CopyTo(T[], Int32)

Copia a instância de vetor para uma matriz de destino especificada, começando em uma posição de índice especificada.

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

Equals(Vector<T>)

Retorna um valor que indica se essa instância é igual a um vetor especificado.

GetHashCode()

Retorna o código hash para a instância.

ToString()

Retorna a representação de cadeia de caracteres desse vetor usando a formatação padrão.

ToString(String)

Retorna a representação de cadeia de caracteres desse vetor usando a cadeia de caracteres de formato especificada para formatar elementos individuais.

ToString(String, IFormatProvider)

Retorna a representação de cadeia de caracteres desse vetor usando a cadeia de caracteres de formato especificada para formatar elementos individuais e o provedor de formato especificado para definir a formatação específica da cultura.

TryCopyTo(Span<Byte>)

Tenta copiar o vetor para o intervalo de bytes especificado.

TryCopyTo(Span<T>)

Tenta copiar o vetor para o Span<T> especificado.

Operadores

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

Soma dois vetores.

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

Retorna um novo vetor executando uma operação bit a bit And em cada um dos elementos em dois vetores.

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

Retorna um novo vetor executando uma operação bit a bit Or em cada um dos elementos em dois vetores.

Division(Vector<T>, T)

Divide um vetor por um escalar para calcular o quociente por elemento.

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

Divide o primeiro vetor pelo segundo.

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

Retorna um valor que indica se cada par de elementos em dois vetores especificados é igual.

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

Retorna um novo vetor executando uma operação bit a bit XOr em cada um dos elementos em dois vetores.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo Byte.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo Double.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo Int16.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo Int32.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo Int64.

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

Reinterpreta os bits de um vetor de origem em um vetor de inteiros de tamanho nativo.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo SByte.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo Single.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo UInt16.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo UInt32.

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

Reinterpreta os bits do vetor especificado em um vetor do tipo UInt64.

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

Reinterpreta os bits de um vetor de origem em um vetor de inteiros sem sinal de tamanho nativo.

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

Retorna um valor que indica se qualquer par único de elementos nos vetores especificados é igual.

LeftShift(Vector<T>, Int32)

Desloca cada elemento de um vetor à esquerda pela quantidade especificada.

Multiply(T, Vector<T>)

Multiplica um vetor por um valor escalar especificado.

Multiply(Vector<T>, T)

Multiplica um vetor por um valor escalar especificado.

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

Retorna um novo vetor cujos valores são o produto de cada par de elementos em dois vetores especificados.

OnesComplement(Vector<T>)

Retorna um novo vetor cujos elementos são obtidos retirando o complemento de um dos elementos de um vetor especificado.

RightShift(Vector<T>, Int32)

Desloca (assinado) cada elemento de um vetor à direita pelo valor especificado.

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

Subtrai o segundo vetor da primeiro.

UnaryNegation(Vector<T>)

Nega um vetor determinado.

UnaryPlus(Vector<T>)

Retorna um determinado vetor inalterado.

UnsignedRightShift(Vector<T>, Int32)

Desloca (sem sinal) cada elemento de um vetor à direita pela quantidade especificada.

Métodos de Extensão

As<TFrom,TTo>(Vector<TFrom>)

Reinterpreta um Vector<T> como um novo Vector<T>.

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

Obtém o elemento no índice especificado.

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

Armazena um vetor no destino determinado.

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

Armazena um vetor no destino alinhado determinado.

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

Armazena um vetor no destino alinhado determinado.

StoreUnsafe<T>(Vector<T>, T)

Armazena um vetor no destino determinado.

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

Armazena um vetor no destino determinado.

ToScalar<T>(Vector<T>)

Converte o vetor especificado em um escalar que contém o valor do primeiro elemento.

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

Cria um Vector<T> com o elemento no índice especificado definido com o valor especificado e os elementos restantes definidos com o mesmo valor do vetor especificado.

AsVector128<T>(Vector<T>)

Reinterpreta um Vector<T> como um novo Vector128<T>.

AsVector256<T>(Vector<T>)

Reinterpreta um Vector<T> como um novo Vector256<T>.

AsVector512<T>(Vector<T>)

Reinterpreta um Vector<T> como um novo Vector512<T>.

Aplica-se a