Dot product: Difference between revisions
Content added Content deleted
(Added Scala) |
|||
Line 358: | Line 358: | ||
p [1, 3, -5].dot_product [4, -2, -1] # => 3</lang> |
p [1, 3, -5].dot_product [4, -2, -1] # => 3</lang> |
||
=={{header|Scala}}== |
|||
{{works with|Scala|2.8}} |
|||
<lang scala>class Dot[T](v1: Seq[T])(implicit n: Numeric[T]) { |
|||
import n._ |
|||
def dot(v2: Seq[T]) = { |
|||
require(v1.length == v2.length) |
|||
v1 zip v2 map Function.tupled(_*_) sum |
|||
} |
|||
} |
|||
implicit def toDot[T : Numeric](v1: Seq[T]) = new Dot(v1) |
|||
val v1 = List(1, 3, -5) |
|||
val v2 = List(4, -2, -1) |
|||
println(v1 dot v2)</lang> |
|||
=={{header|Scheme}}== |
=={{header|Scheme}}== |