Vector<T> Estrutura
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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 |
| 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 |
| BitwiseOr(Vector<T>, Vector<T>) |
Devolve um novo vetor realizando uma operação bit a |
| 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 |
| 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>) | |
| 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. |