
namespace XELF.Framework {

	public partial struct Vector2 {
		/// <summary>
		/// 乗算
		/// </summary>
		/// <param name="a"></param>
		/// <param name="scale"></param>
		/// <param name="result"></param>
		public static void Multiply(ref Vector2 a, float scale, out Vector2 result) {
			result = new Vector2(a.X * scale, a.Y * scale);
		}
	}

	public partial struct Vector3 {
		/// <summary>
		/// 乗算
		/// </summary>
		/// <param name="a"></param>
		/// <param name="scale"></param>
		/// <param name="result"></param>
		public static void Multiply(ref Vector3 a, float scale, out Vector3 result) {
			result = new Vector3(a.X * scale, a.Y * scale, a.Z * scale);
		}
	}

	public partial struct Vector4 {
		/// <summary>
		/// 乗算
		/// </summary>
		/// <param name="a"></param>
		/// <param name="scale"></param>
		/// <param name="result"></param>
		public static void Multiply(ref Vector4 a, float scale, out Vector4 result) {
			result = new Vector4(a.X * scale, a.Y * scale, a.Z * scale, a.W * scale);
		}
	}

}
