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

형식 매개 변수

T

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

상속
Vector<T>
구현

설명

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

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

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

생성자

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

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

Vector<T>(ReadOnlySpan<T>)

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

Vector<T>(Span<T>)

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

Vector<T>(T)

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

Vector<T>(T[], Int32)

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

Vector<T>(T[])

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

속성

Name Description
AllBitsSet

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

Count

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

Indices

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

IsSupported

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

Item[Int32]

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

One

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

Zero

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

메서드

Name Description
CopyTo(Span<Byte>)

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

CopyTo(Span<T>)

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

CopyTo(T[], Int32)

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

CopyTo(T[])

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

Equals(Object)

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

Equals(Vector<T>)

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

GetHashCode()

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

ToString()

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

ToString(String, IFormatProvider)

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

ToString(String)

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

TryCopyTo(Span<Byte>)

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

TryCopyTo(Span<T>)

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

연산자

Name Description
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)

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

확장 속성

Name Description
E

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

Epsilon

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

NaN

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

NegativeInfinity

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

NegativeOne

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

NegativeZero

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

Pi

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

PositiveInfinity

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

Tau

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

확장명 메서드

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

를 새로 Vector<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> 합니다.

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

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

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

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

ToScalar<T>(Vector<T>)

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

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

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

적용 대상