/// <summary> /// this + other /// </summary> /// <param name="other"></param> /// <returns></returns> public Vec6w Add(Vec6w other) => new Vec6w( SaturateCast.ToUInt16(Item0 + other.Item0), SaturateCast.ToUInt16(Item1 + other.Item1), SaturateCast.ToUInt16(Item2 + other.Item2), SaturateCast.ToUInt16(Item3 + other.Item3), SaturateCast.ToUInt16(Item4 + other.Item4), SaturateCast.ToUInt16(Item5 + other.Item5));
/// <summary> /// this - other /// </summary> /// <param name="other"></param> /// <returns></returns> public Vec6w Subtract(Vec6w other) => new Vec6w( SaturateCast.ToUInt16(Item0 - other.Item0), SaturateCast.ToUInt16(Item1 - other.Item1), SaturateCast.ToUInt16(Item2 - other.Item2), SaturateCast.ToUInt16(Item3 - other.Item3), SaturateCast.ToUInt16(Item4 - other.Item4), SaturateCast.ToUInt16(Item5 - other.Item5));
/// <summary> /// this * alpha /// </summary> /// <param name="alpha"></param> /// <returns></returns> public Vec6w Multiply(double alpha) => new Vec6w( SaturateCast.ToUInt16(Item0 * alpha), SaturateCast.ToUInt16(Item1 * alpha), SaturateCast.ToUInt16(Item2 * alpha), SaturateCast.ToUInt16(Item3 * alpha), SaturateCast.ToUInt16(Item4 * alpha), SaturateCast.ToUInt16(Item5 * alpha));
/// <summary> /// this / alpha /// </summary> /// <param name="alpha"></param> /// <returns></returns> public Vec6w Divide(double alpha) => new Vec6w( SaturateCast.ToUInt16(Item0 / alpha), SaturateCast.ToUInt16(Item1 / alpha), SaturateCast.ToUInt16(Item2 / alpha), SaturateCast.ToUInt16(Item3 / alpha), SaturateCast.ToUInt16(Item4 / alpha), SaturateCast.ToUInt16(Item5 / alpha));
/// <summary> /// this - other /// </summary> /// <param name="other"></param> /// <returns></returns> public Vec3w Subtract(Vec3w other) => new Vec3w( SaturateCast.ToUInt16(Item0 - other.Item0), SaturateCast.ToUInt16(Item1 - other.Item1), SaturateCast.ToUInt16(Item2 - other.Item2));
/// <summary> /// this + other /// </summary> /// <param name="other"></param> /// <returns></returns> public Vec3w Add(Vec3w other) => new Vec3w( SaturateCast.ToUInt16(Item0 + other.Item0), SaturateCast.ToUInt16(Item1 + other.Item1), SaturateCast.ToUInt16(Item2 + other.Item2));
/// <summary> /// this / alpha /// </summary> /// <param name="alpha"></param> /// <returns></returns> public Vec2w Divide(double alpha) => new Vec2w( SaturateCast.ToUInt16(Item0 / alpha), SaturateCast.ToUInt16(Item1 / alpha));
/// <summary> /// this * alpha /// </summary> /// <param name="alpha"></param> /// <returns></returns> public Vec2w Multiply(double alpha) => new Vec2w( SaturateCast.ToUInt16(Item0 * alpha), SaturateCast.ToUInt16(Item1 * alpha));
/// <summary> /// this + other /// </summary> /// <param name="other"></param> /// <returns></returns> public Vec2w Add(Vec2w other) => new Vec2w( SaturateCast.ToUInt16(Item0 + other.Item0), SaturateCast.ToUInt16(Item1 + other.Item1));