/** * Reads in a DenseMatrix64F from the IO stream. * @return DenseMatrix64F * @throws IOException If anything goes wrong. */ public DenseMatrix64F read() throws IOException { List<String> words = extractWords(); if( words.size() != 2 ) throw new IOException("Unexpected number of words on first line."); int numRows = Integer.parseInt(words.get(0)); int numCols = Integer.parseInt(words.get(1)); if( numRows < 0 || numCols < 0) throw new IOException("Invalid number of rows and/or columns: "+numRows+" "+numCols); return read(numRows,numCols); }
/** * Reads in a DenseMatrix64F from the IO stream. * @return DenseMatrix64F * @throws IOException If anything goes wrong. */ public DenseMatrix64F read() throws IOException { List<String> words = extractWords(); if( words.size() != 2 ) throw new IOException("Unexpected number of words on first line."); int numRows = Integer.parseInt(words.get(0)); int numCols = Integer.parseInt(words.get(1)); if( numRows < 0 || numCols < 0) throw new IOException("Invalid number of rows and/or columns: "+numRows+" "+numCols); return read(numRows,numCols); }
private FMatrixSparseTriplet readFSTR(int numRows, int numCols, int length) throws IOException { List<String> words; FMatrixSparseTriplet m = new FMatrixSparseTriplet(numRows,numCols,length); for (int i = 0; i < length; i++) { words = extractWords(); if( words.size() != 3 ) throw new IllegalArgumentException("Unexpected number of words on line "+getLineNumber()); int row = Integer.parseInt(words.get(0)); int col = Integer.parseInt(words.get(1)); float value = Float.parseFloat(words.get(2)); m.addItem(row,col,value); } return m; }
private DMatrixSparseTriplet readDSTR(int numRows, int numCols, int length) throws IOException { List<String> words; DMatrixSparseTriplet m = new DMatrixSparseTriplet(numRows,numCols,length); for (int i = 0; i < length; i++) { words = extractWords(); if( words.size() != 3 ) throw new IllegalArgumentException("Unexpected number of words on line "+getLineNumber()); int row = Integer.parseInt(words.get(0)); int col = Integer.parseInt(words.get(1)); double value = Double.parseDouble(words.get(2)); m.addItem(row,col,value); } return m; } }
/** * Reads in a DenseMatrix64F from the IO stream where the user specifies the matrix dimensions. * * @param numRows Number of rows in the matrix * @param numCols Number of columns in the matrix * @return DenseMatrix64F * @throws IOException */ public DenseMatrix64F read( int numRows , int numCols ) throws IOException { DenseMatrix64F A = new DenseMatrix64F(numRows,numCols); for( int i = 0; i < numRows; i++ ) { List<String> words = extractWords(); if( words == null ) throw new IOException("Too few rows found. expected "+numRows+" actual "+i); if( words.size() != numCols ) throw new IOException("Unexpected number of words in column. Found "+words.size()+" expected "+numCols); for( int j = 0; j < numCols; j++ ) { A.set(i,j,Double.parseDouble(words.get(j))); } } return A; } }
/** * Reads in a {@link FMatrixRMaj} from the IO stream where the user specifies the matrix dimensions. * * @param numRows Number of rows in the matrix * @param numCols Number of columns in the matrix * @return FMatrixRMaj * @throws IOException */ public FMatrixRMaj readFDRM(int numRows, int numCols) throws IOException { FMatrixRMaj A = new FMatrixRMaj(numRows,numCols); for( int i = 0; i < numRows; i++ ) { List<String> words = extractWords(); if( words == null ) throw new IOException("Too few rows found. expected "+numRows+" actual "+i); if( words.size() != numCols ) throw new IOException("Unexpected number of words in column. Found "+words.size()+" expected "+numCols); for( int j = 0; j < numCols; j++ ) { A.set(i,j,Float.parseFloat(words.get(j))); } } return A; }
/** * Reads in a DenseMatrix64F from the IO stream where the user specifies the matrix dimensions. * * @param numRows Number of rows in the matrix * @param numCols Number of columns in the matrix * @return DenseMatrix64F * @throws IOException */ public DenseMatrix64F read( int numRows , int numCols ) throws IOException { DenseMatrix64F A = new DenseMatrix64F(numRows,numCols); for( int i = 0; i < numRows; i++ ) { List<String> words = extractWords(); if( words == null ) throw new IOException("Too few rows found. expected "+numRows+" actual "+i); if( words.size() != numCols ) throw new IOException("Unexpected number of words in column. Found "+words.size()+" expected "+numCols); for( int j = 0; j < numCols; j++ ) { A.set(i,j,Double.parseDouble(words.get(j))); } } return A; } }
/** * Reads in a {@link CMatrixRMaj} from the IO stream where the user specifies the matrix dimensions. * * @param numRows Number of rows in the matrix * @param numCols Number of columns in the matrix * @return CMatrixRMaj * @throws IOException */ public CMatrixRMaj readCDRM(int numRows, int numCols) throws IOException { CMatrixRMaj A = new CMatrixRMaj(numRows,numCols); int wordsCol = numCols*2; for( int i = 0; i < numRows; i++ ) { List<String> words = extractWords(); if( words == null ) throw new IOException("Too few rows found. expected "+numRows+" actual "+i); if( words.size() != wordsCol ) throw new IOException("Unexpected number of words in column. Found "+words.size()+" expected "+wordsCol); for( int j = 0; j < wordsCol; j += 2 ) { float real = Float.parseFloat(words.get(j)); float imaginary = Float.parseFloat(words.get(j+1)); A.set(i, j, real, imaginary); } } return A; }
/** * Reads in a {@link DMatrixRMaj} from the IO stream where the user specifies the matrix dimensions. * * @param numRows Number of rows in the matrix * @param numCols Number of columns in the matrix * @return DMatrixRMaj * @throws IOException */ public DMatrixRMaj readDDRM(int numRows, int numCols) throws IOException { DMatrixRMaj A = new DMatrixRMaj(numRows,numCols); for( int i = 0; i < numRows; i++ ) { List<String> words = extractWords(); if( words == null ) throw new IOException("Too few rows found. expected "+numRows+" actual "+i); if( words.size() != numCols ) throw new IOException("Unexpected number of words in column. Found "+words.size()+" expected "+numCols); for( int j = 0; j < numCols; j++ ) { A.set(i,j,Double.parseDouble(words.get(j))); } } return A; }
/** * Reads in a {@link ZMatrixRMaj} from the IO stream where the user specifies the matrix dimensions. * * @param numRows Number of rows in the matrix * @param numCols Number of columns in the matrix * @return ZMatrixRMaj * @throws IOException */ public ZMatrixRMaj readZDRM(int numRows, int numCols) throws IOException { ZMatrixRMaj A = new ZMatrixRMaj(numRows,numCols); int wordsCol = numCols*2; for( int i = 0; i < numRows; i++ ) { List<String> words = extractWords(); if( words == null ) throw new IOException("Too few rows found. expected "+numRows+" actual "+i); if( words.size() != wordsCol ) throw new IOException("Unexpected number of words in column. Found "+words.size()+" expected "+wordsCol); for( int j = 0; j < wordsCol; j += 2 ) { double real = Double.parseDouble(words.get(j)); double imaginary = Double.parseDouble(words.get(j+1)); A.set(i, j, real, imaginary); } } return A; }
List<String> words = extractWords();
List<String> words = extractWords();