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

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

IsSupported

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

Item[Int32]

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

One

1을 모두 포함하는 벡터를 반환합니다.

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

지정된 벡터 요소에서 1의 보수를 가져와서 구한 요소가 포함된 새 벡터를 반환합니다.

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>로 재해석합니다.

적용 대상