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
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

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 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 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

Nome Description
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 determinado ReadOnlySpan<T>.

Vector<T>(Span<T>)

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

Vector<T>(T)

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

Vector<T>(T[], Int32)

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

Vector<T>(T[])

Cria um vetor de uma matriz especificada.

Propriedades

Nome Description
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 T há suporte.

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

Nome Description
CopyTo(Span<Byte>)

Copia o vetor para o determinado Span<T>.

CopyTo(Span<T>)

Copia o vetor para o intervalo determinado. .

CopyTo(T[], Int32)

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

CopyTo(T[])

Copia a instância de vetor para uma matriz de destino 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, 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.

ToString(String)

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

TryCopyTo(Span<Byte>)

Tenta copiar o vetor para o intervalo de bytes determinado.

TryCopyTo(Span<T>)

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

Operadores

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

Adiciona dois vetores juntos.

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 são iguais.

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 não assinados de tamanho nativo.

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

Retorna um valor que indica se qualquer par único 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>)

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.

Propriedades de Extensão

Nome Description
E

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

Epsilon

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

NaN

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

NegativeInfinity

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

NegativeOne

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

NegativeZero

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

Pi

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

PositiveInfinity

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

Tau

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

Métodos de Extensão

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

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

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

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, UIntPtr)

Armazena um vetor no destino especificado.

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

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 conjunto de índice especificado para o valor especificado e os elementos restantes definidos com o mesmo valor que no vetor especificado.

Aplica-se a