Merge: src: fix null receiver error on useless-signature warning
[nit.git] / examples / rosettacode / dot_product.nit
1 #!/usr/bin/env nit
2 #
3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # This program is public domain
5
6 # Task: Dot product
7 # SEE: <http://rosettacode.org/wiki/Dot_product>
8
9 fun dot_product(v1: Array[Float], v2: Array[Float]): nullable Float
10 do
11 if v1.length != v2.length then return null
12 var sum = 0.0
13 for i in [0..(v1.length-1)] do
14 sum += v1[i] * v2[i]
15 end
16 return sum
17 end
18
19 var product = dot_product([1.0, 3.0, -5.0], [4.0, -2.0, -1.0])
20 if product != null then print product