docs: public static void multRowsCols( double []diagA , int offsetA ,
                                       DMatrixSparseCSC B ,
                                       double []diagC , int offsetC )
      {
          if( diagA.length+offsetA < B.numRows )
              throw new IllegalArgumentException("diagA is too small.");
          if( diagC.length+offsetC < B.numCols )
              throw new IllegalArgumentException("diagA is too small.");
  
          for (int i = 0; i < B.numCols; i++) {
              int idx0 = B.col_idx[i];
              int idx1 = B.col_idx[i+1];
  
              double c = diagC[offsetC+i];
              for (int j = idx0; j < idx1; j++) {
                  B.nz_values[j] *= c*diagA[offsetA+B.nz_rows[j]];
              }
          }
      }