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}}==