protected void computeColMxx(MatrixBlock result,Builtin builtin){
  final int numVals=getNumValues();
  final int numCols=getNumCols();
  double[] vals=new double[numCols];
  Arrays.fill(vals,Double.MAX_VALUE * ((builtin.getBuiltinCode() == BuiltinCode.MAX) ? -1 : 1));
  if (_zeros) {
    for (int j=0; j < numCols; j++)     vals[j]=builtin.execute2(vals[j],0);
  }
  for (int k=0; k < numVals; k++)   for (int j=0, valOff=k * numCols; j < numCols; j++)   vals[j]=builtin.execute2(vals[j],_values[valOff + j]);
  for (int j=0; j < numCols; j++)   result.quickSetValue(0,_colIndexes[j],vals[j]);
}

protected void computeColMxx ( MatrixBlock result , Builtin builtin ) { final int numVals = getNumValues ( ) ; final int numCols = getNumCols ( ) ; double [ ] vals = new double [ numCols ] ; Arrays . fill ( vals , Double . MAX_VALUE * ( ( builtin . getBuiltinCode ( ) == BuiltinCode . MAX ) ? - 1 : 1 ) ) ; if ( _zeros ) { for ( int j = 0 ; j < numCols ; j ++ ) vals [ j ] = builtin . execute2 ( vals [ j ] , 0 ) ; } for ( int k = 0 ; k < numVals ; k ++ ) for ( int j = 0 , valOff = k * numCols ; j < numCols ; j ++ ) vals [ j ] = builtin . execute2 ( vals [ j ] , _values [ valOff + j ] ) ; for ( int j = 0 ; j < numCols ; j ++ ) result . quickSetValue ( 0 , _colIndexes [ j ] , vals [ j ] ) ; }
note : shared across ole / rle because value - only computation .
