示例#1
0
 public static void Length(ref Vector2Wide v, out Vector <float> length)
 {
     length = Vector.SquareRoot(v.X * v.X + v.Y * v.Y);
 }
示例#2
0
 public static void Scale(ref Vector2Wide vector, ref Vector <float> scalar, out Vector2Wide result)
 {
     result.X = vector.X * scalar;
     result.Y = vector.Y * scalar;
 }
示例#3
0
 public static void Negate(ref Vector2Wide v, out Vector2Wide result)
 {
     result.X = -v.X;
     result.Y = -v.Y;
 }
示例#4
0
 public static void Subtract(ref Vector2Wide a, ref Vector2Wide b, out Vector2Wide result)
 {
     result.X = a.X - b.X;
     result.Y = a.Y - b.Y;
 }
示例#5
0
 public static void Dot(ref Vector2Wide a, ref Vector2Wide b, out Vector <float> result)
 {
     result = a.X * b.X + a.Y * b.Y;
 }
示例#6
0
 public static void TransformBySymmetricWithoutOverlap(ref Vector2Wide v, ref Triangular2x2Wide m, out Vector2Wide result)
 {
     result.X = v.X * m.M11 + v.Y * m.M21;
     result.Y = v.X * m.M21 + v.Y * m.M22;
 }
示例#7
0
 public static void Add(ref Vector2Wide a, ref Vector2Wide b, out Vector2Wide result)
 {
     result.X = a.X + b.X;
     result.Y = a.Y + b.Y;
 }
示例#8
0
 public static void TransformByTransposeWithoutOverlap(ref Vector3Wide v, ref Matrix2x3Wide m, out Vector2Wide result)
 {
     result.X = v.X * m.X.X + v.Y * m.X.Y + v.Z * m.X.Z;
     result.Y = v.X * m.Y.X + v.Y * m.Y.Y + v.Z * m.Y.Z;
 }
示例#9
0
 public static void Transform(ref Vector2Wide v, ref Matrix2x3Wide m, out Vector3Wide result)
 {
     result.X = v.X * m.X.X + v.Y * m.Y.X;
     result.Y = v.X * m.X.Y + v.Y * m.Y.Y;
     result.Z = v.X * m.X.Z + v.Y * m.Y.Z;
 }
示例#10
0
 public static void Subtract(ref Matrix2x2Wide a, ref Matrix2x2Wide b, out Matrix2x2Wide result)
 {
     Vector2Wide.Subtract(ref a.X, ref b.X, out result.X);
     Vector2Wide.Subtract(ref a.Y, ref b.Y, out result.Y);
 }
示例#11
0
 public static void Transform(ref Vector2Wide v, ref Matrix2x2Wide m, out Vector2Wide result)
 {
     TransformWithoutOverlap(ref v, ref m, out var temp);
     result = temp;
 }
示例#12
0
 public static void TransformWithoutOverlap(ref Vector2Wide v, ref Matrix2x2Wide m, out Vector2Wide result)
 {
     result.X = v.X * m.X.X + v.Y * m.Y.X;
     result.Y = v.X * m.X.Y + v.Y * m.Y.Y;
 }