protected void cleanup() throws IOException { try { if (qSolver == null && yLookahead.isEmpty()) { return; } if (qSolver == null) { qSolver = new GivensThinSolver(yLookahead.size(), kp); } // grow q solver up if necessary qSolver.adjust(qSolver.getCnt() + yLookahead.size()); while (!yLookahead.isEmpty()) { qSolver.appendRow(yLookahead.remove(0)); } assert qSolver.isFull(); if (++blockCnt > 1) { flushSolver(); assert tempQw != null; closeables.remove(tempQw); Closeables.close(tempQw, false); } flushQBlocks(); } finally { IOUtils.close(closeables); } }
protected void cleanup() throws IOException { try { if (qSolver == null && yLookahead.isEmpty()) { return; } if (qSolver == null) { qSolver = new GivensThinSolver(yLookahead.size(), kp); } // grow q solver up if necessary qSolver.adjust(qSolver.getCnt() + yLookahead.size()); while (!yLookahead.isEmpty()) { qSolver.appendRow(yLookahead.remove(0)); } assert qSolver.isFull(); if (++blockCnt > 1) { flushSolver(); assert tempQw != null; closeables.remove(tempQw); Closeables.close(tempQw, false); } flushQBlocks(); } finally { IOUtils.close(closeables); } }
protected void cleanup() throws IOException { try { if (qSolver == null && yLookahead.isEmpty()) { return; } if (qSolver == null) { qSolver = new GivensThinSolver(yLookahead.size(), kp); } // grow q solver up if necessary qSolver.adjust(qSolver.getCnt() + yLookahead.size()); while (!yLookahead.isEmpty()) { qSolver.appendRow(yLookahead.remove(0)); } assert qSolver.isFull(); if (++blockCnt > 1) { flushSolver(); assert tempQw != null; closeables.remove(tempQw); Closeables.close(tempQw, false); } flushQBlocks(); } finally { IOUtils.close(closeables); } }
protected void map(Vector incomingYRow) throws IOException { double[] yRow; if (yLookahead.size() == kp) { if (qSolver.isFull()) { flushSolver(); blockCnt++; } yRow = yLookahead.remove(0); qSolver.appendRow(yRow); } else { yRow = new double[kp]; } if (incomingYRow.isDense()) { for (int i = 0; i < kp; i++) { yRow[i] = incomingYRow.get(i); } } else { Arrays.fill(yRow, 0); for (Element yEl : incomingYRow.nonZeroes()) { yRow[yEl.index()] = yEl.get(); } } yLookahead.add(yRow); }
protected void map(Vector incomingYRow) throws IOException { double[] yRow; if (yLookahead.size() == kp) { if (qSolver.isFull()) { flushSolver(); blockCnt++; } yRow = yLookahead.remove(0); qSolver.appendRow(yRow); } else { yRow = new double[kp]; } if (incomingYRow.isDense()) { for (int i = 0; i < kp; i++) { yRow[i] = incomingYRow.get(i); } } else { Arrays.fill(yRow, 0); for (Element yEl : incomingYRow.nonZeroes()) { yRow[yEl.index()] = yEl.get(); } } yLookahead.add(yRow); }
protected void map(Vector incomingYRow) throws IOException { double[] yRow; if (yLookahead.size() == kp) { if (qSolver.isFull()) { flushSolver(); blockCnt++; } yRow = yLookahead.remove(0); qSolver.appendRow(yRow); } else { yRow = new double[kp]; } if (incomingYRow.isDense()) { for (int i = 0; i < kp; i++) { yRow[i] = incomingYRow.get(i); } } else { Arrays.fill(yRow, 0); for (Element yEl : incomingYRow.nonZeroes()) { yRow[yEl.index()] = yEl.get(); } } yLookahead.add(yRow); }