public static void Main()
Vector v1 = new Vector(2);
Vector v2 = new Vector(2);
float dotProduct = v1 * v2;
Vector scaledVector = 5 * v1;
Console.WriteLine("Done");
coord = new float[] { 0, 0};
public static Vector operator *(float scalar, Vector v)
Vector result = new Vector(v.dimension);
for (int i = 0; i < v.dimension; i++)
result.coord[i] = scalar * v.coord[i];
public static float operator *(Vector v1, Vector v2)
if (v1.dimension != v2.dimension)
throw new ArgumentException("Vectors need to have the same dimension");
for (int i = 0; i < v1.dimension; i++)
result += v1.coord[i] * v2.coord[i];