Table of Contents

Struct Vector2<TLane, TNumber>

Namespace
Misaki.HighPerformance.Mathematics.SPMD
Assembly
Misaki.HighPerformance.Mathematics.SPMD.dll
public struct Vector2<TLane, TNumber> : IEquatable<Vector2<TLane, TNumber>> where TLane : ISPMDLane<TLane, TNumber> where TNumber : unmanaged, INumber<TNumber>, IBinaryNumber<TNumber>, IMinMaxValue<TNumber>, IBitwiseOperators<TNumber, TNumber, TNumber>

Type Parameters

TLane
TNumber
Implements
IEquatable<Vector2<TLane, TNumber>>
Inherited Members

Fields

x

public TLane x

Field Value

TLane

y

public TLane y

Field Value

TLane

Properties

this[int]

public TLane this[int index] { get; }

Parameters

index int

Property Value

TLane

One

public static Vector2<TLane, TNumber> One { get; }

Property Value

Vector2<TLane, TNumber>

Zero

public static Vector2<TLane, TNumber> Zero { get; }

Property Value

Vector2<TLane, TNumber>

Methods

CompressStore(TNumber*, Vector2<TLane, TNumber>)

public void CompressStore(TNumber* pDst, Vector2<TLane, TNumber> mask)

Parameters

pDst TNumber*
mask Vector2<TLane, TNumber>

CompressStore(ref TNumber, Vector2<TLane, TNumber>)

public void CompressStore(ref TNumber dst, Vector2<TLane, TNumber> mask)

Parameters

dst TNumber
mask Vector2<TLane, TNumber>

Equals(Vector2<TLane, TNumber>)

Indicates whether the current object is equal to another object of the same type.

public readonly bool Equals(Vector2<TLane, TNumber> other)

Parameters

other Vector2<TLane, TNumber>

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override readonly bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

GetHashCode()

Returns the hash code for this instance.

public override readonly int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

MaskScatter(TNumber*, int*, TLane)

public void MaskScatter(TNumber* pDst, int* pIndices, TLane mask)

Parameters

pDst TNumber*
pIndices int*
mask TLane

MaskScatter(TNumber*, TLane, TLane)

public void MaskScatter(TNumber* pDst, TLane indices, TLane mask)

Parameters

pDst TNumber*
indices TLane
mask TLane

MaskScatter(ref TNumber, int*, TLane)

public void MaskScatter(ref TNumber dst, int* pIndices, TLane mask)

Parameters

dst TNumber
pIndices int*
mask TLane

MaskScatter(ref TNumber, TLane, TLane)

public void MaskScatter(ref TNumber dst, TLane indices, TLane mask)

Parameters

dst TNumber
indices TLane
mask TLane

Scatter(TNumber*, int*)

public void Scatter(TNumber* pDst, int* pIndices)

Parameters

pDst TNumber*
pIndices int*

Scatter(TNumber*, TLane)

public void Scatter(TNumber* pDst, TLane indices)

Parameters

pDst TNumber*
indices TLane

Scatter(ref TNumber, int*)

public void Scatter(ref TNumber dst, int* pIndices)

Parameters

dst TNumber
pIndices int*

Scatter(ref TNumber, TLane)

public void Scatter(ref TNumber dst, TLane indices)

Parameters

dst TNumber
indices TLane

Store(TNumber*)

public void Store(TNumber* pDst)

Parameters

pDst TNumber*

Store(TNumber*, TNumber*)

public void Store(TNumber* px, TNumber* py)

Parameters

px TNumber*
py TNumber*

Store(ref TNumber)

public void Store(ref TNumber dst)

Parameters

dst TNumber

Store(ref TNumber, ref TNumber)

public void Store(ref TNumber x, ref TNumber y)

Parameters

x TNumber
y TNumber

Operators

operator +(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator +(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator +(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator +(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator +(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator +(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator /(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator /(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator /(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator /(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator /(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator /(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator ==(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator ==(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator ==(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator ==(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator ==(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator ==(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator >(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator >(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator >(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator >(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator >(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator >(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator >=(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator >=(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator >=(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator >=(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator >=(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator >=(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator !=(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator !=(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator !=(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator !=(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator !=(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator !=(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator <(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator <(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator <(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator <(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator <(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator <(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator <=(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator <=(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator <=(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator <=(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator <=(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator <=(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator *(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator *(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator *(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator *(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator *(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator *(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator -(in Vector2<TLane, TNumber>, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator -(in Vector2<TLane, TNumber> left, in Vector2<TLane, TNumber> right)

Parameters

left Vector2<TLane, TNumber>
right Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator -(in Vector2<TLane, TNumber>, TLane)

public static Vector2<TLane, TNumber> operator -(in Vector2<TLane, TNumber> vector, TLane lane)

Parameters

vector Vector2<TLane, TNumber>
lane TLane

Returns

Vector2<TLane, TNumber>

operator -(TLane, in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator -(TLane lane, in Vector2<TLane, TNumber> vector)

Parameters

lane TLane
vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>

operator -(in Vector2<TLane, TNumber>)

public static Vector2<TLane, TNumber> operator -(in Vector2<TLane, TNumber> vector)

Parameters

vector Vector2<TLane, TNumber>

Returns

Vector2<TLane, TNumber>