code: public <E extends Exception> void updateAll(final Try.IntBiFunction<Long, E> func) throws E {
          if (isParallelable()) {
              if (rows <= cols) {
                  IntStream.range(0, rows).parallel().forEach(new Try.IntConsumer<E>() {
                      @Override
                      public void accept(final int i) throws E {
                          for (int j = 0; j < cols; j++) {
                              a[i][j] = func.apply(i, j);
                          }
                      }
                  });
              } else {
                  IntStream.range(0, cols).parallel().forEach(new Try.IntConsumer<E>() {
                      @Override
                      public void accept(final int j) throws E {
                          for (int i = 0; i < rows; i++) {
                              a[i][j] = func.apply(i, j);
                          }
                      }
                  });
              }
          } else {
              if (rows <= cols) {
                  for (int i = 0; i < rows; i++) {
                      for (int j = 0; j < cols; j++) {
                          a[i][j] = func.apply(i, j);
                      }
                  }
              } else {
                  for (int j = 0; j < cols; j++) {
                      for (int i = 0; i < rows; i++) {
                          a[i][j] = func.apply(i, j);
                      }
                  }
              }
          }
      }
docs: Update all elements based on points
  
  @param func