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
TLaneTNumber
- 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
indexint
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
pDstTNumber*maskVector2<TLane, TNumber>
CompressStore(ref TNumber, Vector2<TLane, TNumber>)
public void CompressStore(ref TNumber dst, Vector2<TLane, TNumber> mask)
Parameters
dstTNumbermaskVector2<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
otherVector2<TLane, TNumber>An object to compare with this object.
Returns
Equals(object?)
Indicates whether this instance and a specified object are equal.
public override readonly bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current instance.
Returns
- bool
true if
objand 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
pDstTNumber*pIndicesint*maskTLane
MaskScatter(TNumber*, TLane, TLane)
public void MaskScatter(TNumber* pDst, TLane indices, TLane mask)
Parameters
pDstTNumber*indicesTLanemaskTLane
MaskScatter(ref TNumber, int*, TLane)
public void MaskScatter(ref TNumber dst, int* pIndices, TLane mask)
Parameters
dstTNumberpIndicesint*maskTLane
MaskScatter(ref TNumber, TLane, TLane)
public void MaskScatter(ref TNumber dst, TLane indices, TLane mask)
Parameters
dstTNumberindicesTLanemaskTLane
Scatter(TNumber*, int*)
public void Scatter(TNumber* pDst, int* pIndices)
Parameters
pDstTNumber*pIndicesint*
Scatter(TNumber*, TLane)
public void Scatter(TNumber* pDst, TLane indices)
Parameters
pDstTNumber*indicesTLane
Scatter(ref TNumber, int*)
public void Scatter(ref TNumber dst, int* pIndices)
Parameters
dstTNumberpIndicesint*
Scatter(ref TNumber, TLane)
public void Scatter(ref TNumber dst, TLane indices)
Parameters
dstTNumberindicesTLane
Store(TNumber*)
public void Store(TNumber* pDst)
Parameters
pDstTNumber*
Store(TNumber*, TNumber*)
public void Store(TNumber* px, TNumber* py)
Parameters
pxTNumber*pyTNumber*
Store(ref TNumber)
public void Store(ref TNumber dst)
Parameters
dstTNumber
Store(ref TNumber, ref TNumber)
public void Store(ref TNumber x, ref TNumber y)
Parameters
xTNumberyTNumber
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
Returns
- Vector2<TLane, TNumber>
operator +(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator +(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator +(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator +(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator /(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator /(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator /(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator /(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator ==(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator ==(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator ==(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator ==(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator >(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator >(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator >(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator >(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator >=(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator >=(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator >=(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator >=(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator !=(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator !=(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator !=(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator !=(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator <(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator <(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator <(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator <(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator <=(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator <=(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator <=(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator <=(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator *(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator *(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator *(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator *(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<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
Returns
- Vector2<TLane, TNumber>
operator -(in Vector2<TLane, TNumber>, TLane)
public static Vector2<TLane, TNumber> operator -(in Vector2<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector2<TLane, TNumber>laneTLane
Returns
- Vector2<TLane, TNumber>
operator -(TLane, in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator -(TLane lane, in Vector2<TLane, TNumber> vector)
Parameters
laneTLanevectorVector2<TLane, TNumber>
Returns
- Vector2<TLane, TNumber>
operator -(in Vector2<TLane, TNumber>)
public static Vector2<TLane, TNumber> operator -(in Vector2<TLane, TNumber> vector)
Parameters
vectorVector2<TLane, TNumber>
Returns
- Vector2<TLane, TNumber>