cern.colt.matrix.tfloat.impl.SparseRCMFloatMatrix2D Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of parallelcolt Show documentation
Show all versions of parallelcolt Show documentation
Parallel Colt is a multithreaded version of Colt - a library for high performance scientific computing in Java. It contains efficient algorithms for data analysis, linear algebra, multi-dimensional arrays, Fourier transforms, statistics and histogramming.
The newest version!
package cern.colt.matrix.tfloat.impl;
import cern.colt.matrix.tfloat.FloatMatrix2D;
/**
* Sparse row-compressed-modified 2-d matrix holding float elements.
* Each row is stored as SparseFloatMatrix1D.
*
* @author Piotr Wendykier ([email protected])
*
*/
public class SparseRCMFloatMatrix2D extends WrapperFloatMatrix2D {
private static final long serialVersionUID = 1L;
private SparseFloatMatrix1D[] elements;
/**
* Constructs a matrix with a given number of rows and columns. All entries
* are initially 0.
*
* @param rows
* the number of rows the matrix shall have.
* @param columns
* the number of columns the matrix shall have.
* @throws IllegalArgumentException
* if
* rows<0 || columns<0 || (double)columns*rows > Integer.MAX_VALUE
* .
*/
public SparseRCMFloatMatrix2D(int rows, int columns) {
super(null);
try {
setUp(rows, columns);
} catch (IllegalArgumentException exc) { // we can hold rows*columns>Integer.MAX_VALUE cells !
if (!"matrix too large".equals(exc.getMessage()))
throw exc;
}
elements = new SparseFloatMatrix1D[rows];
for (int i = 0; i < rows; ++i)
elements[i] = new SparseFloatMatrix1D(columns);
}
public SparseFloatMatrix1D[] elements() {
return elements;
}
public float getQuick(int row, int column) {
return elements[row].getQuick(column);
}
public void setQuick(int row, int column, float value) {
elements[row].setQuick(column, value);
}
public void trimToSize() {
for (int r = 0; r < rows; r++) {
elements[r].trimToSize();
}
}
public SparseFloatMatrix1D viewRow(int row) {
return elements[row];
}
protected FloatMatrix2D getContent() {
return this;
}
public FloatMatrix2D like(int rows, int columns) {
return new SparseRCMFloatMatrix2D(rows, columns);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy