Vector<T> Struktur

Definisi

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

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

Jenis parameter

T

Jenis elemen dalam vektor. T dapat berupa jenis numerik primitif apa pun.

Warisan
Vector<T>
Penerapan

Keterangan

Vector<T> adalah struktur yang tidak dapat diubah yang mewakili vektor tunggal dari jenis numerik tertentu. Jumlah Vector<T> instans diperbaiki, tetapi batas atasnya tergantung pada CPU-register. Ini dimaksudkan untuk digunakan sebagai blok penyusun untuk vektorisasi algoritma besar, dan karenanya tidak dapat digunakan langsung sebagai vektor panjang sewenang-wenang atau tensor.

Struktur ini Vector<T> menyediakan dukungan untuk akselerasi perangkat keras.

Istilah jenis data numerik primitif dalam artikel ini mengacu pada jenis data numerik yang didukung langsung oleh CPU dan memiliki instruksi yang dapat memanipulasi jenis data tersebut.

Konstruktor

Nama Deskripsi
Vector<T>(ReadOnlySpan<Byte>)

Membangun vektor dari rentang byte baca-saja yang diberikan.

Vector<T>(ReadOnlySpan<T>)

Membangun vektor dari yang diberikan ReadOnlySpan<T>.

Vector<T>(Span<T>)

Membangun vektor dari yang diberikan Span<T>.

Vector<T>(T)

Membuat vektor yang komponennya berjenis tertentu.

Vector<T>(T[], Int32)

Membuat vektor dari array tertentu yang dimulai pada posisi indeks tertentu.

Vector<T>(T[])

Membuat vektor dari array tertentu.

Properti

Nama Deskripsi
AllBitsSet

Mendapatkan baru Vector<T> dengan semua bit diatur ke 1.

Count

Mengembalikan jumlah elemen yang disimpan dalam vektor.

Indices

Mendapatkan baru Vector<T> dengan elemen yang diatur ke indeksnya.

IsSupported

Mendapatkan nilai yang menunjukkan apakah T didukung.

Item[Int32]

Mendapatkan elemen pada indeks tertentu.

One

Mengembalikan vektor yang berisi semua vektor.

Zero

Mengembalikan vektor yang berisi semua nol.

Metode

Nama Deskripsi
CopyTo(Span<Byte>)

Menyalin vektor ke yang diberikan Span<T>.

CopyTo(Span<T>)

Menyalin vektor ke rentang yang diberikan. .

CopyTo(T[], Int32)

Menyalin instans vektor ke array tujuan tertentu yang dimulai pada posisi indeks tertentu.

CopyTo(T[])

Menyalin instans vektor ke array tujuan tertentu.

Equals(Object)

Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

Equals(Vector<T>)

Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan vektor tertentu.

GetHashCode()

Mengembalikan kode hash untuk instans ini.

ToString()

Mengembalikan representasi string dari vektor ini menggunakan pemformatan default.

ToString(String, IFormatProvider)

Mengembalikan representasi string dari vektor ini menggunakan string format yang ditentukan untuk memformat elemen individual dan penyedia format yang ditentukan untuk menentukan pemformatan khusus budaya.

ToString(String)

Mengembalikan representasi string dari vektor ini menggunakan string format yang ditentukan untuk memformat elemen individual.

TryCopyTo(Span<Byte>)

Mencoba menyalin vektor ke rentang byte yang diberikan.

TryCopyTo(Span<T>)

Upaya untuk menyalin vektor ke yang diberikan Span<T>.

Operator

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

Menambahkan dua vektor bersama-sama.

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

Mengembalikan vektor baru dengan melakukan operasi bitwise And pada masing-masing elemen dalam dua vektor.

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

Mengembalikan vektor baru dengan melakukan operasi bitwise Or pada masing-masing elemen dalam dua vektor.

Division(Vector<T>, T)

Membagi vektor dengan skalar untuk menghitung kuota per elemen.

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

Membagi vektor pertama dengan yang kedua.

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

Mengembalikan nilai yang menunjukkan apakah setiap pasangan elemen dalam dua vektor tertentu sama.

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

Mengembalikan vektor baru dengan melakukan operasi bitwise XOr pada masing-masing elemen dalam dua vektor.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis Byte.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis Double.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis Int16.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis Int32.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis Int64.

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

Masukkan kembali bit vektor sumber ke dalam vektor bilangan bulat berukuran asli.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis SByte.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis Single.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis UInt16.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis UInt32.

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

Masukkan kembali bit vektor yang ditentukan ke dalam vektor jenis UInt64.

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

Masukkan kembali bit vektor sumber ke dalam vektor bilangan bulat berukuran asli dan tidak ditandatangani.

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

Mengembalikan nilai yang menunjukkan apakah ada sepasang elemen dalam vektor yang ditentukan tidak sama.

LeftShift(Vector<T>, Int32)

Menggeser setiap elemen vektor yang ditinggalkan oleh jumlah yang ditentukan.

Multiply(T, Vector<T>)

Mengalikan vektor dengan nilai skalar tertentu.

Multiply(Vector<T>, T)

Mengalikan vektor dengan nilai skalar tertentu.

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

Mengembalikan vektor baru yang nilainya adalah produk dari setiap pasangan elemen dalam dua vektor yang ditentukan.

OnesComplement(Vector<T>)

Mengembalikan vektor baru yang elemennya diperoleh dengan mengambil pelengkap elemen vektor tertentu.

RightShift(Vector<T>, Int32)

Menggeser (ditandatangani) setiap elemen vektor tepat dengan jumlah yang ditentukan.

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

Mengurangi vektor kedua dari yang pertama.

UnaryNegation(Vector<T>)

Meniadakan vektor tertentu.

UnaryPlus(Vector<T>)

Mengembalikan vektor tertentu yang tidak berubah.

UnsignedRightShift(Vector<T>, Int32)

Menggeser (tidak ditandatangani) setiap elemen vektor tepat dengan jumlah yang ditentukan.

Properti Ekstensi

Nama Deskripsi
E

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

Epsilon

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

NaN

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

NegativeInfinity

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

NegativeOne

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

NegativeZero

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

Pi

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

PositiveInfinity

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

Tau

Mewakili vektor tunggal dari jenis numerik tertentu yang cocok untuk pengoptimalan algoritma paralel tingkat rendah.

Metode Ekstensi

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

Menginterpretir kembali Vector<T> sebagai baru Vector<T>.

AsVector128<T>(Vector<T>)

Menginterpretir kembali Vector<T> sebagai baru Vector128<T>.

AsVector256<T>(Vector<T>)

Menginterpretir kembali Vector<T> sebagai baru Vector256<T>.

AsVector512<T>(Vector<T>)

Menginterpretir kembali Vector<T> sebagai baru Vector512<T>.

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

Mendapatkan elemen pada indeks yang ditentukan.

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

Menyimpan vektor di tujuan tertentu.

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

Menyimpan vektor di tujuan yang diselaraskan tertentu.

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

Menyimpan vektor di tujuan yang diselaraskan tertentu.

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

Menyimpan vektor di tujuan tertentu.

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

Menyimpan vektor di tujuan tertentu.

ToScalar<T>(Vector<T>)

Mengonversi vektor yang diberikan menjadi skalar yang berisi nilai elemen pertama.

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

Membuat baru Vector<T> dengan elemen pada indeks yang ditentukan yang diatur ke nilai yang ditentukan dan elemen yang tersisa diatur ke nilai yang sama dengan yang ada di vektor yang diberikan.

Berlaku untuk