private boolean[] computeZeroIndicatorVector() throws DMLRuntimeException {
  boolean[] ret=new boolean[_numRows];
  final int blksz=BitmapEncoder.BITMAP_BLOCK_SZ;
  final int numVals=getNumValues();
  Arrays.fill(ret,true);
  for (int k=0; k < numVals; k++) {
    int boff=_ptr[k];
    int blen=len(k);
    int off=0;
    int slen;
    for (int bix=0; bix < blen; bix+=slen + 1, off+=blksz) {
      slen=_data[boff + bix];
      for (int i=1; i <= slen; i++) {
        ret[off + _data[boff + bix + i]]&=false;
      }
    }
  }
  return ret;
}

private boolean [ ] computeZeroIndicatorVector ( ) throws DMLRuntimeException { boolean [ ] ret = new boolean [ _numRows ] ; final int blksz = BitmapEncoder . BITMAP_BLOCK_SZ ; final int numVals = getNumValues ( ) ; Arrays . fill ( ret , true ) ; for ( int k = 0 ; k < numVals ; k ++ ) { int boff = _ptr [ k ] ; int blen = len ( k ) ; int off = 0 ; int slen ; for ( int bix = 0 ; bix < blen ; bix += slen + 1 , off += blksz ) { slen = _data [ boff + bix ] ; for ( int i = 1 ; i <= slen ; i ++ ) { ret [ off + _data [ boff + bix + i ] ] &= false ; } } } return ret ; }
utility function of sparse - unsafe operations .
