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
TLaneTNumber
- 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
indexint
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
pDstTNumber*maskVector4<TLane, TNumber>
CompressStore(ref TNumber, Vector4<TLane, TNumber>)
public void CompressStore(ref TNumber dst, Vector4<TLane, TNumber> mask)
Parameters
dstTNumbermaskVector4<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
otherVector4<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*, TNumber*, TNumber*)
public void Store(TNumber* px, TNumber* py, TNumber* pz, TNumber* pw)
Parameters
pxTNumber*pyTNumber*pzTNumber*pwTNumber*
Store(ref TNumber)
public void Store(ref TNumber dst)
Parameters
dstTNumber
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
xTNumberyTNumberzTNumberwTNumber
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
Returns
- Vector4<TLane, TNumber>
operator +(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator +(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator +(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator +(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator /(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator /(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator /(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator /(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator ==(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator ==(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator ==(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator ==(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator >(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator >(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator >(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator >(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator >=(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator >=(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator >=(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator >=(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator !=(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator !=(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator !=(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator !=(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator <(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator <(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator <(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator <(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator <=(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator <=(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator <=(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator <=(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator *(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator *(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator *(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator *(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<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
Returns
- Vector4<TLane, TNumber>
operator -(in Vector4<TLane, TNumber>, TLane)
public static Vector4<TLane, TNumber> operator -(in Vector4<TLane, TNumber> vector, TLane lane)
Parameters
vectorVector4<TLane, TNumber>laneTLane
Returns
- Vector4<TLane, TNumber>
operator -(TLane, in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator -(TLane lane, in Vector4<TLane, TNumber> vector)
Parameters
laneTLanevectorVector4<TLane, TNumber>
Returns
- Vector4<TLane, TNumber>
operator -(in Vector4<TLane, TNumber>)
public static Vector4<TLane, TNumber> operator -(in Vector4<TLane, TNumber> vector)
Parameters
vectorVector4<TLane, TNumber>
Returns
- Vector4<TLane, TNumber>