Table of Contents

Struct Vector3<TLane, TNumber>

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

Fields

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 Vector3<TLane, TNumber> One { get; }

Property Value

Vector3<TLane, TNumber>

Zero

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

Property Value

Vector3<TLane, TNumber>

Methods

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

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

Parameters

pDst TNumber*
mask Vector3<TLane, TNumber>

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

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

Parameters

dst TNumber
mask Vector3<TLane, TNumber>

Equals(Vector3<TLane, TNumber>)

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

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

Parameters

other Vector3<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*)

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

Parameters

px TNumber*
py TNumber*
pz TNumber*

Store(ref TNumber)

public void Store(ref TNumber dst)

Parameters

dst TNumber

Store(ref TNumber, ref TNumber, ref TNumber)

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

Parameters

x TNumber
y TNumber
z TNumber

Operators

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

left Vector3<TLane, TNumber>
right Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

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

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

Parameters

vector Vector3<TLane, TNumber>
lane TLane

Returns

Vector3<TLane, TNumber>

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

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

Parameters

lane TLane
vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>

operator -(in Vector3<TLane, TNumber>)

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

Parameters

vector Vector3<TLane, TNumber>

Returns

Vector3<TLane, TNumber>