Task

Create a function/use an in-built function, to compute the   dot product,   also known as the   scalar product   of two vectors.

If possible, make the vectors of arbitrary length.



As an example, compute the dot product of the vectors:

     [1,  3, -5]       and 
     [4, -2, -1]   


If implementing the dot product of two vectors directly:

   each vector must be the same length
   multiply corresponding terms from each vector
   sum the products   (to produce the answer)


Related task

   Vector products


class
	APPLICATION
 
create
	make
 
feature {NONE} -- Initialization
 
	make
			-- Run application.
		do
			print(dot_product(<<1, 3, -5>>, <<4, -2, -1>>).out)
		end
 
feature -- Access
 
	dot_product (a, b: ARRAY[INTEGER]): INTEGER
			-- Dot product of vectors `a' and `b'.
		require
			a.lower = b.lower
			a.upper = b.upper
		local
			i: INTEGER
		do
			from
				i := a.lower
			until
				i > a.upper
			loop
				Result := Result + a[i] * b[i]
				i := i + 1
			end
		end
end