class DenseMatrix extends Matrix {

  @Override
  protected final void forEach(final ElementVisitorFunction func) {
    for (int i = 0; i < this.getRowCount(); ++i) {
      for (int j = 0; j < this.getColumnCount(); ++j) {
        final SetWrapper setWrapper = new SetWrapper(i, j);
        func.visit(i, j, this.getAtUnchecked(i, j), setWrapper);
      }
    }
  }

  public  DenseMatrix(final int rows, final int cols);
  public  DenseMatrix(final int rows, final int cols, final double[] values);

}