Vector<T> Estrutura

Definição

Representa um único vetor de um tipo numérico especificado que é 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
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

Parâmetros de Tipo Genérico

T

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

Herança
Vector<T>
Implementações

Observações

Vector<T> é uma estrutura imutável que representa um único vetor de um tipo numérico especificado. O número de Vector<T> instâncias é fixo, mas o seu limite superior depende do registo da CPU. Destina-se a ser usado como bloco de construção para vetorizar grandes algoritmos e, portanto, não pode ser usado diretamente como um vetor ou tensor de comprimento arbitrário.

A Vector<T> estrutura oferece suporte para aceleração por hardware.

O termo tipo de dado numérico primitivo neste artigo refere-se a tipos de dados numéricos que são diretamente suportados pela CPU e que possuem instruções que podem manipular esses tipos de dados.

Construtores

Name Description
Vector<T>(ReadOnlySpan<Byte>)

Constrói um vetor a partir do intervalo só de leitura dado de bytes.

Vector<T>(ReadOnlySpan<T>)

Constrói um vetor a partir do dado ReadOnlySpan<T>.

Vector<T>(Span<T>)

Constrói um vetor a partir do dado Span<T>.

Vector<T>(T)

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

Vector<T>(T[], Int32)

Cria um vetor a partir de um array especificado começando numa posição de índice especificada.

Vector<T>(T[])

Cria um vetor a partir de um array especificado.

Propriedades

Name Description
AllBitsSet

Recebe um novo Vector<T> com todos os bits definidos para 1.

Count

Devolve o número de elementos armazenados no vetor.

Indices

Recebe um novo Vector<T> com os elementos definidos no seu índice.

IsSupported

Obtém um valor que indica se T é suportado.

Item[Int32]

Obtém o elemento num índice especificado.

One

Devolve um vetor contendo todos os uns.

Zero

Devolve um vetor contendo todos os zeros.

Métodos

Name Description
CopyTo(Span<Byte>)

Copia o vetor para o dado Span<T>.

CopyTo(Span<T>)

Copia o vetor para o vão dado. .

CopyTo(T[], Int32)

Copia a instância vetorial para um array de destino especificado a partir de uma posição de índice especificada.

CopyTo(T[])

Copia a instância vetorial para um array de destino especificado.

Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

Equals(Vector<T>)

Devolve um valor que indica se esta instância é igual a um vetor especificado.

GetHashCode()

Devolve o código de hash para esta instância.

ToString()

Devolve a representação da cadeia deste vetor usando a formatação padrão.

ToString(String, IFormatProvider)

Devolve a representação da cadeia deste vetor usando a cadeia de formato especificada para formatar elementos individuais e o fornecedor de formato especificado para definir a formatação específica da cultura.

ToString(String)

Devolve a representação da cadeia deste vetor usando a string de formato especificada para formatar elementos individuais.

TryCopyTo(Span<Byte>)

Tenta copiar o vetor para o intervalo de bytes dado.

TryCopyTo(Span<T>)

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

Operadores

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

Soma dois vetores.

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

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

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

Devolve um novo vetor realizando uma operação bit a Or 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>)

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

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

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

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

Reinterpreta os bits do vetor especificado num vetor do tipo Byte.

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

Reinterpreta os bits do vetor especificado num vetor do tipo Double.

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

Reinterpreta os bits do vetor especificado num vetor do tipo Int16.

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

Reinterpreta os bits do vetor especificado num vetor do tipo Int32.

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

Reinterpreta os bits do vetor especificado num vetor do tipo Int64.

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

Reinterpreta os bits de um vetor fonte num vetor de inteiros de tamanho nativo.

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

Reinterpreta os bits do vetor especificado num vetor do tipo SByte.

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

Reinterpreta os bits do vetor especificado num vetor do tipo Single.

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

Reinterpreta os bits do vetor especificado num vetor do tipo UInt16.

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

Reinterpreta os bits do vetor especificado num vetor do tipo UInt32.

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

Reinterpreta os bits do vetor especificado num vetor do tipo UInt64.

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

Reinterpreta os bits de um vetor fonte num vetor de inteiros de tamanho nativo, sem sinal.

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

Devolve um valor que indica se qualquer par individual de elementos nos vetores especificados não é 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>)

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

OnesComplement(Vector<T>)

Devolve um novo vetor cujos elementos são obtidos ao tomar o complemento do um dos elementos de um determinado vetor.

RightShift(Vector<T>, Int32)

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

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

Subtrai o segundo vetor do primeiro.

UnaryNegation(Vector<T>)

Nega um dado vetor.

UnaryPlus(Vector<T>)

Devolve um dado vetor inalterado.

UnsignedRightShift(Vector<T>, Int32)

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

Propriedades de Extensão

Name Description
E

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

Epsilon

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

NaN

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

NegativeInfinity

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

NegativeOne

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

NegativeZero

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

Pi

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

PositiveInfinity

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

Tau

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

Métodos da Extensão

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

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

AsVector128<T>(Vector<T>)

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

AsVector256<T>(Vector<T>)

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

AsVector512<T>(Vector<T>)

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

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

Obtém o elemento no índice especificado.

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

Armazena um vetor no destino indicado.

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

Armazena um vetor no destino alinhado indicado.

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

Armazena um vetor no destino alinhado indicado.

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

Armazena um vetor no destino indicado.

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

Armazena um vetor no destino indicado.

ToScalar<T>(Vector<T>)

Converte o vetor dado num escalar contendo o valor do primeiro elemento.

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

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

Aplica-se a