다음을 통해 공유


Vector<T> 구조체

정의

병렬 알고리즘의 하위 수준 최적화에 적합한 지정된 숫자 형식의 단일 벡터를 나타냅니다.

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

형식 매개 변수

T

벡터에 있는 요소의 형식입니다. T 모든 기본 숫자 형식일 수 있습니다.

상속
Vector<T>
구현

설명

Vector<T> 지정된 숫자 형식의 단일 벡터를 나타내는 변경할 수 없는 구조체입니다. Vector<T> 인스턴스 수는 고정되어 있지만 상한은 CPU 레지스터에 따라 다릅니다. 큰 알고리즘을 벡터화하기 위한 구성 요소로 사용되므로 임의 길이 벡터 또는 텐서로 직접 사용할 수 없습니다.

Vector<T> 구조는 하드웨어 가속을 지원합니다.

이 문서에서 기본 숫자 데이터 형식이라는 용어는 CPU에서 직접 지원되고 해당 데이터 형식을 조작할 수 있는 지침이 있는 숫자 데이터 형식을 나타냅니다.

생성자

Vector<T>(ReadOnlySpan<Byte>)

지정된 읽기 전용 바이트 범위에서 벡터를 생성합니다.

Vector<T>(ReadOnlySpan<T>)

지정된 ReadOnlySpan<T>벡터를 생성합니다.

Vector<T>(Span<T>)

지정된 Span<T>벡터를 생성합니다.

Vector<T>(T)

구성 요소가 지정된 형식인 벡터를 만듭니다.

Vector<T>(T[])

지정된 배열에서 벡터를 만듭니다.

Vector<T>(T[], Int32)

지정된 인덱스 위치에서 시작하여 지정된 배열에서 벡터를 만듭니다.

속성

AllBitsSet

모든 비트가 1로 설정된 새 Vector<T> 가져옵니다.

Count

벡터에 저장된 요소 수를 반환합니다.

Indices

요소가 인덱스로 설정된 새 Vector<T> 가져옵니다.

IsSupported

T 지원되는지 여부를 나타내는 값을 가져옵니다.

Item[Int32]

지정된 인덱스에서 요소를 가져옵니다.

One

모든 벡터를 포함하는 벡터를 반환합니다.

Zero

모든 0을 포함하는 벡터를 반환합니다.

메서드

CopyTo(Span<Byte>)

지정된 Span<T>벡터를 복사합니다.

CopyTo(Span<T>)

지정된 범위에 벡터를 복사합니다. .

CopyTo(T[])

지정된 대상 배열에 벡터 인스턴스를 복사합니다.

CopyTo(T[], Int32)

지정된 인덱스 위치에서 시작하여 지정된 대상 배열에 벡터 인스턴스를 복사합니다.

Equals(Object)

이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

Equals(Vector<T>)

이 인스턴스가 지정된 벡터와 같은지 여부를 나타내는 값을 반환합니다.

GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

ToString()

기본 서식을 사용하여 이 벡터의 문자열 표현을 반환합니다.

ToString(String)

지정된 형식 문자열을 사용하여 개별 요소의 서식을 지정하여 이 벡터의 문자열 표현을 반환합니다.

ToString(String, IFormatProvider)

지정된 서식 문자열을 사용하여 개별 요소의 서식을 지정하고 지정된 형식 공급자를 사용하여 문화권별 서식을 정의하는 이 벡터의 문자열 표현을 반환합니다.

TryCopyTo(Span<Byte>)

지정된 바이트 범위에 벡터를 복사하려고 시도합니다.

TryCopyTo(Span<T>)

지정된 Span<T>벡터를 복사하려고 합니다.

연산자

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

두 벡터를 함께 추가합니다.

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

두 벡터의 각 요소에 대해 비트 And 연산을 수행하여 새 벡터를 반환합니다.

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

두 벡터의 각 요소에 대해 비트 Or 연산을 수행하여 새 벡터를 반환합니다.

Division(Vector<T>, T)

요소별 몫을 계산하기 위해 벡터를 스칼라로 나눕니다.

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

첫 번째 벡터를 두 번째 벡터로 나눕니다.

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

지정된 두 벡터의 각 요소 쌍이 같은지 여부를 나타내는 값을 반환합니다.

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

두 벡터의 각 요소에 대해 비트 XOr 연산을 수행하여 새 벡터를 반환합니다.

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

지정된 벡터의 비트를 Byte형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 Double형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 Int16형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 Int32형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 Int64형식의 벡터로 다시 해석합니다.

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

원본 벡터의 비트를 네이티브 크기의 정수 벡터로 다시 변환합니다.

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

지정된 벡터의 비트를 SByte형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 Single형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 UInt16형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 UInt32형식의 벡터로 다시 해석합니다.

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

지정된 벡터의 비트를 UInt64형식의 벡터로 다시 해석합니다.

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

원본 벡터의 비트를 네이티브 크기의 부호 없는 정수의 벡터로 다시 변환합니다.

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

지정된 벡터의 단일 요소 쌍이 같은지 여부를 나타내는 값을 반환합니다.

LeftShift(Vector<T>, Int32)

벡터의 각 요소를 지정된 양만큼 왼쪽으로 이동합니다.

Multiply(T, Vector<T>)

지정된 스칼라 값으로 벡터를 곱합니다.

Multiply(Vector<T>, T)

지정된 스칼라 값으로 벡터를 곱합니다.

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

값이 지정된 두 벡터의 각 요소 쌍의 곱인 새 벡터를 반환합니다.

OnesComplement(Vector<T>)

지정된 벡터 요소의 보수를 사용하여 요소를 가져오는 새 벡터를 반환합니다.

RightShift(Vector<T>, Int32)

지정된 양만큼 벡터의 각 요소를 오른쪽으로 이동(부호 있음)합니다.

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

첫 번째 벡터에서 두 번째 벡터를 뺍니다.

UnaryNegation(Vector<T>)

지정된 벡터를 부정합니다.

UnaryPlus(Vector<T>)

변경되지 않은 지정된 벡터를 반환합니다.

UnsignedRightShift(Vector<T>, Int32)

지정된 양만큼 벡터의 각 요소를 오른쪽으로 이동(서명되지 않음)합니다.

확장 메서드

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

Vector<T>Vector<T>재해석합니다.

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

지정된 인덱스에서 요소를 가져옵니다.

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

지정된 대상에 벡터를 저장합니다.

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

지정된 맞춤 대상에 벡터를 저장합니다.

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

지정된 맞춤 대상에 벡터를 저장합니다.

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

지정된 대상에 벡터를 저장합니다.

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

지정된 대상에 벡터를 저장합니다.

ToScalar<T>(Vector<T>)

지정된 벡터를 첫 번째 요소의 값을 포함하는 스칼라로 변환합니다.

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

지정된 인덱스 집합의 요소가 지정된 값으로 설정되고 나머지 요소가 지정된 벡터의 요소와 동일한 값으로 설정된 새 Vector<T> 만듭니다.

AsVector128<T>(Vector<T>)

Vector<T>Vector128<T>재해석합니다.

AsVector256<T>(Vector<T>)

Vector<T>Vector256<T>재해석합니다.

AsVector512<T>(Vector<T>)

Vector<T>Vector512<T>재해석합니다.

적용 대상