diff --git a/examples/src/main/scala/spark/examples/Vector.scala b/core/src/main/scala/spark/util/Vector.scala similarity index 95% rename from examples/src/main/scala/spark/examples/Vector.scala rename to core/src/main/scala/spark/util/Vector.scala index 2abccbafce66f9c819007082bfaece50fd1b7f51..e5604687e926eddd38762c4b76d604d0fce81b0f 100644 --- a/examples/src/main/scala/spark/examples/Vector.scala +++ b/core/src/main/scala/spark/util/Vector.scala @@ -1,8 +1,8 @@ -package spark.examples +package spark.util class Vector(val elements: Array[Double]) extends Serializable { def length = elements.length - + def apply(index: Int) = elements(index) def + (other: Vector): Vector = { @@ -29,12 +29,13 @@ class Vector(val elements: Array[Double]) extends Serializable { return ans } + def * (scale: Double): Vector = Vector(length, i => this(i) * scale) def * (scale: Double): Vector = Vector(length, i => this(i) * scale) def / (d: Double): Vector = this * (1 / d) def unary_- = this * -1 - + def sum = elements.reduceLeft(_ + _) def squaredDist(other: Vector): Double = { @@ -76,6 +77,8 @@ object Vector { implicit object VectorAccumParam extends spark.AccumulatorParam[Vector] { def addInPlace(t1: Vector, t2: Vector) = t1 + t2 + def zero(initialValue: Vector) = Vector.zeros(initialValue.length) } + } diff --git a/examples/src/main/scala/spark/examples/LocalFileLR.scala b/examples/src/main/scala/spark/examples/LocalFileLR.scala index b819fe80fefa3e8ac19609c6af038cc9cd2dea7e..f958ef9f72f5679cb6bad934c9060d50df038ed4 100644 --- a/examples/src/main/scala/spark/examples/LocalFileLR.scala +++ b/examples/src/main/scala/spark/examples/LocalFileLR.scala @@ -1,7 +1,7 @@ package spark.examples import java.util.Random -import Vector._ +import spark.util.Vector object LocalFileLR { val D = 10 // Numer of dimensions diff --git a/examples/src/main/scala/spark/examples/LocalKMeans.scala b/examples/src/main/scala/spark/examples/LocalKMeans.scala index 7e8e7a69597eb919dce4cb653fc5ee35afefe1ec..b442c604cdd2c975a2b535768d5ba382004190c6 100644 --- a/examples/src/main/scala/spark/examples/LocalKMeans.scala +++ b/examples/src/main/scala/spark/examples/LocalKMeans.scala @@ -1,8 +1,7 @@ package spark.examples import java.util.Random -import Vector._ -import spark.SparkContext +import spark.util.Vector import spark.SparkContext._ import scala.collection.mutable.HashMap import scala.collection.mutable.HashSet diff --git a/examples/src/main/scala/spark/examples/LocalLR.scala b/examples/src/main/scala/spark/examples/LocalLR.scala index 72c50091095f7448e552397aa08ad1760c822eaa..f2ac2b3e06dcea18ea374a098355d989cb976bd3 100644 --- a/examples/src/main/scala/spark/examples/LocalLR.scala +++ b/examples/src/main/scala/spark/examples/LocalLR.scala @@ -1,7 +1,7 @@ package spark.examples import java.util.Random -import Vector._ +import spark.util.Vector object LocalLR { val N = 10000 // Number of data points diff --git a/examples/src/main/scala/spark/examples/SparkHdfsLR.scala b/examples/src/main/scala/spark/examples/SparkHdfsLR.scala index 13b6ec1d3f140e62d5b377af80565dd2efe4f041..5b2bc84d6900fa8099ef065091935bb7ef20f15d 100644 --- a/examples/src/main/scala/spark/examples/SparkHdfsLR.scala +++ b/examples/src/main/scala/spark/examples/SparkHdfsLR.scala @@ -2,7 +2,7 @@ package spark.examples import java.util.Random import scala.math.exp -import Vector._ +import spark.util.Vector import spark._ object SparkHdfsLR { diff --git a/examples/src/main/scala/spark/examples/SparkKMeans.scala b/examples/src/main/scala/spark/examples/SparkKMeans.scala index 5eb1c95a16a0b544e422c50dd75d95ae7288b1b9..adce551322d8212d039ce02a911a0106ecf3c48e 100644 --- a/examples/src/main/scala/spark/examples/SparkKMeans.scala +++ b/examples/src/main/scala/spark/examples/SparkKMeans.scala @@ -1,8 +1,8 @@ package spark.examples import java.util.Random -import Vector._ import spark.SparkContext +import spark.util.Vector import spark.SparkContext._ import scala.collection.mutable.HashMap import scala.collection.mutable.HashSet diff --git a/examples/src/main/scala/spark/examples/SparkLR.scala b/examples/src/main/scala/spark/examples/SparkLR.scala index 7715e5a7139c21c89d650149e4b1c2e88946b3af..19123db7387dba19cf52d4f1eab51103304718bf 100644 --- a/examples/src/main/scala/spark/examples/SparkLR.scala +++ b/examples/src/main/scala/spark/examples/SparkLR.scala @@ -2,7 +2,7 @@ package spark.examples import java.util.Random import scala.math.exp -import Vector._ +import spark.util.Vector import spark._ object SparkLR {