From f51b0f93f20e23804b2f95edfb1d86b9c9cee493 Mon Sep 17 00:00:00 2001
From: Patrick Wendell <pwendell@gmail.com>
Date: Sat, 23 Feb 2013 13:26:59 -0800
Subject: [PATCH] Adding Java-accessible methods to Vector.scala

This is needed for the Strata machine learning tutorial (and
also is generally helpful).
---
 core/src/main/scala/spark/util/Vector.scala | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/core/src/main/scala/spark/util/Vector.scala b/core/src/main/scala/spark/util/Vector.scala
index 03559751bc..d03cebeea9 100644
--- a/core/src/main/scala/spark/util/Vector.scala
+++ b/core/src/main/scala/spark/util/Vector.scala
@@ -10,12 +10,14 @@ class Vector(val elements: Array[Double]) extends Serializable {
       throw new IllegalArgumentException("Vectors of different length")
     return Vector(length, i => this(i) + other(i))
   }
+  def add(other: Vector) = +(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) = -(other)
 
   def dot(other: Vector): Double = {
     if (length != other.length)
@@ -60,10 +62,13 @@ class Vector(val elements: Array[Double]) extends Serializable {
     }
     this
   }
+  def addInPlace(other: Vector) = +=(other)
 
   def * (scale: Double): Vector = Vector(length, i => this(i) * scale)
+  def multiply (d: Double) = *(d)
 
   def / (d: Double): Vector = this * (1 / d)
+  def divide (d: Double) = /(d)
 
   def unary_- = this * -1
 
-- 
GitLab