Vector<T> Estrutura

Definição

Representa um único vetor de um tipo numérico especificado adequado para otimização de baixo nível 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 instâncias de Vector<T> é fixa, mas seu limite superior depende 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 estrutura Vector<T> fornece suporte para aceleração de hardware.

O termo tipo de dados numérico primitivo 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 a partir do intervalo de bytes somente leitura especificado.

Vector<T>(ReadOnlySpan<T>)

Constrói um vetor do ReadOnlySpan<T>determinado.

Vector<T>(Span<T>)

Constrói um vetor do Span<T>determinado.

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

Obtém um novo Vector<T> com os elementos definidos como seu índice.

IsSupported

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

Item[Int32]

Obtém o elemento em um índice especificado.

One

Retorna um vetor que contém todos.

Zero

Retorna um vetor que contém todos os zeros.

Métodos

CopyTo(Span<Byte>)

Copia o vetor para o Span<T>determinado.

CopyTo(Span<T>)

Copia o vetor para o intervalo determinado. .

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 dessa 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 determinado.

TryCopyTo(Span<T>)

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

Operadores

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

Adiciona dois vetores juntos.

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

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

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

Retorna um novo vetor executando uma operação de Or bit a bit 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 são iguais.

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

Retorna um novo vetor executando uma operação de XOr bit a bit 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 não assinados de tamanho nativo.

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

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

LeftShift(Vector<T>, Int32)

Desloca cada elemento de um vetor deixado 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 usando o complemento de elementos de um vetor especificado.

RightShift(Vector<T>, Int32)

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

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

Subtrai o segundo vetor do primeiro.

UnaryNegation(Vector<T>)

Nega um determinado vetor.

UnaryPlus(Vector<T>)

Retorna um determinado vetor inalterado.

UnsignedRightShift(Vector<T>, Int32)

Shifts (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 especificado.

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

Armazena um vetor no destino alinhado especificado.

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

Armazena um vetor no destino alinhado especificado.

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

Armazena um vetor no destino especificado.

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

Armazena um vetor no destino especificado.

ToScalar<T>(Vector<T>)

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

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

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

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