Table of Contents

Struct Vector4<TLane, TNumber>

Namespace
Misaki.HighPerformance.Mathematics.SPMD
Assembly
Misaki.HighPerformance.Mathematics.SPMD.dll
public struct Vector4<TLane, TNumber> : IEquatable<Vector4<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<Vector4<TLane, TNumber>>
Inherited Members

Fields

w

public TLane w

Field Value

TLane

x

public TLane x

Field Value

TLane

y

public TLane y

Field Value

TLane

z

public TLane z

Field Value

TLane

Properties

this[int]

public TLane this[int index] { get; }

Parameters

index int

Property Value

TLane

One

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

Property Value

Vector4<TLane, TNumber>

Zero

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

Property Value

Vector4<TLane, TNumber>

Methods

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

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

Parameters

pDst TNumber*
mask Vector4<TLane, TNumber>

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

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

Parameters

dst TNumber
mask Vector4<TLane, TNumber>

Equals(Vector4<TLane, TNumber>)

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

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

Parameters

other Vector4<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*, TNumber*, TNumber*)

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

Parameters

px TNumber*
py TNumber*
pz TNumber*
pw TNumber*

Store(ref TNumber)

public void Store(ref TNumber dst)

Parameters

dst TNumber

Store(ref TNumber, ref TNumber, ref TNumber, ref TNumber)

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

Parameters

x TNumber
y TNumber
z TNumber
w TNumber

Operators

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

left Vector4<TLane, TNumber>
right Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

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

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

Parameters

vector Vector4<TLane, TNumber>
lane TLane

Returns

Vector4<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>

operator -(in Vector4<TLane, TNumber>)

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

Parameters

vector Vector4<TLane, TNumber>

Returns

Vector4<TLane, TNumber>