Merge pull request #491 from pwendell/java-vector
Adding Java-accessible methods to Vector.scala
This commit is contained in:
commit
8a0ca6f05c
|
@ -11,12 +11,16 @@ class Vector(val elements: Array[Double]) extends Serializable {
|
|||
return Vector(length, i => this(i) + other(i))
|
||||
}
|
||||
|
||||
def add(other: Vector) = this + other
|
||||
|
||||
def - (other: Vector): Vector = {
|
||||
if (length != other.length)
|
||||
throw new IllegalArgumentException("Vectors of different length")
|
||||
return Vector(length, i => this(i) - other(i))
|
||||
}
|
||||
|
||||
def subtract(other: Vector) = this - other
|
||||
|
||||
def dot(other: Vector): Double = {
|
||||
if (length != other.length)
|
||||
throw new IllegalArgumentException("Vectors of different length")
|
||||
|
@ -61,10 +65,16 @@ class Vector(val elements: Array[Double]) extends Serializable {
|
|||
this
|
||||
}
|
||||
|
||||
def addInPlace(other: Vector) = this +=other
|
||||
|
||||
def * (scale: Double): Vector = Vector(length, i => this(i) * scale)
|
||||
|
||||
def multiply (d: Double) = this * d
|
||||
|
||||
def / (d: Double): Vector = this * (1 / d)
|
||||
|
||||
def divide (d: Double) = this / d
|
||||
|
||||
def unary_- = this * -1
|
||||
|
||||
def sum = elements.reduceLeft(_ + _)
|
||||
|
|
Loading…
Reference in a new issue