
namespace XELF.Framework {

	public partial struct Quaternion {
		/// <summary>
		/// 符号反転
		/// </summary>
		public void Negate() {
			X = -X;
			Y = -Y;
			Z = -Z;
			W = -W;
		}
		/// <summary>
		/// 符号反転
		/// </summary>
		public static void Negate(ref Quaternion value, out Quaternion result) {
			result = new Quaternion(-value.X, -value.Y, -value.Z, -value.W);
		}
		/// <summary>
		/// 符号反転
		/// </summary>
		public static Quaternion Negate(ref Quaternion value) {
			return new Quaternion(-value.X, -value.Y, -value.Z, -value.W);
		}
		/// <summary>
		/// 符号反転
		/// </summary>
		public static Quaternion operator -(Quaternion value) {
			return new Quaternion(-value.X, -value.Y, -value.Z, -value.W);
		}
	}

}
