From d5b5423522a1753b99dacd0597d8a929f37e5646 Mon Sep 17 00:00:00 2001 From: George Dittmar Date: Mon, 8 Jun 2015 21:33:36 -0700 Subject: [PATCH] Fixing code style and updating if logic on when to check for zero values --- .../org/apache/spark/mllib/linalg/Vectors.scala | 6 ++---- .../apache/spark/mllib/linalg/VectorsSuite.scala | 14 +++++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala b/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala index f5cf732506181..ab57a7bf0aa6a 100644 --- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala +++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala @@ -736,11 +736,9 @@ class SparseVector( } // look for inactive values in case all active node values are negative - if(size != values.size && maxValue <= 0){ + if (size != values.size && maxValue <= 0){ val firstInactiveIdx = calcFirstInactiveIdx(0) - if(maxValue == 0){ - if(firstInactiveIdx >= maxIdx) maxIdx else maxIdx = firstInactiveIdx - }else{ + if (!(maxValue == 0 && firstInactiveIdx >= maxIdx)){ maxIdx = firstInactiveIdx } maxValue = 0 diff --git a/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala b/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala index 7ba423fc5582e..eee4f69ca8ba9 100644 --- a/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala +++ b/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala @@ -91,22 +91,26 @@ class VectorsSuite extends FunSuite { val max = vec2.argmax assert(max === 3) - val vec3 = Vectors.sparse(5,Array(2, 4),Array(1.0,-.7)) + val vec3 = Vectors.sparse(5,Array(2, 3, 4),Array(1.0, 0.0, -.7)) val max2 = vec3.argmax assert(max2 === 2) // check for case that sparse vector is created with only negative values {0.0, 0.0,-1.0, -0.7, 0.0} - val vec4 = Vectors.sparse(5,Array(2, 3),Array(-1.0,-.7)) + val vec4 = Vectors.sparse(5,Array(2, 3),Array(-1.0, -.7)) val max3 = vec4.argmax assert(max3 === 0) - val vec5 = Vectors.sparse(11,Array(0, 3, 10),Array(-1.0,-.7,0.0)) + val vec5 = Vectors.sparse(11,Array(0, 3, 10),Array(-1.0, -.7, 0.0)) val max4 = vec5.argmax assert(max4 === 1) - val vec6 = Vectors.sparse(5,Array(0, 1, 3),Array(-1.0, 0.0, -.7)) + val vec6 = Vectors.sparse(11,Array(0, 1, 2),Array(-1.0, -.7, 0.0)) val max5 = vec6.argmax - assert(max5 === 1) + assert(max5 === 2) + + val vec7 = Vectors.sparse(5,Array(0, 1, 3),Array(-1.0, 0.0, -.7)) + val max6 = vec7.argmax + assert(max6 === 1) var vec8 = Vectors.sparse(5,Array(1, 2),Array(0.0, -1.0)) val max7 = vec8.argmax