You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by de...@apache.org on 2016/11/14 23:28:38 UTC

[5/5] incubator-systemml git commit: [SYSTEMML-842] Javadoc cleanup in runtime compress and controlprogram packages

[SYSTEMML-842] Javadoc cleanup in runtime compress and controlprogram packages

Remove blank comments.
Fix broken comments.


Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/56e45f1a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/56e45f1a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/56e45f1a

Branch: refs/heads/master
Commit: 56e45f1a2751dc79f0601be20859c4fce141e87f
Parents: ef37de6
Author: Deron Eriksson <de...@us.ibm.com>
Authored: Mon Nov 14 14:57:08 2016 -0800
Committer: Deron Eriksson <de...@us.ibm.com>
Committed: Mon Nov 14 14:57:09 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/sysml/api/MLMatrix.java     |   5 +-
 .../sysml/runtime/DMLScriptException.java       |   2 +-
 .../runtime/compress/BitmapDecoderOLE.java      |   4 +-
 .../runtime/compress/BitmapDecoderRLE.java      |   4 +-
 .../sysml/runtime/compress/BitmapEncoder.java   |  34 +-
 .../apache/sysml/runtime/compress/ColGroup.java |  65 ++-
 .../sysml/runtime/compress/ColGroupBitmap.java  |  90 +--
 .../sysml/runtime/compress/ColGroupOLE.java     |  48 +-
 .../sysml/runtime/compress/ColGroupRLE.java     |  42 +-
 .../runtime/compress/ColGroupUncompressed.java  |   5 +-
 .../runtime/compress/CompressedMatrixBlock.java | 176 ++----
 .../runtime/compress/PlanningBinPacker.java     |  24 +-
 .../sysml/runtime/compress/PlanningCoCoder.java |  63 +-
 .../runtime/compress/PlanningCoCodingGroup.java |   5 +
 .../runtime/compress/ReaderColumnSelection.java |   6 +-
 .../compress/ReaderColumnSelectionDense.java    |   4 -
 .../ReaderColumnSelectionDenseSample.java       |   4 -
 .../compress/ReaderColumnSelectionSparse.java   |   4 -
 .../runtime/compress/UncompressedBitmap.java    |  12 +-
 .../compress/estim/CompressedSizeEstimator.java |  39 +-
 .../estim/CompressedSizeEstimatorSample.java    | 112 +---
 .../compress/estim/SizeEstimatorFactory.java    |   8 +-
 .../runtime/compress/utils/ConverterUtils.java  |  18 +-
 .../sysml/runtime/compress/utils/DblArray.java  |  10 -
 .../compress/utils/DblArrayIntListHashMap.java  |  37 +-
 .../compress/utils/DoubleIntListHashMap.java    |  37 +-
 .../runtime/compress/utils/IntArrayList.java    |  17 +-
 .../compress/utils/LinearAlgebraUtils.java      | 108 +---
 .../ExternalFunctionProgramBlock.java           |  96 ++-
 .../ExternalFunctionProgramBlockCP.java         |  11 +-
 .../runtime/controlprogram/ForProgramBlock.java |   8 -
 .../controlprogram/FunctionProgramBlock.java    |   6 +-
 .../runtime/controlprogram/IfProgramBlock.java  |   8 +-
 .../controlprogram/LocalVariableMap.java        |  62 +-
 .../controlprogram/ParForProgramBlock.java      | 248 ++------
 .../sysml/runtime/controlprogram/Program.java   |  28 +-
 .../runtime/controlprogram/ProgramBlock.java    |  67 +--
 .../controlprogram/caching/ByteBuffer.java      |  40 +-
 .../controlprogram/caching/CacheBlock.java      |  39 +-
 .../caching/CacheBlockFactory.java              |  19 +-
 .../controlprogram/caching/CacheDataInput.java  |  16 +-
 .../controlprogram/caching/CacheDataOutput.java |  24 +-
 .../controlprogram/caching/CacheableData.java   | 271 ++-------
 .../controlprogram/caching/FrameObject.java     |  46 +-
 .../controlprogram/caching/LazyWriteBuffer.java |  47 +-
 .../controlprogram/caching/MatrixObject.java    |  97 +---
 .../controlprogram/caching/PageCache.java       |  27 +-
 .../context/ExecutionContext.java               | 119 ++--
 .../context/ExecutionContextFactory.java        |  12 +-
 .../context/SparkExecutionContext.java          | 333 +++--------
 .../controlprogram/parfor/DataPartitioner.java  |  49 +-
 .../parfor/DataPartitionerLocal.java            |  85 +--
 .../parfor/DataPartitionerRemoteMapper.java     |  18 +-
 .../parfor/DataPartitionerRemoteReducer.java    |   8 +-
 .../parfor/DataPartitionerRemoteSpark.java      |  11 +-
 .../DataPartitionerRemoteSparkReducer.java      |   3 -
 .../controlprogram/parfor/LocalTaskQueue.java   |  12 +-
 .../controlprogram/parfor/ParWorker.java        |  39 +-
 .../controlprogram/parfor/ProgramConverter.java | 482 +++-------------
 .../controlprogram/parfor/RemoteDPParForMR.java |  24 +-
 .../parfor/RemoteDPParForSpark.java             |  15 +-
 .../parfor/RemoteDPParForSparkWorker.java       |  30 +-
 .../parfor/RemoteDPParWorkerReducer.java        |  35 +-
 .../parfor/RemoteParForColocatedFileSplit.java  |  13 +-
 .../parfor/RemoteParForJobReturn.java           |  28 +-
 .../controlprogram/parfor/RemoteParForMR.java   |  24 +-
 .../parfor/RemoteParForSpark.java               |  13 +-
 .../parfor/RemoteParForSparkWorker.java         |  12 +-
 .../parfor/RemoteParForUtils.java               |  54 +-
 .../parfor/RemoteParWorkerMapper.java           |  11 +-
 .../controlprogram/parfor/ResultMerge.java      |  25 +-
 .../parfor/ResultMergeLocalAutomatic.java       |   3 -
 .../parfor/ResultMergeLocalFile.java            | 151 +----
 .../parfor/ResultMergeLocalMemory.java          |  23 +-
 .../parfor/ResultMergeRemoteMR.java             |  15 +-
 .../parfor/ResultMergeRemoteMapper.java         |   5 +-
 .../parfor/ResultMergeRemoteReducer.java        |   8 +-
 .../parfor/ResultMergeRemoteSpark.java          |  24 +-
 .../parfor/ResultMergeRemoteSparkWCompare.java  |   3 -
 .../runtime/controlprogram/parfor/Task.java     |  31 +-
 .../controlprogram/parfor/TaskPartitioner.java  |  13 +-
 .../parfor/TaskPartitionerFactoring.java        |   5 +-
 .../parfor/TaskPartitionerFactoringCmax.java    |   2 +-
 .../parfor/mqo/MergedMRJobInstruction.java      |   8 +-
 .../parfor/mqo/PiggybackingWorker.java          |  31 +-
 .../PiggybackingWorkerUtilDecayParallel.java    |   7 +-
 .../mqo/PiggybackingWorkerUtilTimeParallel.java |   5 -
 .../parfor/mqo/RuntimePiggybacking.java         |  54 +-
 .../parfor/mqo/RuntimePiggybackingUtils.java    |   4 +-
 .../parfor/opt/CostEstimator.java               |  97 +---
 .../parfor/opt/CostEstimatorHops.java           |   4 -
 .../parfor/opt/CostEstimatorRuntime.java        |  74 +--
 .../controlprogram/parfor/opt/CostFunction.java |  31 +-
 .../controlprogram/parfor/opt/MemoTable.java    |  44 +-
 .../parfor/opt/MemoTableEntry.java              |   4 -
 .../controlprogram/parfor/opt/OptNode.java      | 129 +----
 .../controlprogram/parfor/opt/OptTree.java      |   4 +-
 .../parfor/opt/OptTreeConverter.java            | 144 +----
 .../parfor/opt/OptTreePlanChecker.java          |  65 +--
 .../parfor/opt/OptTreePlanMapping.java          |  19 +-
 .../parfor/opt/OptimizationWrapper.java         |  70 +--
 .../controlprogram/parfor/opt/Optimizer.java    |  48 +-
 .../parfor/opt/OptimizerConstrained.java        |  60 +-
 .../parfor/opt/OptimizerRuleBased.java          | 577 +++----------------
 .../parfor/opt/PerfTestMemoryObserver.java      |  28 +-
 .../controlprogram/parfor/opt/PerfTestTool.java | 307 ++--------
 .../parfor/opt/ProgramRecompiler.java           | 118 +---
 .../parfor/stat/InfrastructureAnalyzer.java     | 103 +---
 .../parfor/stat/StatisticMonitor.java           |  18 +-
 .../controlprogram/parfor/stat/Timing.java      |   2 +-
 .../controlprogram/parfor/util/IDHandler.java   |  44 +-
 .../parfor/util/StagingFileUtils.java           |  16 +-
 112 files changed, 1199 insertions(+), 4797 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/api/MLMatrix.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/api/MLMatrix.java b/src/main/java/org/apache/sysml/api/MLMatrix.java
index ac6ad16..b91d09b 100644
--- a/src/main/java/org/apache/sysml/api/MLMatrix.java
+++ b/src/main/java/org/apache/sysml/api/MLMatrix.java
@@ -31,9 +31,6 @@ import org.apache.spark.sql.SQLContext;
 import org.apache.spark.sql.SQLContext.QueryExecution;
 import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan;
 import org.apache.spark.sql.types.StructType;
-
-import scala.Tuple2;
-
 import org.apache.sysml.hops.OptimizerUtils;
 import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.instructions.spark.functions.GetMIMBFromRow;
@@ -42,6 +39,8 @@ import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.data.MatrixIndexes;
 
+import scala.Tuple2;
+
 /**
  * Experimental API: Might be discontinued in future release
  * 

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/DMLScriptException.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/DMLScriptException.java b/src/main/java/org/apache/sysml/runtime/DMLScriptException.java
index f49ccb9..38785e3 100644
--- a/src/main/java/org/apache/sysml/runtime/DMLScriptException.java
+++ b/src/main/java/org/apache/sysml/runtime/DMLScriptException.java
@@ -40,7 +40,7 @@ public class DMLScriptException extends DMLRuntimeException
 	/**
 	 * This is the only valid constructor for DMLScriptException.
 	 * 
-	 * @param string
+	 * @param msg message
 	 */
 	public DMLScriptException(String msg) {
 		super(msg);

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderOLE.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderOLE.java b/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderOLE.java
index 539d1f5..3dc8462 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderOLE.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderOLE.java
@@ -48,11 +48,13 @@ public final class BitmapDecoderOLE implements Iterator<Integer>
 
 	/**
 	 * Point this object at the beginning of a particular bitmap. After a call
-	 * to this method, the next call to {@link #nextOffset()} will return the
+	 * to this method, the next call to {@link #next()} will return the
 	 * offset of the first bit in the specified bitmap.
 	 * 
 	 * @param bmPtr
 	 *            pointer to a compressed bitmap
+	 * @param off offset
+	 * @param len length
 	 */
 	public BitmapDecoderOLE(char[] bmPtr, int off, int len) {
 		_bmOff = off;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderRLE.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderRLE.java b/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderRLE.java
index f2e05a4..d599c9e 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderRLE.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/BitmapDecoderRLE.java
@@ -47,11 +47,13 @@ public final class BitmapDecoderRLE implements Iterator<Integer>
 
 	/**
 	 * Point this object at the beginning of a particular bitmap. After a call
-	 * to this method, the next call to {@link #nextOffset()} will return the
+	 * to this method, the next call to {@link #next()} will return the
 	 * offset of the first bit in the specified bitmap.
 	 * 
 	 * @param bmPtr
 	 *            pointer to a compressed bitmap
+	 * @param off offset
+	 * @param len length
 	 */
 	public BitmapDecoderRLE(char[] bmPtr, int off, int len) {
 		_bmOff = off;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java b/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
index 75ddf9a..7fd2c69 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
@@ -22,7 +22,6 @@ package org.apache.sysml.runtime.compress;
 import java.util.ArrayList;
 import java.util.Arrays;
 
-import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.compress.utils.DblArray;
 import org.apache.sysml.runtime.compress.utils.DblArrayIntListHashMap;
 import org.apache.sysml.runtime.compress.utils.DoubleIntListHashMap;
@@ -49,7 +48,6 @@ public class BitmapEncoder
 	 * @param rawblock
 	 *            an uncompressed matrix block; can be dense or sparse
 	 * @return uncompressed bitmap representation of the columns
-	 * @throws DMLRuntimeException 
 	 */
 	public static UncompressedBitmap extractBitmap(int[] colIndices, MatrixBlock rawblock) 
 	{
@@ -73,13 +71,6 @@ public class BitmapEncoder
 		}
 	}
 
-	/**
-	 * 
-	 * @param colIndices
-	 * @param rawblock
-	 * @param sampleIndexes
-	 * @return
-	 */
 	public static UncompressedBitmap extractBitmapFromSample(int[] colIndices,
 			MatrixBlock rawblock, int[] sampleIndexes) 
 	{
@@ -248,13 +239,6 @@ public class BitmapEncoder
 		return encodedBlocks;
 	}
 
-	/**
-	 * 
-	 * @param colIndex
-	 * @param rawblock
-	 * @return
-	 * @throws DMLRuntimeException 
-	 */
 	private static UncompressedBitmap extractBitmap(int colIndex, MatrixBlock rawblock, boolean skipZeros) 
 	{
 		//probe map for distinct items (for value or value groups)
@@ -327,14 +311,7 @@ public class BitmapEncoder
 		
 		return new UncompressedBitmap(distinctVals);
 	}
-	
-	/**
-	 * 
-	 * @param colIndex
-	 * @param rawblock
-	 * @param sampleIndexes
-	 * @return
-	 */
+
 	private static UncompressedBitmap extractBitmap(int colIndex, MatrixBlock rawblock, int[] sampleIndexes, boolean skipZeros) 
 	{
 		//note: general case only because anyway binary search for small samples
@@ -361,14 +338,7 @@ public class BitmapEncoder
 
 		return new UncompressedBitmap(distinctVals);
 	}
-	
-	/**
-	 * 
-	 * @param colIndices
-	 * @param rawblock
-	 * @param rowReader
-	 * @return
-	 */
+
 	private static UncompressedBitmap extractBitmap(int[] colIndices,
 			MatrixBlock rawblock, ReaderColumnSelection rowReader) 
 	{

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ColGroup.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroup.java b/src/main/java/org/apache/sysml/runtime/compress/ColGroup.java
index a79f660..586690c 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroup.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroup.java
@@ -61,6 +61,7 @@ public abstract class ColGroup implements Serializable
 	/**
 	 * Main constructor.
 	 * 
+	 * @param type compression type
 	 * @param colIndices
 	 *            offsets of the columns in the matrix block that make up the
 	 *            group
@@ -73,7 +74,13 @@ public abstract class ColGroup implements Serializable
 		_numRows = numRows;
 	}
 
-	/** Convenience constructor for converting indices to a more compact format. */
+	/**
+	 * Convenience constructor for converting indices to a more compact format.
+	 * 
+	 * @param type compression type
+	 * @param colIndicesList list of column indices
+	 * @param numRows total number of rows in the parent block
+	 */
 	protected ColGroup(CompressionType type, List<Integer> colIndicesList, int numRows) {
 		_compType = type;
 		_colIndexes = new int[colIndicesList.size()];
@@ -83,6 +90,8 @@ public abstract class ColGroup implements Serializable
 	}
 
 	/**
+	 * Obtain the offsets of the columns in the matrix block that make up the group
+	 * 
 	 * @return offsets of the columns in the matrix block that make up the group
 	 */
 	public int[] getColIndices() {
@@ -90,10 +99,10 @@ public abstract class ColGroup implements Serializable
 	}
 
 	/**
-	 * @param col
-	 *            an index from 0 to the number of columns in this group - 1
-	 * @return offset of the specified column in the matrix block that make up
-	 *         the group
+	 * Obtain a column index value.
+	 * 
+	 * @param colNum column number
+	 * @return column index value
 	 */
 	public int getColIndex(int colNum) {
 		return _colIndexes[colNum];
@@ -104,6 +113,8 @@ public abstract class ColGroup implements Serializable
 	}
 	
 	/**
+	 * Obtain the number of columns in this column group.
+	 * 
 	 * @return number of columns in this column group
 	 */
 	public int getNumCols() {
@@ -111,16 +122,14 @@ public abstract class ColGroup implements Serializable
 	}
 
 	/**
+	 * Obtain the compression type.
+	 * 
 	 * @return How the elements of the column group are compressed.
 	 */
 	public CompressionType getCompType() {
 		return _compType;
 	}
 
-	/**
-	 * 
-	 * @param offset
-	 */
 	public void shiftColIndices(int offset)  {
 		for( int i=0; i<_colIndexes.length; i++ )
 			_colIndexes[i] += offset;
@@ -151,6 +160,8 @@ public abstract class ColGroup implements Serializable
 	 * @param target
 	 *            a matrix block where the columns covered by this column group
 	 *            have not yet been filled in.
+	 * @param rl row lower
+	 * @param ru row upper
 	 */
 	public abstract void decompressToBlock(MatrixBlock target, int rl, int ru);
 
@@ -168,6 +179,7 @@ public abstract class ColGroup implements Serializable
 	public abstract void decompressToBlock(MatrixBlock target, int[] colIndexTargets);
 
 	/**
+	 * Decompress to block.
 	 * 
 	 * @param target  dense output vector
 	 * @param colpos  column to decompress, error if larger or equal numCols
@@ -178,8 +190,8 @@ public abstract class ColGroup implements Serializable
 	/**
 	 * Serializes column group to data output.
 	 * 
-	 * @param out
-	 * @throws IOException
+	 * @param out data output
+	 * @throws IOException if IOException occurs
 	 */
 	public abstract void write(DataOutput out) 
 		throws IOException;
@@ -187,8 +199,8 @@ public abstract class ColGroup implements Serializable
 	/**
 	 * Deserializes column group from data input.
 	 * 
-	 * @param in
-	 * @throws IOException
+	 * @param in data input
+	 * @throws IOException if IOException occurs
 	 */
 	public abstract void readFields(DataInput in) 
 		throws IOException;
@@ -198,16 +210,16 @@ public abstract class ColGroup implements Serializable
 	 * Returns the exact serialized size of column group.
 	 * This can be used for example for buffer preallocation.
 	 * 
-	 * @return
+	 * @return exact serialized size for column group
 	 */
 	public abstract long getExactSizeOnDisk();
 	
 	/**
 	 * Get the value at a global row/column position.
 	 * 
-	 * @param r
-	 * @param c
-	 * @return
+	 * @param r row
+	 * @param c column
+	 * @return value at the row/column position
 	 */
 	public abstract double get(int r, int c);
 	
@@ -219,6 +231,8 @@ public abstract class ColGroup implements Serializable
 	 *            vector to multiply by (tall vector)
 	 * @param result
 	 *            accumulator for holding the result
+	 * @param rl row lower
+	 * @param ru row upper
 	 * @throws DMLRuntimeException
 	 *             if the internal SystemML code that performs the
 	 *             multiplication experiences an error
@@ -232,9 +246,9 @@ public abstract class ColGroup implements Serializable
 	 * row vector on the left (the original column vector is assumed to be
 	 * transposed already i.e. its size now is 1xn).
 	 * 
-	 * @param vector
-	 * @param result
-	 * @throws DMLRuntimeException 
+	 * @param vector row vector
+	 * @param result matrix block result
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	public abstract void leftMultByRowVector(MatrixBlock vector,
 			MatrixBlock result) throws DMLRuntimeException;
@@ -246,23 +260,18 @@ public abstract class ColGroup implements Serializable
 	 * @param op
 	 *            operation to perform
 	 * @return version of this column group with the operation applied
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	public abstract ColGroup scalarOperation(ScalarOperator op)
 			throws DMLRuntimeException;
 
-	/**
-	 * 
-	 * @param op
-	 * @param result
-	 * @throws DMLUnsupportedOperationException
-	 * @throws DMLRuntimeException
-	 */
 	public abstract void unaryAggregateOperations(AggregateUnaryOperator op, MatrixBlock result)
 		throws DMLRuntimeException;
 	
 	/**
+	 * Count the number of non-zeros per row
 	 * 
-	 * @param rnnz
+	 * @param rnnz non-zeros per row
 	 * @param rl row lower bound, inclusive
  	 * @param ru row upper bound, exclusive
 	 */

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ColGroupBitmap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroupBitmap.java b/src/main/java/org/apache/sysml/runtime/compress/ColGroupBitmap.java
index bc57f3d..a9fdc0f 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupBitmap.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupBitmap.java
@@ -63,7 +63,7 @@ public abstract class ColGroupBitmap extends ColGroup
 	/** Distinct values associated with individual bitmaps. */
 	protected double[] _values; //linearized <numcol vals> <numcol vals>
 
-	/** Bitmaps, one per uncompressed value in {@link #values}. */
+	/** Bitmaps, one per uncompressed value in {@link #_values}. */
 	protected int[] _ptr; //bitmap offsets per value
 	protected char[] _data; //linearized bitmaps (variable length)
 	protected boolean _zeros; //contains zero values
@@ -77,6 +77,7 @@ public abstract class ColGroupBitmap extends ColGroup
 	/**
 	 * Main constructor. Stores the headers for the individual bitmaps.
 	 * 
+	 * @param type column type
 	 * @param colIndices
 	 *            indices (within the block) of the columns included in this
 	 *            column
@@ -107,10 +108,12 @@ public abstract class ColGroupBitmap extends ColGroup
 	/**
 	 * Constructor for subclass methods that need to create shallow copies
 	 * 
+	 * @param type compression type
 	 * @param colIndices
 	 *            raw column index information
 	 * @param numRows
 	 *            number of rows in the block
+	 * @param zeros ?
 	 * @param values
 	 *            set of distinct values for the block (associated bitmaps are
 	 *            kept in the subclass)
@@ -125,14 +128,6 @@ public abstract class ColGroupBitmap extends ColGroup
 		return _ptr[k+1] - _ptr[k];
 	}
 
-	
-	
-	/**
-	 * 
-	 * @param numVals
-	 * @param totalLen
-	 * @param lbitmaps
-	 */
 	protected void createCompressedBitmaps(int numVals, int totalLen, char[][] lbitmaps)
 	{
 		// compact bitmaps to linearized representation
@@ -300,23 +295,10 @@ public abstract class ColGroupBitmap extends ColGroup
 		}		
 		return 0;
 	}
-	
-	/**
-	 * 
-	 * @param op
-	 * @param result
-	 * @param rl
-	 * @param ru
-	 * @throws DMLRuntimeException
-	 */
+
 	public abstract void unaryAggregateOperations(AggregateUnaryOperator op, MatrixBlock result, int rl, int ru)
 		throws DMLRuntimeException;
-	
-	/**
-	 * 
-	 * @param bitmapIx
-	 * @return
-	 */
+
 	protected final double sumValues(int bitmapIx)
 	{
 		final int numCols = getNumCols();
@@ -342,12 +324,7 @@ public abstract class ColGroupBitmap extends ColGroup
 		
 		return val;
 	}
-	
-	/**
-	 * 
-	 * @param b
-	 * @param c
-	 */
+
 	protected final void sumAllValues(double[] b, double[] c)
 	{
 		final int numVals = getNumValues();
@@ -359,12 +336,6 @@ public abstract class ColGroupBitmap extends ColGroup
 			LinearAlgebraUtils.vectMultiplyAdd(b[i], _values, c, off, 0, numVals);
 	}
 
-	/**
-	 * 
-	 * @param bitmapIx
-	 * @param builtin
-	 * @return
-	 */
 	protected final double mxxValues(int bitmapIx, Builtin builtin)
 	{
 		final int numCols = getNumCols();
@@ -377,12 +348,6 @@ public abstract class ColGroupBitmap extends ColGroup
 		return val;
 	}
 
-	/**
-	 * 
-	 * @param numVals
-	 * @param sb
-	 * @return
-	 */
 	protected final double[] preaggValues(int numVals, double[] b) {
 		double[] ret = new double[numVals];
 		for( int k = 0; k < numVals; k++ )
@@ -398,7 +363,7 @@ public abstract class ColGroupBitmap extends ColGroup
 	 * @param op
 	 *            scalar operation to perform
 	 * @return transformed copy of value metadata for this column group
-	 * @throws DMLRuntimeException
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	protected double[] applyScalarOp(ScalarOperator op)
 			throws DMLRuntimeException 
@@ -411,15 +376,7 @@ public abstract class ColGroupBitmap extends ColGroup
 
 		return ret;
 	}
-	
-	/**
-	 * 
-	 * @param op
-	 * @param newVal
-	 * @param numCols
-	 * @return
-	 * @throws DMLRuntimeException
-	 */
+
 	protected double[] applyScalarOp(ScalarOperator op, double newVal, int numCols)
 			throws DMLRuntimeException 
 	{
@@ -438,8 +395,8 @@ public abstract class ColGroupBitmap extends ColGroup
 	/**
 	 * NOTE: Shared across OLE/RLE because value-only computation. 
 	 * 
-	 * @param result
-	 * @throws DMLRuntimeException 
+	 * @param result matrix block
+	 * @param builtin ?
 	 */
 	protected void computeMxx(MatrixBlock result, Builtin builtin) 
 	{
@@ -463,7 +420,8 @@ public abstract class ColGroupBitmap extends ColGroup
 	/**
 	 * NOTE: Shared across OLE/RLE because value-only computation. 
 	 * 
-	 * @param result
+	 * @param result matrix block
+	 * @param builtin ?
 	 */
 	protected void computeColMxx(MatrixBlock result, Builtin builtin)
 	{
@@ -490,6 +448,8 @@ public abstract class ColGroupBitmap extends ColGroup
 	
 
 	/**
+	 * Obtain number of distrinct sets of values associated with the bitmaps in this column group.
+	 * 
 	 * @return the number of distinct sets of values associated with the bitmaps
 	 *         in this column group
 	 */
@@ -497,18 +457,10 @@ public abstract class ColGroupBitmap extends ColGroup
 		return _values.length / _colIndexes.length;
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public double[] getValues() {
 		return _values;
 	}
-	
-	/**
-	 * 
-	 * @return
-	 */
+
 	public char[] getBitmaps() {
 		return _data;
 	}
@@ -522,9 +474,9 @@ public abstract class ColGroupBitmap extends ColGroup
 	}
 	
 	/**
-	 * @param bmpIx
+	 * @param k
 	 *            index of a specific compressed bitmap (stored in subclass,
-	 *            index same as {@link #values})
+	 *            index same as {@link #getValues})
 	 * @return an object for iterating over the row offsets in this bitmap. Only
 	 *         valid until the next call to this method. May be reused across
 	 *         calls.
@@ -536,9 +488,9 @@ public abstract class ColGroupBitmap extends ColGroup
 	/**
 	 * Utility function of sparse-unsafe operations.
 	 * 
-	 * @param ind
-	 * @return
-	 * @throws DMLRuntimeException
+	 * @param ind ?
+	 * @return offsets
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	protected int[] computeOffsets(boolean[] ind)
 		throws DMLRuntimeException 

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ColGroupOLE.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroupOLE.java b/src/main/java/org/apache/sysml/runtime/compress/ColGroupOLE.java
index fcfecde..696adf2 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupOLE.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupOLE.java
@@ -97,9 +97,6 @@ public class ColGroupOLE extends ColGroupBitmap
 		}
 	}
 
-	/**
-	 * Constructor for internal use.
-	 */
 	public ColGroupOLE(int[] colIndices, int numRows, boolean zeros, double[] values, char[] bitmaps, int[] bitmapOffs) {
 		super(CompressionType.OLE_BITMAP, colIndices, numRows, zeros, values);
 		_data = bitmaps;
@@ -467,11 +464,7 @@ public class ColGroupOLE extends ColGroupBitmap
 				computeColMxx(result, builtin);
 		}
 	}
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeSum(MatrixBlock result, KahanFunction kplus)
 	{
 		KahanObject kbuff = new KahanObject(result.quickGetValue(0, 0), result.quickGetValue(0, 1));
@@ -499,11 +492,7 @@ public class ColGroupOLE extends ColGroupBitmap
 		result.quickSetValue(0, 0, kbuff._sum);
 		result.quickSetValue(0, 1, kbuff._correction);
 	}
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeRowSums(MatrixBlock result, KahanFunction kplus, int rl, int ru)
 	{
 		KahanObject kbuff = new KahanObject(0, 0);
@@ -537,11 +526,7 @@ public class ColGroupOLE extends ColGroupBitmap
 			}
 		}
 	}
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeColSums(MatrixBlock result, KahanFunction kplus)
 	{
 		KahanObject kbuff = new KahanObject(0, 0);
@@ -569,12 +554,7 @@ public class ColGroupOLE extends ColGroupBitmap
 			}
 		}
 	}
-	
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeRowMxx(MatrixBlock result, Builtin builtin, int rl, int ru)
 	{
 		//NOTE: zeros handled once for all column groups outside
@@ -606,8 +586,8 @@ public class ColGroupOLE extends ColGroupBitmap
 	/**
 	 * Utility function of sparse-unsafe operations.
 	 * 
-	 * @return
-	 * @throws DMLRuntimeException
+	 * @return zero indicator vector
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	private boolean[] computeZeroIndicatorVector()
 		throws DMLRuntimeException 
@@ -681,11 +661,11 @@ public class ColGroupOLE extends ColGroupBitmap
 	/**
 	 * Scans to given row_lower position by exploiting any existing 
 	 * skip list and scanning segment length fields. Returns array 
-	 * of positions for all values;
+	 * of positions for all values.
 	 * 
-	 * @param numVals
-	 * @param rl
-	 * @return
+	 * @param numVals number of values
+	 * @param rl row lower position
+	 * @return array of positions for all values
 	 */
 	private int[] skipScan(int numVals, int rl) {
 		int[] ret = new int[numVals];
@@ -708,13 +688,7 @@ public class ColGroupOLE extends ColGroupBitmap
 		
 		return ret;
 	}
-	
-	/**
-	 * 
-	 * @param k
-	 * @param rl
-	 * @return
-	 */
+
 	private int skipScanVal(int k, int rl) {
 		final int blksz = BitmapEncoder.BITMAP_BLOCK_SZ;
 		

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java b/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
index 35b876b..efdcc86 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
@@ -77,9 +77,6 @@ public class ColGroupRLE extends ColGroupBitmap
 		createCompressedBitmaps(numVals, totalLen, lbitmaps);
 	}
 
-	/**
-	 * Constructor for internal use.
-	 */
 	public ColGroupRLE(int[] colIndices, int numRows, boolean zeros, double[] values, char[] bitmaps, int[] bitmapOffs) {
 		super(CompressionType.RLE_BITMAP, colIndices, numRows, zeros, values);
 		_data = bitmaps;
@@ -476,11 +473,7 @@ public class ColGroupRLE extends ColGroupBitmap
 				computeColMxx(result, builtin);
 		}
 	}
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeSum(MatrixBlock result, KahanFunction kplus)
 	{
 		KahanObject kbuff = new KahanObject(result.quickGetValue(0, 0), result.quickGetValue(0, 1));
@@ -508,11 +501,7 @@ public class ColGroupRLE extends ColGroupBitmap
 		result.quickSetValue(0, 0, kbuff._sum);
 		result.quickSetValue(0, 1, kbuff._correction);
 	}
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeRowSums(MatrixBlock result, KahanFunction kplus, int rl, int ru)
 	{
 		KahanObject kbuff = new KahanObject(0, 0);
@@ -542,11 +531,7 @@ public class ColGroupRLE extends ColGroupBitmap
 			}
 		}
 	}
-	
-	/**
-	 * 
-	 * @param result
-	 */
+
 	private void computeColSums(MatrixBlock result, KahanFunction kplus)
 	{
 		KahanObject kbuff = new KahanObject(0, 0);
@@ -575,12 +560,7 @@ public class ColGroupRLE extends ColGroupBitmap
 			}
 		}
 	}
-	
 
-	/**
-	 * 
-	 * @param result
-	 */
 	private void computeRowMxx(MatrixBlock result, Builtin builtin, int rl, int ru)
 	{
 		//NOTE: zeros handled once for all column groups outside
@@ -665,10 +645,10 @@ public class ColGroupRLE extends ColGroupBitmap
 	 * fields. Returns array of positions for all values and modifies
 	 * given array of start positions for all values too. 
 	 * 
-	 * @param numVals
-	 * @param rl
-	 * @param astart
-	 * @return
+	 * @param numVals number of values
+	 * @param rl lower row position
+	 * @param astart start positions
+	 * @return array of positions for all values
 	 */
 	private int[] skipScan(int numVals, int rl, int[] astart) {
 		int[] apos = new int[numVals]; 
@@ -694,13 +674,7 @@ public class ColGroupRLE extends ColGroupBitmap
 		
 		return apos;
 	}
-	
-	/**
-	 * 
-	 * @param k
-	 * @param rl
-	 * @return
-	 */
+
 	private Pair<Integer,Integer> skipScanVal(int k, int rl) {
 		int apos = 0; 
 		int astart = 0;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ColGroupUncompressed.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroupUncompressed.java b/src/main/java/org/apache/sysml/runtime/compress/ColGroupUncompressed.java
index 085244c..9d06bf8 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupUncompressed.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupUncompressed.java
@@ -65,7 +65,7 @@ public class ColGroupUncompressed extends ColGroup
 	 * @param rawblock
 	 *            the uncompressed block; uncompressed data must be present at
 	 *            the time that the constructor is called
-	 * @throws DMLRuntimeException
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	@SuppressWarnings("unused")
 	public ColGroupUncompressed(List<Integer> colIndicesList, MatrixBlock rawblock) 
@@ -148,8 +148,7 @@ public class ColGroupUncompressed extends ColGroup
 	 *            column mapping for this column group
 	 * @param numRows
 	 *            number of rows in the column, for passing to the superclass
-	 * @param colContents
-	 *            uncompressed cell values
+	 * @param data matrix block
 	 */
 	public ColGroupUncompressed(int[] colIndices, int numRows, MatrixBlock data) 
 	{

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
index 16d03b5..50cc8a5 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
@@ -136,6 +136,8 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	 * "Copy" constructor to populate this compressed block with the
 	 * uncompressed contents of a conventional block. Does <b>not</b> compress
 	 * the block.
+	 * 
+	 * @param mb matrix block
 	 */
 	public CompressedMatrixBlock(MatrixBlock mb) {
 		super(mb.getNumRows(), mb.getNumColumns(), mb.isInSparseFormat());
@@ -149,6 +151,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	}
 
 	/**
+	 * Obtain the column groups.
 	 * 
 	 * @return the column groups constructed by the compression process.
 	 * 
@@ -158,17 +161,15 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	}
 
 	/**
+	 * Obtain whether this block is in compressed form or not.
+	 * 
 	 * @return true if this block is in compressed form; false if the block has
 	 *         not yet been compressed
 	 */
 	public boolean isCompressed() {
 		return (_colGroups != null);
 	}
-	
-	/**
-	 * 
-	 * @return
-	 */
+
 	public boolean isSingleUncompressedGroup(){
 		return (_colGroups!=null && _colGroups.size()==1 
 				&& _colGroups.get(0) instanceof ColGroupUncompressed);
@@ -193,7 +194,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	 * 
 	 * +per column sparsity
 	 * 
-	 * @throws DMLRuntimeException
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	public void compress() 
 		throws DMLRuntimeException
@@ -203,9 +204,10 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	}
 	
 	/**
+	 * Compress block.
 	 * 
 	 * @param k  number of threads
-	 * @throws DMLRuntimeException
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	public void compress(int k) 
 		throws DMLRuntimeException 
@@ -343,27 +345,13 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		return _stats;
 	}
 
-	/**
-	 * 
-	 * @param estim
-	 * @param clen
-	 * @return
-	 */
 	private static CompressedSizeInfo[] computeCompressedSizeInfos(CompressedSizeEstimator estim, int clen) {
 		CompressedSizeInfo[] ret = new CompressedSizeInfo[clen];
 		for( int col=0; col<clen; col++ )
 			ret[col] = estim.estimateCompressedColGroupSize(new int[] { col });
 		return ret;
 	}
-	
-	/**
-	 * 
-	 * @param estim
-	 * @param clen
-	 * @param k
-	 * @return
-	 * @throws DMLRuntimeException
-	 */
+
 	private static CompressedSizeInfo[] computeCompressedSizeInfos(CompressedSizeEstimator estim, int clen, int k) 
 		throws DMLRuntimeException 
 	{	
@@ -384,15 +372,6 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		}
 	}
 
-	/**
-	 * 
-	 * @param in
-	 * @param estim
-	 * @param compRatios
-	 * @param rlen
-	 * @param groups
-	 * @return
-	 */
 	private static ColGroup[] compressColGroups(MatrixBlock in, CompressedSizeEstimator estim, HashMap<Integer, Double> compRatios, int rlen, double sp, List<int[]> groups)
 	{
 		ColGroup[] ret = new ColGroup[groups.size()];
@@ -401,18 +380,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		
 		return ret;
 	}
-	
-	/**
-	 * 
-	 * @param in
-	 * @param estim
-	 * @param compRatios
-	 * @param rlen
-	 * @param groups
-	 * @param k
-	 * @return
-	 * @throws DMLRuntimeException 
-	 */
+
 	private static ColGroup[] compressColGroups(MatrixBlock in, CompressedSizeEstimator estim, HashMap<Integer, Double> compRatios, int rlen, double sp, List<int[]> groups, int k) 
 		throws DMLRuntimeException
 	{
@@ -432,16 +400,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 			throw new DMLRuntimeException(ex);
 		}
 	}
-	
-	/**
-	 * 
-	 * @param in
-	 * @param estim
-	 * @param compRatios
-	 * @param rlen
-	 * @param colIndexes
-	 * @return
-	 */
+
 	private static ColGroup compressColGroup(MatrixBlock in, CompressedSizeEstimator estim, HashMap<Integer, Double> compRatios, int rlen, double sp, int[] colIndexes) 
 	{
 		int[] allGroupIndices = null;
@@ -504,9 +463,10 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	/**
 	 * Compute a conservative estimate of the uncompressed size of a column group.
 	 * 
-	 * @param rlen
-	 * @param clen
-	 * @return
+	 * @param rlen row length
+	 * @param clen column length
+	 * @param sparsity the sparsity
+	 * @return estimate of uncompressed size of column group
 	 */
 	private static double getUncompressedSize(int rlen, int clen, double sparsity) {
 		//we estimate the uncompressed size as 8 * nnz in order to cover both
@@ -516,8 +476,11 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	}
 
 	/**
+	 * Decompress block.
+	 * 
 	 * @return a new uncompressed matrix block containing the contents of this
 	 *         block
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	public MatrixBlock decompress() throws DMLRuntimeException 
 	{
@@ -555,10 +518,12 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	}
 	
 	/**
+	 * Decompress block.
+	 * 
 	 * @param k degree of parallelism
 	 * @return a new uncompressed matrix block containing the contents 
 	 * of this block
-	 * @throws DMLRuntimeException
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	public MatrixBlock decompress(int k) throws DMLRuntimeException 
 	{
@@ -602,6 +567,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	}
 
 	/**
+	 * Obtain an upper bound on the memory used to store the compressed block.
 	 * 
 	 * @return an upper bound on the memory used to store this compressed block
 	 *         considering class overhead.
@@ -759,8 +725,8 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	 * Redirects the default java serialization via externalizable to our default 
 	 * hadoop writable serialization for efficient broadcast/rdd deserialization. 
 	 * 
-	 * @param is
-	 * @throws IOException
+	 * @param is object input
+	 * @throws IOException if IOException occurs
 	 */
 	@Override
 	public void readExternal(ObjectInput is) 
@@ -773,8 +739,8 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	 * Redirects the default java serialization via externalizable to our default 
 	 * hadoop writable serialization for efficient broadcast/rdd serialization. 
 	 * 
-	 * @param is
-	 * @throws IOException
+	 * @param os object output
+	 * @throws IOException if IOException occurs
 	 */
 	@Override
 	public void writeExternal(ObjectOutput os) 
@@ -1259,10 +1225,10 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	/**
 	 * Multi-threaded version of rightMultByVector.
 	 * 
-	 * @param vector
-	 * @param result
-	 * @param k
-	 * @throws DMLRuntimeException
+	 * @param vector matrix block vector
+	 * @param result matrix block result
+	 * @param k number of threads
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	private void rightMultByVector(MatrixBlock vector, MatrixBlock result, int k)
 		throws DMLRuntimeException 
@@ -1295,11 +1261,14 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	 * Multiply this matrix block by the transpose of a column vector (i.e.
 	 * t(v)%*%X)
 	 * 
+	 * @param colGroups list of column groups
 	 * @param vector
 	 *            left-hand operand of the multiplication
 	 * @param result
 	 *            buffer to hold the result; must have the appropriate size
 	 *            already
+	 * @param doTranspose if true, transpose vector
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	private static void leftMultByVectorTranspose(List<ColGroup> colGroups, MatrixBlock vector, MatrixBlock result, boolean doTranspose) 
 		throws DMLRuntimeException 
@@ -1327,11 +1296,15 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 	/**
 	 * Multi-thread version of leftMultByVectorTranspose.
 	 * 
+	 * @param colGroups list of column groups
 	 * @param vector
+	 *            left-hand operand of the multiplication
 	 * @param result
-	 * @param doTranspose
-	 * @param k
-	 * @throws DMLRuntimeException
+	 *            buffer to hold the result; must have the appropriate size
+	 *            already
+	 * @param doTranspose if true, transpose vector
+	 * @param k number of threads
+	 * @throws DMLRuntimeException if DMLRuntimeException occurs
 	 */
 	private static void leftMultByVectorTranspose(List<ColGroup> colGroups,MatrixBlock vector, MatrixBlock result, boolean doTranspose, int k) 
 		throws DMLRuntimeException 
@@ -1366,14 +1339,6 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		result.recomputeNonZeros();
 	}
 
-	/**
-	 * 
-	 * @param groups
-	 * @param result
-	 * @param gl
-	 * @param gu
-	 * @throws DMLRuntimeException
-	 */
 	private static void leftMultByTransposeSelf(ArrayList<ColGroup> groups, MatrixBlock result, int gl, int gu)
 		throws DMLRuntimeException 
 	{
@@ -1410,12 +1375,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 			}
 		}
 	}
-	
-	/**
-	 * 
-	 * @param k
-	 * @return
-	 */
+
 	@SuppressWarnings("unchecked")
 	private ArrayList<ColGroup>[] createStaticTaskPartitioning(int k, boolean inclUncompressed)
 	{
@@ -1440,11 +1400,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		
 		return grpParts;
 	}
-	
-	/**
-	 * 
-	 * @return
-	 */
+
 	private ColGroupUncompressed getUncompressedColGroup()
 	{
 		for( ColGroup grp : _colGroups )
@@ -1453,10 +1409,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		
 		return null;
 	}
-	
-	/**
-	 * 
-	 */
+
 	private static class LeftMatrixMultTask implements Callable<Object> 
 	{
 		private ColGroup _group = null;
@@ -1482,10 +1435,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 			return null;
 		}
 	}
-	
-	/**
-	 * 
-	 */
+
 	private static class RightMatrixMultTask implements Callable<Object> 
 	{
 		private ArrayList<ColGroup> _groups = null;
@@ -1571,10 +1521,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 			return _ret;
 		}
 	}
-	
-	/**
-	 * 
-	 */
+
 	private static class SizeEstimTask implements Callable<CompressedSizeInfo> 
 	{
 		private CompressedSizeEstimator _estim = null;
@@ -1590,10 +1537,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 			return _estim.estimateCompressedColGroupSize(new int[] { _col });
 		}
 	}
-	
-	/**
-	 *
-	 */
+
 	private static class CompressTask implements Callable<ColGroup> 
 	{
 		private MatrixBlock _in = null;
@@ -2041,43 +1985,23 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
 		throw new RuntimeException("CompressedMatrixBlock: seqOperationsInPlace not supported.");
 	}
 
-	/**
-	 * 
-	 * @param mb
-	 * @return
-	 */
 	private static boolean isCompressed(MatrixBlock mb) {
 		return (mb instanceof CompressedMatrixBlock && ((CompressedMatrixBlock)mb).isCompressed());
 	}
-	
-	/**
-	 * 
-	 * @param mVal
-	 * @return
-	 * @throws DMLRuntimeException 
-	 */
+
 	private static MatrixBlock getUncompressed(MatrixValue mVal) 
 			throws DMLRuntimeException {
 		return isCompressed((MatrixBlock)mVal) ? 
 				((CompressedMatrixBlock)mVal).decompress() : 
 				(MatrixBlock)mVal;
 	}
-	
-	/**
-	 * 
-	 * @param operation
-	 */
+
 	private void printDecompressWarning(String operation) {
 		if( isCompressed() ) {
 			LOG.warn("Operation '"+operation+"' not supported yet - decompressing for ULA operations.");
 		}
 	}
-	
-	/**
-	 * 
-	 * @param operation
-	 * @param m2
-	 */
+
 	private void printDecompressWarning(String operation, MatrixBlock m2) {
 		if( isCompressed() || isCompressed(m2) ) {
 			LOG.warn("Operation '"+operation+"' not supported yet - decompressing for ULA operations.");

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/PlanningBinPacker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/PlanningBinPacker.java b/src/main/java/org/apache/sysml/runtime/compress/PlanningBinPacker.java
index 2764664..7c3d8d2 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/PlanningBinPacker.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/PlanningBinPacker.java
@@ -73,12 +73,6 @@ public class PlanningBinPacker
 		return packFirstFit(shuffledItems, shuffledWeights);
 	}
 
-	/**
-	 * 
-	 * @param items
-	 * @param itemWeights
-	 * @return
-	 */
 	private TreeMap<Float, List<List<Integer>>> packFirstFit(List<Integer> items, List<Float> itemWeights) 
 	{
 		// when searching for a bin, the first bin in the list is used
@@ -123,7 +117,7 @@ public class PlanningBinPacker
 	/**
 	 * NOTE: upper bound is 11/9 OPT + 6/9 (~1.22 OPT)
 	 * 
-	 * @return
+	 * @return sorted map of ?
 	 */
 	public TreeMap<Float, List<List<Integer>>> packFirstFitDescending() {
 		// sort items descending based on their weights
@@ -149,27 +143,18 @@ public class PlanningBinPacker
 	/**
 	 * NOTE: upper bound is 71/60 OPT + 6/9 (~1.18 OPT)
 	 * 
-	 * @return
+	 * @return sorted map of ?
 	 */
 	public TreeMap<Float, List<List<Integer>>> packModifiedFirstFitDescending() {
 		throw new UnsupportedOperationException("Not implemented yet!");
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	private List<List<Integer>> createBinList() {
 		List<List<Integer>> binList = new ArrayList<List<Integer>>();
 		binList.add(new ArrayList<Integer>());
 		return binList;
 	}
 
-	/**
-	 * 
-	 * @param item
-	 * @return
-	 */
 	private List<List<Integer>> createBinList(int item) {
 		List<List<Integer>> binList = new ArrayList<List<Integer>>();
 		List<Integer> bin = new ArrayList<Integer>();
@@ -178,11 +163,6 @@ public class PlanningBinPacker
 		return binList;
 	}
 
-	/**
-	 * 
-	 * @param bin
-	 * @return
-	 */
 	private List<List<Integer>> createBinList(List<Integer> bin) {
 		List<List<Integer>> binList = new ArrayList<List<Integer>>();
 		binList.add(bin);

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCoder.java b/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCoder.java
index 711f383..9313cd9 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCoder.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCoder.java
@@ -38,18 +38,7 @@ public class PlanningCoCoder
 	private final static float GROUPABILITY_THRESHOLD = 0.00064f;
 	private final static float PARTITION_WEIGHT = 0.05F; //higher values lead to more grouping
 	private final static float PARTITION_SIZE = PARTITION_WEIGHT * GROUPABILITY_THRESHOLD;
-	
-	/**
-	 * 
-	 * @param sizeEstimator
-	 * @param availCols
-	 * @param colsCardinalities
-	 * @param compressedSize
-	 * @param numRows
-	 * @param sparsity
-	 * @return
-	 * @throws DMLRuntimeException 
-	 */
+
 	public static List<int[]> findCocodesByPartitioning(CompressedSizeEstimator sizeEstimator, List<Integer> availCols, 
 			List<Integer> colsCardinalities, List<Long> compressedSize, int numRows, double sparsity, int k) 
 		throws DMLRuntimeException 
@@ -88,15 +77,7 @@ public class PlanningCoCoder
 			
 		return retGroups;
 	}
-	
-	/**
-	 * 
-	 * @param bins
-	 * @param groupColsInfo
-	 * @param estim
-	 * @param rlen
-	 * @return
-	 */
+
 	private static List<int[]> getCocodingGroupsBruteForce(TreeMap<Float, List<List<Integer>>> bins, HashMap<Integer, GroupableColInfo> groupColsInfo, CompressedSizeEstimator estim, int rlen) 
 	{
 		List<int[]> retGroups = new ArrayList<int[]>();		
@@ -116,17 +97,7 @@ public class PlanningCoCoder
 		
 		return retGroups;
 	}
-	
-	/**
-	 * 
-	 * @param bins
-	 * @param groupColsInfo
-	 * @param estim
-	 * @param rlen
-	 * @param k
-	 * @return
-	 * @throws DMLRuntimeException 
-	 */
+
 	private static List<int[]> getCocodingGroupsBruteForce(TreeMap<Float, List<List<Integer>>> bins, HashMap<Integer, GroupableColInfo> groupColsInfo, CompressedSizeEstimator estim, int rlen, int k) 
 		throws DMLRuntimeException 
 	{
@@ -160,6 +131,10 @@ public class PlanningCoCoder
 	 * pairs of column groups into larger groups. Each phase of the greedy
 	 * algorithm considers all combinations of pairs to merge.
 	 * 
+	 * @param sizeEstimator compressed size estimator
+	 * @param numRowsWeight number of rows weight
+	 * @param singltonGroups planning co-coding groups
+	 * @return
 	 */
 	private static PlanningCoCodingGroup[] findCocodesBruteForce(
 			CompressedSizeEstimator sizeEstimator, float numRowsWeight,
@@ -235,24 +210,12 @@ public class PlanningCoCoder
 		return colGroups;
 	}
 
-	/**
-	 * 
-	 * @param numRows
-	 * @param sparsity
-	 * @return
-	 */
 	private static float computeWeightForCoCoding(int numRows, double sparsity) {
 		//we use a constant partition size (independent of the number of rows
 		//in order to ensure constant compression speed independent of blocking)
 		return PARTITION_SIZE;
 	}
-	
-	/**
-	 * 
-	 * @param arr
-	 * @param val
-	 * @return
-	 */
+
 	private static int findInArray(Object[] arr, Object val) {
 		for (int i = 0; i < arr.length; i++) {
 			if (arr[i].equals(val)) {
@@ -261,10 +224,7 @@ public class PlanningCoCoder
 		}
 		return -1;
 	}
-	
-	/**
-	 * 
-	 */
+
 	protected static class GroupableColInfo {
 		float cardRatio;
 		long size;
@@ -274,10 +234,7 @@ public class PlanningCoCoder
 			size = lsize;
 		}
 	}
-	
-	/**
-	 * 
-	 */
+
 	private static class CocodeTask implements Callable<PlanningCoCodingGroup[]> 
 	{
 		private CompressedSizeEstimator _estim = null;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCodingGroup.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCodingGroup.java b/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCodingGroup.java
index a1e0123..9ee0d7e 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCodingGroup.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/PlanningCoCodingGroup.java
@@ -38,6 +38,8 @@ public class PlanningCoCodingGroup
 	/**
 	 * Constructor for a one-column group; i.e. do not co-code a given column.
 	 * 
+	 * @param col column
+	 * @param info groupable column info
 	 */
 	public PlanningCoCodingGroup(int col, GroupableColInfo info) {
 		_colIndexes = new int[]{col};
@@ -50,6 +52,7 @@ public class PlanningCoCodingGroup
 	 * 
 	 * @param grp1   first group of columns to merge
 	 * @param grp2   second group to merge
+	 * @param bitmapSizeEstimator bitmap size estimator
 	 * @param numRowsWeight numRows x sparsity
 	 */
 	public PlanningCoCodingGroup(PlanningCoCodingGroup grp1, PlanningCoCodingGroup grp2,
@@ -88,6 +91,8 @@ public class PlanningCoCodingGroup
 	}
 
 	/**
+	 * Obtain estimated compressed size of the grouped columns.
+	 * 
 	 * @return estimated compressed size of the grouped columns
 	 */
 	public long getEstSize() {

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelection.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelection.java b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelection.java
index bd3c13c..fdd0f78 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelection.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelection.java
@@ -42,14 +42,10 @@ public abstract class ReaderColumnSelection
 	/**
 	 * Gets the next row, null when no more rows.
 	 * 
-	 * @return
+	 * @return next row
 	 */
 	public abstract DblArray nextRow();
 
-	/**
-	 * 
-	 * @return
-	 */
 	public int getCurrentRowIndex() {
 		return _lastRow;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
index c39eeef..8d2682f 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
@@ -50,10 +50,6 @@ public class ReaderColumnSelectionDense extends ReaderColumnSelection
 		}
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	private DblArray getNextRow() {
 		if(_lastRow == _numRows-1)
 			return null;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
index d8e50c0..f60b3a7 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
@@ -58,10 +58,6 @@ public class ReaderColumnSelectionDenseSample extends ReaderColumnSelection
 		}
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	private DblArray getNextRow() {
 		if (lastIndex == _sampleIndexes.length - 1)
 			return null;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
index c6adaee..63c0467 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
@@ -77,10 +77,6 @@ public class ReaderColumnSelectionSparse extends ReaderColumnSelection
 		}
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	private DblArray getNextRow() 
 	{
 		if(_lastRow == _numRows-1)

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/UncompressedBitmap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/UncompressedBitmap.java b/src/main/java/org/apache/sysml/runtime/compress/UncompressedBitmap.java
index 04137ae..d62bae9 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/UncompressedBitmap.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/UncompressedBitmap.java
@@ -75,6 +75,8 @@ public final class UncompressedBitmap
 	}
 	
 	/**
+	 * Obtain tuple of column values associated with index.
+	 * 
 	 * @param ix   index of a particular distinct value
 	 * @return the tuple of column values associated with the specified index
 	 */
@@ -83,6 +85,8 @@ public final class UncompressedBitmap
 	}
 
 	/**
+	 * Obtain number of distinct values in the column.
+	 * 
 	 * @return number of distinct values in the column; this number is also the
 	 *         number of bitmaps, since there is one bitmap per value
 	 */
@@ -91,6 +95,8 @@ public final class UncompressedBitmap
 	}
 
 	/**
+	 * Obtain array of offsets of the rows containing index value
+	 * 
 	 * @param ix   index of a particular distinct value
 	 * @return IMMUTABLE array of the offsets of the rows containing the value
 	 *         with the indicated index
@@ -98,11 +104,7 @@ public final class UncompressedBitmap
 	public int[] getOffsetsList(int ix) {
 		return _offsetsLists[ix];
 	}
-	
-	/**
-	 * 
-	 * @return
-	 */
+
 	public int getNumOffsets() {
 		int ret = 0;
 		for( int[] offlist : _offsetsLists )

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimator.java b/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimator.java
index 8d0a40b..2b49403 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimator.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimator.java
@@ -34,26 +34,10 @@ public abstract class CompressedSizeEstimator
 		_data = data;
 	}
 
-	/**
-	 * 
-	 * @param colIndexes
-	 * @return
-	 */
 	public abstract CompressedSizeInfo estimateCompressedColGroupSize(int[] colIndexes);
 
-	/**
-	 * 
-	 * @param ubm
-	 * @return
-	 */
 	public abstract CompressedSizeInfo estimateCompressedColGroupSize(UncompressedBitmap ubm);
 
-	/**
-	 * 
-	 * @param ubm
-	 * @param inclRLE
-	 * @return
-	 */
 	protected SizeEstimationFactors computeSizeEstimationFactors(UncompressedBitmap ubm, boolean inclRLE) {
 		int numVals = ubm.getNumValues();
 		int numRuns = 0;
@@ -85,10 +69,10 @@ public abstract class CompressedSizeEstimator
 	 * Estimates the number of bytes needed to encode this column group
 	 * in RLE encoding format.
 	 * 
-	 * @param numVals
-	 * @param numRuns
-	 * @param numCols
-	 * @return
+	 * @param numVals number of value tuples
+	 * @param numRuns number of runs
+	 * @param numCols number of columns
+	 * @return number of bytes to encode column group in RLE format
 	 */
 	protected static long getRLESize(int numVals, int numRuns, int numCols) {
 		int ret = 0;
@@ -105,11 +89,11 @@ public abstract class CompressedSizeEstimator
 	 * Estimates the number of bytes needed to encode this column group 
 	 * in OLE format.
 	 * 
-	 * @param numVals
-	 * @param numOffs
-	 * @param numSeqs
-	 * @param numCols
-	 * @return
+	 * @param numVals number of value tuples
+	 * @param numOffs number of offsets
+	 * @param numSeqs number of segment headers
+	 * @param numCols number of columns
+	 * @return number of bytes to encode column group in RLE format
 	 */
 	protected static long getOLESize(int numVals, float numOffs, int numSeqs, int numCols) {
 		int ret = 0;
@@ -123,10 +107,7 @@ public abstract class CompressedSizeEstimator
 		ret += 2 * numSeqs;
 		return ret;
 	}
-	
-	/**
-	 * 
-	 */
+
 	protected static class SizeEstimationFactors {
  		protected int numVals;   //num value tuples
  		protected int numSegs;   //num OLE segments 

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java b/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
index fb5949e..72456f6 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
@@ -47,12 +47,7 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	private int[] _sampleRows = null;
 	private RandomDataGenerator _rng = null;
 	private int _numRows = -1;
-	
-	/**
-	 * 
-	 * @param data
-	 * @param sampleRows
-	 */
+
 	public CompressedSizeEstimatorSample(MatrixBlock data, int[] sampleRows) {
 		super(data);
 		_sampleRows = sampleRows;
@@ -61,17 +56,13 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 				_data.getNumColumns() : _data.getNumRows();
 	}
 
-	/**
-	 * 
-	 * @param mb
-	 * @param sampleSize
-	 */
 	public CompressedSizeEstimatorSample(MatrixBlock mb, int sampleSize) {
 		this(mb, null);
 		_sampleRows = getSortedUniformSample(_numRows, sampleSize);
 	}
 
 	/**
+	 * set the sample rows (assumed to be sorted)
 	 * 
 	 * @param sampleRows, assumed to be sorted
 	 */
@@ -79,10 +70,6 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 		_sampleRows = sampleRows;
 	}
 
-	/**
-	 * 
-	 * @param sampleSize
-	 */
 	public void resampleRows(int sampleSize) {
 		_sampleRows = getSortedUniformSample(_numRows, sampleSize);
 	}
@@ -148,23 +135,11 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 				getRLESize(fact.numVals, fact.numRuns, ubm.getNumColumns()),
 				getOLESize(fact.numVals, fact.numOffs, fact.numSegs, ubm.getNumColumns()));
 	}
-	
-	/**
-	 * 
-	 * @param colIndexes
-	 * @return
-	 */
+
 	private int getNumDistinctValues(int[] colIndexes) {
 		return haasAndStokes(colIndexes);
 	}
 
-	/**
-	 * 
-	 * @param sampleUncompressedBitmap
-	 * @param sampleSize
-	 * @param totalNumRows
-	 * @return
-	 */
 	private int getNumRuns(UncompressedBitmap sampleUncompressedBitmap,
 			int sampleSize, int totalNumRows) {
 		int numVals = sampleUncompressedBitmap.getNumValues();
@@ -328,11 +303,6 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 		return Math.round(numRuns);
 	}
 
-	/**
-	 * 
-	 * @param colIndexes
-	 * @return
-	 */
 	private int haasAndStokes(int[] colIndexes) {
 		ReaderColumnSelection reader =  new ReaderColumnSelectionDenseSample(_data, 
 				colIndexes, _sampleRows, !CompressedMatrixBlock.MATERIALIZE_ZEROS);
@@ -342,8 +312,8 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	/**
 	 * TODO remove, just for local debugging.
 	 * 
-	 * @param colIndexes
-	 * @return
+	 * @param colIndexes column indexes
+	 * @return exact number of district values
 	 */
 	@SuppressWarnings("unused")
 	private int getExactNumDistinctValues(int[] colIndexes) {
@@ -360,9 +330,9 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	/**
 	 * Returns a sorted array of n integers, drawn uniformly from the range [0,range).
 	 * 
-	 * @param range
-	 * @param smplSize
-	 * @return
+	 * @param range the range
+	 * @param smplSize sample size
+	 * @return sorted array of integers
 	 */
 	private int[] getSortedUniformSample(int range, int smplSize) {
 		if (smplSize == 0)
@@ -381,11 +351,11 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	 * M. Charikar, S. Chaudhuri, R. Motwani, and V. R. Narasayya, Towards
 	 * estimation error guarantees for distinct values, PODS'00.
 	 * 
-	 * @param nRows
-	 * @param sampleSize
+	 * @param nRows number of rows
+	 * @param sampleSize sample size
 	 * @param sampleRowsReader
-	 *            : a reader for the sampled rows
-	 * @return
+	 *             a reader for the sampled rows
+	 * @return error estimator
 	 */
 	@SuppressWarnings("unused")
 	private static int guaranteedErrorEstimator(int nRows, int sampleSize,
@@ -409,10 +379,10 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	 * Sampling-Based Estimation of the Number of Distinct Values of an
 	 * Attribute. VLDB'95, Section 3.2.
 	 * 
-	 * @param nRows
-	 * @param sampleSize
-	 * @param sampleRowsReader
-	 * @return
+	 * @param nRows number of rows
+	 * @param sampleSize sample size
+	 * @param sampleRowsReader reader
+	 * @return estimator
 	 */
 	@SuppressWarnings("unused")
 	private static int shlosserEstimator(int nRows, int sampleSize,
@@ -422,14 +392,6 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 				getValCounts(sampleRowsReader));
 	}
 
-	/**
-	 * 
-	 * @param nRows
-	 * @param sampleSize
-	 * @param sampleRowsReader
-	 * @param valsCount
-	 * @return
-	 */
 	private static int shlosserEstimator(int nRows, int sampleSize,
 			ReaderColumnSelection sampleRowsReader,
 			HashMap<DblArray, Integer> valsCount) 
@@ -455,10 +417,10 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	 * Sampling-Based Estimation of the Number of Distinct Values of an
 	 * Attribute. VLDB'95, Section 4.3.
 	 * 
-	 * @param nRows
-	 * @param sampleSize
-	 * @param sampleRowsReader
-	 * @return
+	 * @param nRows number of rows
+	 * @param sampleSize sample size
+	 * @param sampleRowsReader row reader
+	 * @return estimator
 	 */
 	@SuppressWarnings("unused")
 	private static int smoothedJackknifeEstimator(int nRows, int sampleSize,
@@ -468,14 +430,6 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 				getValCounts(sampleRowsReader));
 	}
 
-	/**
-	 * 
-	 * @param nRows
-	 * @param sampleSize
-	 * @param sampleRowsReader
-	 * @param valsCount
-	 * @return
-	 */
 	private static int smoothedJackknifeEstimator(int nRows, int sampleSize,
 			ReaderColumnSelection sampleRowsReader,
 			HashMap<DblArray, Integer> valsCount) 
@@ -559,10 +513,10 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	 * Sampling-Based Estimation of the Number of Distinct Values of an
 	 * Attribute. VLDB'95, Section 5.2, recommended estimator by the authors
 	 * 
-	 * @param nRows
-	 * @param sampleSize
-	 * @param sampleRowsReader
-	 * @return
+	 * @param nRows number of rows
+	 * @param sampleSize sampel size
+	 * @param sampleRowsReader row reader
+	 * @return estimator
 	 */
 	@SuppressWarnings("unused")
 	private static int shlosserJackknifeEstimator(int nRows, int sampleSize,
@@ -611,10 +565,10 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 	 * 
 	 * The hybrid estimator given by Eq. 33 in Section 6
 	 * 
-	 * @param nRows
-	 * @param sampleSize
-	 * @param sampleRowsReader
-	 * @return
+	 * @param nRows number of rows
+	 * @param sampleSize sample size
+	 * @param sampleRowsReader row reader
+	 * @return estimator
 	 */
 	private static int haasAndStokes(int nRows, int sampleSize,
 			ReaderColumnSelection sampleRowsReader) 
@@ -720,11 +674,6 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 		return estimate < 1 ? 1 : estimate;
 	}
 
-	/**
-	 * 
-	 * @param sampleRowsReader
-	 * @return
-	 */
 	private static HashMap<DblArray, Integer> getValCounts(
 			ReaderColumnSelection sampleRowsReader) 
 	{
@@ -741,11 +690,6 @@ public class CompressedSizeEstimatorSample extends CompressedSizeEstimator
 		return valsCount;
 	}
 
-	/**
-	 * 
-	 * @param valsCount
-	 * @return
-	 */
 	private static int[] getFreqCounts(HashMap<DblArray, Integer> valsCount) 
 	{
 		int maxCount = 0;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/estim/SizeEstimatorFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/estim/SizeEstimatorFactory.java b/src/main/java/org/apache/sysml/runtime/compress/estim/SizeEstimatorFactory.java
index f857b5b..c142103 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/estim/SizeEstimatorFactory.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/estim/SizeEstimatorFactory.java
@@ -24,13 +24,7 @@ import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 public class SizeEstimatorFactory 
 {
 	public static final float SAMPLING_RATIO = 0.01f; //conservative default
-	
-	/**
-	 * 
-	 * @param data
-	 * @param numRows
-	 * @return
-	 */
+
 	@SuppressWarnings("unused")
 	public static CompressedSizeEstimator getSizeEstimator(MatrixBlock data, int numRows) {
 		return (SAMPLING_RATIO == 1.0) ?

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java b/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
index 68c60ba..f4d9f1c 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
@@ -35,8 +35,8 @@ public class ConverterUtils
 	 * Copy col group instance with deep copy of column indices but
 	 * shallow copy of actual contents;
 	 * 
-	 * @param group
-	 * @return
+	 * @param group column group
+	 * @return column group (deep copy of indices but shallow copy of contents)
 	 */
 	public static ColGroup copyColGroup(ColGroup group)
 	{
@@ -63,12 +63,7 @@ public class ConverterUtils
 		
 		return ret;
 	}
-	
-	/**
-	 * 
-	 * @param vector
-	 * @return
-	 */
+
 	public static double[] getDenseVector( MatrixBlock vector )
 	{
 		if( vector.isInSparseFormat() )
@@ -76,12 +71,7 @@ public class ConverterUtils
 		else 
 			return vector.getDenseBlock();
 	}
-	
-	/**
-	 * 
-	 * @param group
-	 * @return
-	 */
+
 	public static MatrixBlock getUncompressedColBlock( ColGroup group )
 	{
 		MatrixBlock ret = null;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArray.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArray.java b/src/main/java/org/apache/sysml/runtime/compress/utils/DblArray.java
index 4e23037..74fae8b 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArray.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/DblArray.java
@@ -68,11 +68,6 @@ public class DblArray
 		return Arrays.toString(_arr);
 	}
 
-	/**
-	 * 
-	 * @param ds
-	 * @return
-	 */
 	public static boolean isZero(double[] ds) {
 		for (int i = 0; i < ds.length; i++)
 			if (ds[i] != 0.0)
@@ -80,11 +75,6 @@ public class DblArray
 		return true;
 	}
 
-	/**
-	 * 
-	 * @param val
-	 * @return
-	 */
 	public static boolean isZero(DblArray val) {
 		return val._zero || isZero(val._arr);
 	}

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java b/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
index dd5bbe7..7b39039 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
@@ -23,7 +23,7 @@ import java.util.ArrayList;
 
 /**
  * This class provides a memory-efficient replacement for
- * HashMap<DblArray,IntArrayList> for restricted use cases.
+ * {@code HashMap<DblArray,IntArrayList>} for restricted use cases.
  * 
  */
 public class DblArrayIntListHashMap 
@@ -40,19 +40,10 @@ public class DblArrayIntListHashMap
 		_size = 0;
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public int size() {
 		return _size;
 	}
 
-	/**
-	 * 
-	 * @param key
-	 * @return
-	 */
 	public IntArrayList get(DblArray key) {
 		// probe for early abort
 		if( _size == 0 )
@@ -72,11 +63,6 @@ public class DblArrayIntListHashMap
 		return null;
 	}
 
-	/**
-	 * 
-	 * @param key
-	 * @param value
-	 */
 	public void appendValue(DblArray key, IntArrayList value) {
 		// compute entry index position
 		int hash = hash(key);
@@ -93,10 +79,6 @@ public class DblArrayIntListHashMap
 			resize();
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public ArrayList<DArrayIListEntry> extractValues() {
 		ArrayList<DArrayIListEntry> ret = new ArrayList<DArrayIListEntry>();
 		for( DArrayIListEntry e : _data ) {
@@ -112,9 +94,6 @@ public class DblArrayIntListHashMap
 		return ret;
 	}
 
-	/**
-     * 
-     */
 	private void resize() {
 		// check for integer overflow on resize
 		if( _data.length > Integer.MAX_VALUE / RESIZE_FACTOR )
@@ -137,11 +116,6 @@ public class DblArrayIntListHashMap
 		}
 	}
 
-	/**
-	 * 
-	 * @param key
-	 * @return
-	 */
 	private static int hash(DblArray key) {
 		int h = key.hashCode();
 
@@ -152,19 +126,10 @@ public class DblArrayIntListHashMap
 		return h ^ (h >>> 7) ^ (h >>> 4);
 	}
 
-	/**
-	 * 
-	 * @param h
-	 * @param length
-	 * @return
-	 */
 	private static int indexFor(int h, int length) {
 		return h & (length - 1);
 	}
 
-	/**
-	 *
-	 */
 	public class DArrayIListEntry {
 		public DblArray key;
 		public IntArrayList value;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java b/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
index 8424d11..639b785 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
@@ -23,7 +23,7 @@ import java.util.ArrayList;
 
 /**
  * This class provides a memory-efficient replacement for
- * HashMap<Double,IntArrayList> for restricted use cases.
+ * {@code HashMap<Double,IntArrayList>} for restricted use cases.
  * 
  */
 public class DoubleIntListHashMap 
@@ -40,19 +40,10 @@ public class DoubleIntListHashMap
 		_size = 0;
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public int size() {
 		return _size;
 	}
 
-	/**
-	 * 
-	 * @param key
-	 * @return
-	 */
 	public IntArrayList get(double key) {
 		// probe for early abort
 		if( _size == 0 )
@@ -72,11 +63,6 @@ public class DoubleIntListHashMap
 		return null;
 	}
 
-	/**
-	 * 
-	 * @param key
-	 * @param value
-	 */
 	public void appendValue(double key, IntArrayList value) {
 		// compute entry index position
 		int hash = hash(key);
@@ -93,10 +79,6 @@ public class DoubleIntListHashMap
 			resize();
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public ArrayList<DIListEntry> extractValues() {
 		ArrayList<DIListEntry> ret = new ArrayList<DIListEntry>();
 		for( DIListEntry e : _data ) {
@@ -112,9 +94,6 @@ public class DoubleIntListHashMap
 		return ret;
 	}
 
-	/**
-     * 
-     */
 	private void resize() {
 		// check for integer overflow on resize
 		if( _data.length > Integer.MAX_VALUE / RESIZE_FACTOR )
@@ -137,11 +116,6 @@ public class DoubleIntListHashMap
 		}
 	}
 
-	/**
-	 * 
-	 * @param key
-	 * @return
-	 */
 	private static int hash(double key) {
 		// basic double hash code (w/o object creation)
 		long bits = Double.doubleToRawLongBits(key);
@@ -154,19 +128,10 @@ public class DoubleIntListHashMap
 		return h ^ (h >>> 7) ^ (h >>> 4);
 	}
 
-	/**
-	 * 
-	 * @param h
-	 * @param length
-	 * @return
-	 */
 	private static int indexFor(int h, int length) {
 		return h & (length - 1);
 	}
 
-	/**
-	 *
-	 */
 	public class DIListEntry {
 		public double key = Double.MAX_VALUE;
 		public IntArrayList value = null;

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java b/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
index 33455a2..ef4d476 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
@@ -22,7 +22,7 @@ package org.apache.sysml.runtime.compress.utils;
 import java.util.Arrays;
 
 /**
- * This class provides a memory-efficient replacement for ArrayList<Integer> for
+ * This class provides a memory-efficient replacement for {@code ArrayList<Integer>} for
  * restricted use cases.
  * 
  */
@@ -40,18 +40,10 @@ public class IntArrayList
 		_size = 0;
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public int size() {
 		return _size;
 	}
 
-	/**
-	 * 
-	 * @param value
-	 */
 	public void appendValue(int value) {
 		// embedded value (no array allocation)
 		if( _size == 0 ) {
@@ -74,10 +66,6 @@ public class IntArrayList
 		_size++;
 	}
 
-	/**
-	 * 
-	 * @return
-	 */
 	public int[] extractValues() {
 		if( _size == 1 )
 			return new int[] { _val0 };
@@ -85,9 +73,6 @@ public class IntArrayList
 			return Arrays.copyOfRange(_data, 0, _size);
 	}
 
-	/**
-	 * 
-	 */
 	private void resize() {
 		// check for integer overflow on resize
 		if( _data.length > Integer.MAX_VALUE / RESIZE_FACTOR )

http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/56e45f1a/src/main/java/org/apache/sysml/runtime/compress/utils/LinearAlgebraUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/LinearAlgebraUtils.java b/src/main/java/org/apache/sysml/runtime/compress/utils/LinearAlgebraUtils.java
index 70e776a..7a4a013 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/LinearAlgebraUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/LinearAlgebraUtils.java
@@ -28,13 +28,6 @@ import org.apache.sysml.runtime.matrix.data.MatrixBlock;
  */
 public class LinearAlgebraUtils {
 
-	/**
-	 * 
-	 * @param a
-	 * @param b
-	 * @param len
-	 * @return
-	 */
 	public static double dotProduct(double[] a, double[] b, final int len) 
 	{
 		double val = 0;
@@ -61,16 +54,7 @@ public class LinearAlgebraUtils {
 		// scalar result
 		return val;
 	}
-	
-	/**
-	 * 
-	 * @param a
-	 * @param b
-	 * @param ai
-	 * @param bi
-	 * @param len
-	 * @return
-	 */
+
 	public static double dotProduct( double[] a, double[] b, int ai, int bi, final int len )
 	{
 		double val = 0;
@@ -98,15 +82,7 @@ public class LinearAlgebraUtils {
 		//scalar result
 		return val; 
 	}
-	
-	/**
-	 * 
-	 * @param a
-	 * @param c
-	 * @param ai
-	 * @param ci
-	 * @param len
-	 */
+
 	public static void vectAdd( double[] a, double[] c, int ai, int ci, final int len )
 	{
 		final int bn = len%8;
@@ -131,16 +107,7 @@ public class LinearAlgebraUtils {
 			c[ ci+7 ] += a[ ai+7 ];
 		}
 	}
-	
-	/**
-	 * 
-	 * @param aval
-	 * @param b
-	 * @param c
-	 * @param bix
-	 * @param ci
-	 * @param len
-	 */
+
 	public static void vectAdd( final double aval, double[] c, char[] bix, final int bi, final int ci, final int len )
 	{
 		final int bn = len%8;
@@ -162,14 +129,7 @@ public class LinearAlgebraUtils {
 			c[ ci+bix[j+7] ] += aval;
 		}
 	}
-	
-	/**
-	 * 
-	 * @param aval
-	 * @param c
-	 * @param ci
-	 * @param len
-	 */
+
 	public static void vectAdd( final double aval, double[] c, final int ci, final int len )
 	{
 		final int bn = len%8;
@@ -191,17 +151,7 @@ public class LinearAlgebraUtils {
 			c[ ci+j+7 ] += aval;
 		}
 	}
-	
-	/**
-	 * 
-	 * @param aval
-	 * @param b
-	 * @param c
-	 * @param bix
-	 * @param bi
-	 * @param ci
-	 * @param len
-	 */
+
 	public static void vectMultiplyAdd( final double aval, double[] b, double[] c, int[] bix, final int bi, final int ci, final int len )
 	{
 		final int bn = (len-bi)%8;
@@ -223,16 +173,7 @@ public class LinearAlgebraUtils {
 			c[ ci+bix[j+7] ] += aval * b[ j+7 ];
 		}
 	}
-	
-	/**
-	 * 
-	 * @param aval
-	 * @param b
-	 * @param c
-	 * @param bi
-	 * @param ci
-	 * @param len
-	 */
+
 	public static void vectMultiplyAdd( final double aval, double[] b, double[] c, int bi, int ci, final int len )
 	{
 		final int bn = len%8;
@@ -258,15 +199,6 @@ public class LinearAlgebraUtils {
 		}
 	}
 
-	/**
-	 * 
-	 * @param a
-	 * @param aix
-	 * @param ai
-	 * @param ai2
-	 * @param len
-	 * @return
-	 */
 	public static double vectSum( double[] a, char[] bix, final int ai, final int bi, final int len )
 	{
 		double val = 0;
@@ -291,14 +223,7 @@ public class LinearAlgebraUtils {
 		
 		return val;
 	}
-	
-	/**
-	 * 
-	 * @param a
-	 * @param ai
-	 * @param len
-	 * @return
-	 */
+
 	public static double vectSum( double[] a, int ai, final int len )
 	{
 		double val = 0;
@@ -323,11 +248,7 @@ public class LinearAlgebraUtils {
 		
 		return val;
 	}
-	
-	/**
-	 * 
-	 * @param ret
-	 */
+
 	public static void copyUpperToLowerTriangle( MatrixBlock ret )
 	{
 		double[] c = ret.getDenseBlock();
@@ -339,13 +260,7 @@ public class LinearAlgebraUtils {
 			for( int j=i+1, lix=j*n+i; j<n; j++, lix+=n )
 				c[ lix ] = c[ uix+j ];
 	}
-	
-	/**
-	 * 
-	 * @param ret
-	 * @param tmp
-	 * @param ix
-	 */
+
 	public static void copyNonZerosToRowCol( MatrixBlock ret, MatrixBlock tmp, int ix )
 	{
 		for(int i=0; i<tmp.getNumColumns(); i++) {
@@ -358,9 +273,10 @@ public class LinearAlgebraUtils {
 	}
 	
 	/**
+	 * Obtain the index of the closest element in a to the value x.
 	 * 
-	 * @param a
-	 * @param x
+	 * @param a array of ints
+	 * @param x value
 	 * @return the index of the closest element in a to the value x
 	 */
 	public static int getClosestK(int[] a, int x) {