21 lines
763 B
Text
21 lines
763 B
Text
/* NetRexx */
|
|
options replace format comments java crossref savelog symbols binary
|
|
|
|
whatsTheVectorVictor = [[double 1.0, 3.0, -5.0], [double 4.0, -2.0, -1.0]]
|
|
dotProduct = Rexx dotProduct(whatsTheVectorVictor)
|
|
say dotProduct.format(null, 2)
|
|
|
|
return
|
|
|
|
method dotProduct(vec1 = double[], vec2 = double[]) public constant returns double signals IllegalArgumentException
|
|
if vec1.length \= vec2.length then signal IllegalArgumentException('Vectors must be the same length')
|
|
|
|
scalarProduct = double 0.0
|
|
loop e_ = 0 to vec1.length - 1
|
|
scalarProduct = vec1[e_] * vec2[e_] + scalarProduct
|
|
end e_
|
|
|
|
return scalarProduct
|
|
|
|
method dotProduct(vecs = double[,]) public constant returns double signals IllegalArgumentException
|
|
return dotProduct(vecs[0], vecs[1])
|