src\libraries\System.Private.CoreLib\src\System\Numerics\Quaternion.cs (21)
73readonly get => this.AsVector128().GetElement(index);
79this = this.AsVector128().WithElement(index, value).AsQuaternion();
95public static Quaternion operator +(Quaternion value1, Quaternion value2) => (value1.AsVector128() + value2.AsVector128()).AsQuaternion();
112public static bool operator ==(Quaternion value1, Quaternion value2) => value1.AsVector128() == value2.AsVector128();
132Vector128<float> left = value1.AsVector128();
133Vector128<float> right = value2.AsVector128();
149public static Quaternion operator *(Quaternion value1, float value2) => (value1.AsVector128() * value2).AsQuaternion();
158public static Quaternion operator -(Quaternion value1, Quaternion value2) => (value1.AsVector128() - value2.AsVector128()).AsQuaternion();
166public static Quaternion operator -(Quaternion value) => (-value.AsVector128()).AsQuaternion();
191return (value.AsVector128() * Vector128.Create(-1.0f, -1.0f, -1.0f, 1.0f)).AsQuaternion();
312public static float Dot(Quaternion quaternion1, Quaternion quaternion2) => Vector128.Dot(quaternion1.AsVector128(), quaternion2.AsVector128());
332(Conjugate(value).AsVector128() / lengthSquared),
344Vector128<float> q2 = quaternion2.AsVector128();
352Vector128<float> result = Vector128.MultiplyAddEstimate(quaternion1.AsVector128(), Vector128.Create(1.0f - amount), q2 * amount);
380public static Quaternion Normalize(Quaternion value) => (value.AsVector128() / value.Length()).AsQuaternion();
438public readonly bool Equals(Quaternion other) => this.AsVector128().Equals(other.AsVector128());